https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62148
--- Comment #5 from aron at cohesity dot com --- Created attachment 33335 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33335&action=edit Preprocessed source for g++-bug.cc For convenience, I'm also attaching the file preprocessed.cc that is produced by running 'g++ -Wall -E g++-bug.cc > preprocessed.cc'. Again, if you try to issue 'g++ -Wall -c preprocessed.cc', it'll not catch the signed/unsigned comparison in method Hello. The offending statement at line 13096 of preprocessed.cc is the cause of the problem. This is: # 3 "g++-bug.cc" 3 4 As soon as the above line is removed, g++ will emit a warning when preprocessed.cc is compiled.