[Bug c++/63157] may_alias doesn't work as expected in template nested types

2014-09-04 Thread haynberg at sig dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63157 --- Comment #2 from haynberg at sig dot com --- I recently read your old PR about placement new - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286. Is using placement new also a means to prevent strict-aliasing optimizations here? I don’t

[Bug c++/63157] New: may_alias doesn't work as expected in template nested types

2014-09-03 Thread haynberg at sig dot com
ormal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: haynberg at sig dot com Basically, I want to build with strict aliasing enabled however I'd like a way to *programmatically* prevent strict aliasing optimizations if needed.

[Bug c++/62143] New: unlimited number of class name qualifiers allowed

2014-08-14 Thread haynberg at sig dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: haynberg at sig dot com I'm not sure if this is a bug or allowed by the standard. Either way, it's strange this is allowed. $ cat t.cpp #include using namespace std; struct X { void foo(); }; // an unlimi

[Bug c++/59705] New: possible compiler bug regarding SFINAE (program compiles fine)

2014-01-06 Thread haynberg at sig dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: haynberg at sig dot com The last two lines of output should be the same ("has iterator") but, for some reason, GCC requires the member function to be qualified for the non-variadic