[Bug libstdc++/57513] New: std::regex_token_iterator fails to link
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57513 Bug ID: 57513 Summary: std::regex_token_iterator fails to link Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: andy at aligature dot com Created attachment 30251 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30251&action=edit test code file Any code using std::regex_token_iterator fails to link with gcc-4.8.1. See the attached code sample. ./gcc-4.8.1/bin/g++ -std=c++11 -Wl,-rpath ./gcc-4.8.1/lib64 regex.cpp -o regex /tmp/ccmknhZw.o: In function `main': regex.cpp:(.text+0x10): undefined reference to `std::regex_token_iterator<__gnu_cxx::__normal_iterator, char, std::regex_traits >::regex_token_iterator()' collect2: error: ld returned 1 exit status
[Bug c++/52521] [C++11] user defined literals and order of declaration
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52521 Andy Webber changed: What|Removed |Added CC||andy at aligature dot com --- Comment #6 from Andy Webber 2012-03-16 19:23:18 UTC --- I've been playing around with a gcc 4.7.0 RC2 build and it seems like the user defined literals might not be working at all now. Building: #include #include constexpr long double operator"" _degrees(long double d) { return d * 0.0175; } int main() { long double pi = 180_degrees; std::cout << pi << std::endl; } Result: literal.cpp: In function ‘int main()’: literal.cpp:11:21: error: unable to find numeric literal operator ‘operator"" _degrees’
[Bug c++/52521] [C++11] user defined literals and order of declaration
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52521 --- Comment #8 from Andy Webber 2012-03-16 20:06:52 UTC --- Ah, that fixes it. It could be good to update the release notes to match. Thanks to Ed Smith-Rowland, G++ now implements C++11 user-defined literals. // Not actually a good approximation. :) constexpr long double operator"" _degrees (long double d) { return d * 0.0175; } long double pi = 180_degrees; long double pi = 180.0_degrees;