[PATCH] D108567: Implement #pragma clang final extension

2021-11-11 Thread Chris Bieneman via Phabricator via cfe-commits
beanz added a comment. In D108567#3110925 , @sberg wrote: > does not produce any warnings/errors for me and indicates that NULL silently > gets redefined as a null pointer constant in stddef.h. Is that intended? Nope, that's a bug. Fixed in 3e7ad1f2b2c

[PATCH] D108567: Implement #pragma clang final extension

2021-11-05 Thread Stephan Bergmann via Phabricator via cfe-commits
sberg added a comment. > Final macros will always warn on redefinition, including situations with > identical bodies and in system headers. But #define NULL syntax error #pragma clang final(NULL) #include void * p = NULL; does not produce any warnings/errors for me and indicates that

[PATCH] D108567: Implement #pragma clang final extension

2021-09-27 Thread Chris Bieneman via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1e48ef20358f: Implement #pragma clang final extension (authored by beanz). Changed prior to commit: https://reviews.llvm.org/D108567?vs=374377&id=

[PATCH] D108567: Implement #pragma clang final extension

2021-09-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. This LGTM, but please wait a bit before landing in case @rsmith has concerns. Comment at: clang/test/Lexer/final-macro.c:14 +// expected-warning@+2{{macro 'Foo'

[PATCH] D108567: Implement #pragma clang final extension

2021-09-22 Thread Chris Bieneman via Phabricator via cfe-commits
beanz updated this revision to Diff 374377. beanz added a comment. Updates based on feedback from @aaron.ballman. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D108567/new/ https://reviews.llvm.org/D108567 Files: clang/docs/LanguageExtensions.rst

[PATCH] D108567: Implement #pragma clang final extension

2021-09-22 Thread Chris Bieneman via Phabricator via cfe-commits
beanz marked 3 inline comments as done and an inline comment as not done. beanz added a comment. Will push updates in a second. Comment at: clang/test/Lexer/final-macro.c:14 +// expected-warning@+2{{macro 'Foo' has been marked as final and should not be redefined}} +// expecte

[PATCH] D108567: Implement #pragma clang final extension

2021-09-22 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/docs/LanguageExtensions.rst:3979 + #undef FINAL_MACRO // warning: FINAL_MACRO is marked final and should not be undefined + #define FINAL_MACRO // warning: FINAL_MACRO is marked final and should not be redefined +

[PATCH] D108567: Implement #pragma clang final extension

2021-09-15 Thread Chris Bieneman via Phabricator via cfe-commits
beanz updated this revision to Diff 372862. beanz added a comment. Updates based on feedback from @aaron.ballman. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D108567/new/ https://reviews.llvm.org/D108567 Files: clang/docs/LanguageExtensions.rst

[PATCH] D108567: Implement #pragma clang final extension

2021-09-15 Thread Chris Bieneman via Phabricator via cfe-commits
beanz added inline comments. Comment at: clang/docs/LanguageExtensions.rst:3968-3984 +Final Macros + + +Clang supports the pragma ``#pragma clang final``, which can be used to +mark macros as final, meaning they cannot be undef'd or re-defined. For example: + +.. cod

[PATCH] D108567: Implement #pragma clang final extension

2021-09-08 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/docs/LanguageExtensions.rst:3968-3984 +Final Macros + + +Clang supports the pragma ``#pragma clang final``, which can be used to +mark macros as final, meaning they cannot be undef'd or re-defined. For example: +

[PATCH] D108567: Implement #pragma clang final extension

2021-08-23 Thread Chris Bieneman via Phabricator via cfe-commits
beanz created this revision. beanz added reviewers: aaron.ballman, rsmith, lgerbarg, pete, lebedev.ri, dexonsmith. beanz requested review of this revision. Herald added a project: clang. This patch adds a new preprocessor extension ``#pragma clang final`` which enables warning on undefinition and