[clang] [C11] Diagnose C11 keywords as being incompatible w/earlier standards (PR #82015)
    Aaron Ballman via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Fri Feb 16 10:13:08 PST 2024
    
    
  
================
@@ -2742,6 +2742,19 @@ bool Parser::parseMisplacedModuleImport() {
   return false;
 }
 
+void Parser::diagnoseUseOfC11Keyword(const Token& Tok) {
+  // Warn that this is a C11 extension if in an older mode or if in C++.
+  // Otherwise, warn that it is incompatible with standards before C11 if in
+  // C11 or later.
+  unsigned DiagId;
+  if (!getLangOpts().C11) {
+    DiagId = diag::ext_c11_feature;
+  } else {
+    DiagId = diag::warn_c11_compat_keyword;
+  }
+  Diag(Tok, DiagId) << Tok.getName();
----------------
AaronBallman wrote:
Done
https://github.com/llvm/llvm-project/pull/82015
    
    
More information about the cfe-commits
mailing list