[cfe-commits] r69618 - in /cfe/trunk: clang.xcodeproj/project.pbxproj include/clang/AST/Attr.h include/clang/Basic/DiagnosticSemaKinds.td include/clang/Parse/AttributeList.h lib/CodeGen/CodeGenModule.cpp lib/Frontend/PCHReader.cpp lib/Frontend/PCHWriter.cpp lib/Parse/AttributeList.cpp lib/Sema/SemaDeclAttr.cpp test/CodeGen/inline.c test/Sema/function.c

Chris Lattner sabre at nondot.org
Mon Apr 20 12:12:29 PDT 2009


Author: lattner
Date: Mon Apr 20 14:12:28 2009
New Revision: 69618

URL: http://llvm.org/viewvc/llvm-project?rev=69618&view=rev
Log:
the __gnuc_inline__ attribute is actually named __gnu_inline__,
PR4023

Modified:
    cfe/trunk/clang.xcodeproj/project.pbxproj
    cfe/trunk/include/clang/AST/Attr.h
    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
    cfe/trunk/include/clang/Parse/AttributeList.h
    cfe/trunk/lib/CodeGen/CodeGenModule.cpp
    cfe/trunk/lib/Frontend/PCHReader.cpp
    cfe/trunk/lib/Frontend/PCHWriter.cpp
    cfe/trunk/lib/Parse/AttributeList.cpp
    cfe/trunk/lib/Sema/SemaDeclAttr.cpp
    cfe/trunk/test/CodeGen/inline.c
    cfe/trunk/test/Sema/function.c

Modified: cfe/trunk/clang.xcodeproj/project.pbxproj
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/clang.xcodeproj/project.pbxproj?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/clang.xcodeproj/project.pbxproj (original)
+++ cfe/trunk/clang.xcodeproj/project.pbxproj Mon Apr 20 14:12:28 2009
@@ -1091,9 +1091,6 @@
 		DEC8D98B0A9433BC00353FCA /* AST */ = {
 			isa = PBXGroup;
 			children = (
-				90FB99DE0F98FB1D008F9415 /* DeclContextInternals.h */,
-				90FB99DF0F98FB1D008F9415 /* DeclVisitor.h */,
-				90FB99E00F98FB1D008F9415 /* ExternalASTSource.h */,
 				DE613EF30E0E148D00B05B79 /* APValue.h */,
 				DEC8D9A30A94346E00353FCA /* AST.h */,
 				35BFBD2B0C9EDE1E006CB644 /* ASTConsumer.h */,
@@ -1102,6 +1099,9 @@
 				1A72BEAC0D641E9400B085E9 /* Attr.h */,
 				DED676D00B6C786700AAD4A3 /* Builtins.def */,
 				DED676F90B6C797B00AAD4A3 /* Builtins.h */,
+				90FB99DE0F98FB1D008F9415 /* DeclContextInternals.h */,
+				90FB99DF0F98FB1D008F9415 /* DeclVisitor.h */,
+				90FB99E00F98FB1D008F9415 /* ExternalASTSource.h */,
 				1A68BC110D0CADDD001A28C8 /* PPCBuiltins.def */,
 				1A68BC130D0CADDD001A28C8 /* X86Builtins.def */,
 				DEC63B1B0C7B940600DBF169 /* CFG.h */,

Modified: cfe/trunk/include/clang/AST/Attr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Attr.h?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/Attr.h (original)
+++ cfe/trunk/include/clang/AST/Attr.h Mon Apr 20 14:12:28 2009
@@ -42,7 +42,7 @@
     Destructor,
     FastCall,    
     Format,
-    GNUCInline,
+    GNUInline,
     IBOutletKind, // Clang-specific.  Use "Kind" suffix to not conflict with
     NoReturn,
     NoThrow,
@@ -222,13 +222,13 @@
 };  
     
   
-class GNUCInlineAttr : public Attr {
+class GNUInlineAttr : public Attr {
 public:
-  GNUCInlineAttr() : Attr(GNUCInline) {}
+  GNUInlineAttr() : Attr(GNUInline) {}
   
   // Implement isa/cast/dyncast/etc.
-  static bool classof(const Attr *A) { return A->getKind() == GNUCInline; }
-  static bool classof(const GNUCInlineAttr *A) { return true; }
+  static bool classof(const Attr *A) { return A->getKind() == GNUInline; }
+  static bool classof(const GNUInlineAttr *A) { return true; }
 };
 
 class IBOutletAttr : public Attr {

Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon Apr 20 14:12:28 2009
@@ -411,11 +411,11 @@
 def warn_attribute_wrong_decl_type : Warning<
   "'%0' attribute only applies to %select{function|union|"
   "variable and function|function or method}1 types">;
-def warn_gnuc_inline_attribute_requires_inline : Warning<
-  "'gnuc_inline' attribute requires function to be marked 'inline',"
+def warn_gnu_inline_attribute_requires_inline : Warning<
+  "'gnu_inline' attribute requires function to be marked 'inline',"
   " attribute ignored">;
-def warn_gnuc_inline_attribute_extern_inline : Warning<
- "'gnuc_inline' attribute is overridden by 'extern inline', attribute ignored">;
+def warn_gnu_inline_attribute_extern_inline : Warning<
+ "'gnu_inline' attribute is overridden by 'extern inline', attribute ignored">;
 
 def warn_attribute_ignored_for_field_of_type : Warning<
   "%0 attribute ignored for field of type %1">;

Modified: cfe/trunk/include/clang/Parse/AttributeList.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/AttributeList.h?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/include/clang/Parse/AttributeList.h (original)
+++ cfe/trunk/include/clang/Parse/AttributeList.h Mon Apr 20 14:12:28 2009
@@ -66,7 +66,7 @@
     AT_ext_vector_type,
     AT_fastcall,
     AT_format,
-    AT_gnuc_inline,
+    AT_gnu_inline,
     AT_mode,
     AT_nodebug,
     AT_noinline,

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Mon Apr 20 14:12:28 2009
@@ -240,7 +240,7 @@
   
   // If the inline function explicitly has the GNU inline attribute on it, then
   // force to GNUC semantics (which is strong external), regardless of language.
-  if (FD->hasAttr<GNUCInlineAttr>())
+  if (FD->hasAttr<GNUInlineAttr>())
     return CodeGenModule::GVA_StrongExternal;
 
   // The definition of inline changes based on the language.  Note that we

Modified: cfe/trunk/lib/Frontend/PCHReader.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHReader.cpp?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/PCHReader.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHReader.cpp Mon Apr 20 14:12:28 2009
@@ -2186,7 +2186,7 @@
       break;
     }
 
-    SIMPLE_ATTR(GNUCInline);
+    SIMPLE_ATTR(GNUInline);
     
     case Attr::IBOutletKind:
       New = ::new (Context) IBOutletAttr();

Modified: cfe/trunk/lib/Frontend/PCHWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHWriter.cpp?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/PCHWriter.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHWriter.cpp Mon Apr 20 14:12:28 2009
@@ -1696,7 +1696,7 @@
       break;
     }
 
-    case Attr::GNUCInline:
+    case Attr::GNUInline:
     case Attr::IBOutletKind:
     case Attr::NoReturn:
     case Attr::NoThrow:

Modified: cfe/trunk/lib/Parse/AttributeList.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/AttributeList.cpp?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/lib/Parse/AttributeList.cpp (original)
+++ cfe/trunk/lib/Parse/AttributeList.cpp Mon Apr 20 14:12:28 2009
@@ -105,13 +105,13 @@
     if (!memcmp(Str, "destructor", 10)) return AT_destructor;
     if (!memcmp(Str, "format_arg", 10))
       return IgnoredAttribute; // FIXME: printf format string checking.
+    if (!memcmp(Str, "gnu_inline", 10)) return AT_gnu_inline;
     break;
   case 11:
     if (!memcmp(Str, "weak_import", 11)) return AT_weak_import;
     if (!memcmp(Str, "vector_size", 11)) return AT_vector_size;
     if (!memcmp(Str, "constructor", 11)) return AT_constructor;
     if (!memcmp(Str, "unavailable", 11)) return AT_unavailable;
-    if (!memcmp(Str, "gnuc_inline", 11)) return AT_gnuc_inline;
     break;
   case 12:
     if (!memcmp(Str, "overloadable", 12)) return AT_overloadable;

Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclAttr.cpp?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Mon Apr 20 14:12:28 2009
@@ -1455,7 +1455,7 @@
   d->addAttr(::new (S.Context) NoinlineAttr());
 }
 
-static void HandleGNUCInlineAttr(Decl *d, const AttributeList &Attr, Sema &S) {
+static void HandleGNUInlineAttr(Decl *d, const AttributeList &Attr, Sema &S) {
   // check the attribute arguments.
   if (Attr.getNumArgs() != 0) {
     S.Diag(Attr.getLoc(), diag::err_attribute_wrong_number_arguments) << 0;
@@ -1465,21 +1465,21 @@
   FunctionDecl *Fn = dyn_cast<FunctionDecl>(d);
   if (Fn == 0) {
     S.Diag(Attr.getLoc(), diag::warn_attribute_wrong_decl_type)
-      << "gnuc_inline" << 0 /*function*/;
+      << "gnu_inline" << 0 /*function*/;
     return;
   }
   
   if (!Fn->isInline()) {
-    S.Diag(Attr.getLoc(), diag::warn_gnuc_inline_attribute_requires_inline);
+    S.Diag(Attr.getLoc(), diag::warn_gnu_inline_attribute_requires_inline);
     return;
   }
   
   if (Fn->getStorageClass() == FunctionDecl::Extern) {
-    S.Diag(Attr.getLoc(), diag::warn_gnuc_inline_attribute_extern_inline);
+    S.Diag(Attr.getLoc(), diag::warn_gnu_inline_attribute_extern_inline);
     return;
   }
   
-  d->addAttr(::new (S.Context) GNUCInlineAttr());
+  d->addAttr(::new (S.Context) GNUInlineAttr());
 }
 
 static void HandleRegparmAttr(Decl *d, const AttributeList &Attr, Sema &S) {
@@ -1549,7 +1549,7 @@
     break;
   case AttributeList::AT_fastcall:    HandleFastCallAttr  (D, Attr, S); break;
   case AttributeList::AT_format:      HandleFormatAttr    (D, Attr, S); break;
-  case AttributeList::AT_gnuc_inline: HandleGNUCInlineAttr(D, Attr, S); break;
+  case AttributeList::AT_gnu_inline:  HandleGNUInlineAttr(D, Attr, S); break;
   case AttributeList::AT_mode:        HandleModeAttr      (D, Attr, S); break;
   case AttributeList::AT_nonnull:     HandleNonNullAttr   (D, Attr, S); break;
   case AttributeList::AT_noreturn:    HandleNoReturnAttr  (D, Attr, S); break;

Modified: cfe/trunk/test/CodeGen/inline.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/inline.c?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/test/CodeGen/inline.c (original)
+++ cfe/trunk/test/CodeGen/inline.c Mon Apr 20 14:12:28 2009
@@ -36,4 +36,4 @@
 inline void unreferenced1() {}
 extern inline void unreferenced2() {}
 
-__inline __attribute((__gnuc_inline__)) void gnu_inline() {}
+__inline __attribute((__gnu_inline__)) void gnu_inline() {}

Modified: cfe/trunk/test/Sema/function.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/function.c?rev=69618&r1=69617&r2=69618&view=diff

==============================================================================
--- cfe/trunk/test/Sema/function.c (original)
+++ cfe/trunk/test/Sema/function.c Mon Apr 20 14:12:28 2009
@@ -64,11 +64,11 @@
 
 
 extern __inline
-__attribute__((__gnuc_inline__))  // expected-warning{{'gnuc_inline' attribute is overridden by 'extern inline', attribute ignored}} expected-warning{{extension used}}
+__attribute__((__gnu_inline__))  // expected-warning{{'gnu_inline' attribute is overridden by 'extern inline', attribute ignored}} expected-warning{{extension used}}
 void gnu_inline1() {}
 
 void
-__attribute__((__gnuc_inline__)) // expected-warning {{'gnuc_inline' attribute requires function to be marked 'inline', attribute ignored}} expected-warning{{extension used}}
+__attribute__((__gnu_inline__)) // expected-warning {{'gnu_inline' attribute requires function to be marked 'inline', attribute ignored}} expected-warning{{extension used}}
 gnu_inline2() {}
 
 





More information about the cfe-commits mailing list