I believe the Wshadow warnings occur when you pass a call to one of the macros 
as an argument to another macro. This causes the same variable name to occur in 
the inner and outer macro expansion. This occurs regardless of any underscores.

I'm guessing it requires save-temps to expose it because clang is probably 
smart enough to suppress the warning when macro expansion and compiling are 
done together. But with save-temps, compiling happens on the file written out 
by the preprocessor so clang doesn't know about the macro anymore.

This can prevented if you don't create intermediate variables inside the macro.


http://reviews.llvm.org/D8088

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to