This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[libstdc++][PATCH] missing return statement in basic_regex::assign(basic_regex&&)


the header file  <bits/regex.h> of libstdc++-v3 of gcc-4.9 is missing
return statement in the implementation of
basic_regex::assign(basic_regex&&). This is about line 619. The minimal
example to reproduce this bug is the following:

#include <regex>
int main()
  std::regex re;
  return EXIT_SUCCESS;

When compiled with clang and run it produces SIGILL:

ptomulik@tea:$ clang++ -std=c++11 -g -O0 -o test test.cpp
ptomulik@tea:$ ./test

I attach patch created with git against the "gcc-4_9_2-release" tag.

Best regards.

PaweÅ Tomulik, tel. (22) 234 7925
Instytut Techniki Lotniczej i Mechaniki Stosowanej
Politechnika Warszawska

diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index fe10ceb..af5a414 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
 	_M_original_str = std::move(__rhs._M_original_str);
+	return *this;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]