hintonda added a comment. Actually, this will never work correctly -- in fact, raw lexing will always be problematic. Consider:
void foo() #if !__has_feature(cxx_noexcept) throw(std::bad_alloc) #endif {} In this case we *could* figure out if __has_feature(cxx_noexcept) evaluated to true or false, but what if it was a macro instead? We can't reliably handle it without reparsing the whole thing. I'll leave it as is for now, but once http://reviews.llvm.org/D20428 is available, I'll start a new diff using it. http://reviews.llvm.org/D18575 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits