https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213
--- Comment #19 from Matheus Izvekov <mizvekov at gmail dot com> --- CWG 1170 is still not correctly implemented as of gcc 4.9.1 The attached test shows just this. Compile it with "g++ -std=c++11 -DPUB=0 test.cc" and "g++ -std=c++11 -DPUB=1 test.cc". The one with PUB=0 should print 'false', while the one with PUB=1 should print 'true'. The test works as expected with clang 3.5.