rsmith added a comment. > In this version of the patch, I am supporting the feature in all C and C++ > modes. This seems like more useful functionality than diagnosing an unknown > preprocessor directive in older language modes, and is a conforming extension > in those modes anyway as use of an unknown directive is undefined behavior.
Is this really true? I think: #define X #if 0 #elifdef X #error #endif ... is a valid translation unit in C++ and is strictly conforming in C11 and earlier; any //conditionally-supported-directive// (using the C++ terminology) within a //group// is ignored when skipping that //group//. That said... applying this to all language modes does seem like the right choice, even though it may be technically non-conforming. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101192/new/ https://reviews.llvm.org/D101192 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits