jyknight added inline comments.

================
Comment at: clang/lib/Headers/stdnoreturn.h:19
+/* The noreturn macro is deprecated in C2x. */
+#pragma clang deprecated(noreturn)
+
----------------
Is this actually useful? Isn't it sufficient to have the include-time warning 
for this header?


================
Comment at: clang/lib/Headers/stdnoreturn.h:22
+/* Including the header file in C2x is also deprecated. */
+#warning "the '<stdnoreturn.h>' header is deprecated in C2x"
+#endif
----------------
Would be nice to mention the solution, as well. E.g.

"The '<stdnoreturn.h>' header has been deprecated in C2x: including it no 
longer necessary in order to use 'noreturn'. "


================
Comment at: clang/test/Sema/c2x-noreturn.c:41-43
+[[noreturn]] void func6(void); // all-warning {{the '[[_Noreturn]]' attribute 
spelling is deprecated in C2x; use '[[noreturn]]' instead}} \
+                               // c2x-warning {{macro 'noreturn' has been 
marked as deprecated}} \
+                               // c2x-note@stdnoreturn.h:* {{macro marked 
'deprecated' here}}
----------------
If you've written [[noreturn]] in your code, you're doing the right thing 
already. Why bother emitting a warning? The problem that should be corrected is 
at the point of inclusion of stdnoreturn.h, not the spelling here.

I'd suggest only warning about "[[_Noreturn]]" if the user actually //wrote// 
it like that, and not when it's expanded from the "noreturn" macro.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119707/new/

https://reviews.llvm.org/D119707

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to