aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-20 19:12:28 +0000
committerChris Lattner <sabre@nondot.org>2009-04-20 19:12:28 +0000
commitcf2a7211b4785068c7efa836baab90b198a4d2a6 (patch)
tree44b79c137e5b35c2f938af8911480d280fae8589
parent5994d31a8c613c8902324b5ea2ec09ee7024d14a (diff)
the __gnuc_inline__ attribute is actually named __gnu_inline__,
PR4023 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69618 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--clang.xcodeproj/project.pbxproj6
-rw-r--r--include/clang/AST/Attr.h10
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td8
-rw-r--r--include/clang/Parse/AttributeList.h2
-rw-r--r--lib/CodeGen/CodeGenModule.cpp2
-rw-r--r--lib/Frontend/PCHReader.cpp2
-rw-r--r--lib/Frontend/PCHWriter.cpp2
-rw-r--r--lib/Parse/AttributeList.cpp2
-rw-r--r--lib/Sema/SemaDeclAttr.cpp12
-rw-r--r--test/CodeGen/inline.c2
-rw-r--r--test/Sema/function.c4
11 files changed, 26 insertions, 26 deletions
diff --git a/clang.xcodeproj/project.pbxproj b/clang.xcodeproj/project.pbxproj
index 1c298911a0..746f1a4ddf 100644
--- a/clang.xcodeproj/project.pbxproj
+++ b/clang.xcodeproj/project.pbxproj
@@ -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 */,
diff --git a/include/clang/AST/Attr.h b/include/clang/AST/Attr.h
index d8054de602..085b51c5ca 100644
--- a/include/clang/AST/Attr.h
+++ b/include/clang/AST/Attr.h
@@ -42,7 +42,7 @@ public:
Destructor,
FastCall,
Format,
- GNUCInline,
+ GNUInline,
IBOutletKind, // Clang-specific. Use "Kind" suffix to not conflict with
NoReturn,
NoThrow,
@@ -222,13 +222,13 @@ public:
};
-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 {
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index b9639f0aea..28a97f8763 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -411,11 +411,11 @@ def warn_attribute_weak_import_invalid_on_definition : Warning<
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">;
diff --git a/include/clang/Parse/AttributeList.h b/include/clang/Parse/AttributeList.h
index 9111d6dd5b..1e94a71a64 100644
--- a/include/clang/Parse/AttributeList.h
+++ b/include/clang/Parse/AttributeList.h
@@ -66,7 +66,7 @@ public:
AT_ext_vector_type,
AT_fastcall,
AT_format,
- AT_gnuc_inline,
+ AT_gnu_inline,
AT_mode,
AT_nodebug,
AT_noinline,
diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp
index 1a52ba2ab1..0526e7845c 100644
--- a/lib/CodeGen/CodeGenModule.cpp
+++ b/lib/CodeGen/CodeGenModule.cpp
@@ -240,7 +240,7 @@ GetLinkageForFunction(const FunctionDecl *FD, const LangOptions &Features) {
// 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
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp
index 391937b923..3975747b52 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -2186,7 +2186,7 @@ Attr *PCHReader::ReadAttributes() {
break;
}
- SIMPLE_ATTR(GNUCInline);
+ SIMPLE_ATTR(GNUInline);
case Attr::IBOutletKind:
New = ::new (Context) IBOutletAttr();
diff --git a/lib/Frontend/PCHWriter.cpp b/lib/Frontend/PCHWriter.cpp
index afe77aebf8..9f6c4c1be0 100644
--- a/lib/Frontend/PCHWriter.cpp
+++ b/lib/Frontend/PCHWriter.cpp
@@ -1696,7 +1696,7 @@ void PCHWriter::WriteAttributeRecord(const Attr *Attr) {
break;
}
- case Attr::GNUCInline:
+ case Attr::GNUInline:
case Attr::IBOutletKind:
case Attr::NoReturn:
case Attr::NoThrow:
diff --git a/lib/Parse/AttributeList.cpp b/lib/Parse/AttributeList.cpp
index b49399e880..5797a15408 100644
--- a/lib/Parse/AttributeList.cpp
+++ b/lib/Parse/AttributeList.cpp
@@ -105,13 +105,13 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
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;
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
index f16d343dd0..290c58ea8a 100644
--- a/lib/Sema/SemaDeclAttr.cpp
+++ b/lib/Sema/SemaDeclAttr.cpp
@@ -1455,7 +1455,7 @@ static void HandleNoinlineAttr(Decl *d, const AttributeList &Attr, Sema &S) {
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 @@ static void HandleGNUCInlineAttr(Decl *d, const AttributeList &Attr, Sema &S) {
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 @@ static void ProcessDeclAttribute(Decl *D, const AttributeList &Attr, Sema &S) {
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;
diff --git a/test/CodeGen/inline.c b/test/CodeGen/inline.c
index 8a28305995..4821988733 100644
--- a/test/CodeGen/inline.c
+++ b/test/CodeGen/inline.c
@@ -36,4 +36,4 @@ int bar() { return foo(); }
inline void unreferenced1() {}
extern inline void unreferenced2() {}
-__inline __attribute((__gnuc_inline__)) void gnu_inline() {}
+__inline __attribute((__gnu_inline__)) void gnu_inline() {}
diff --git a/test/Sema/function.c b/test/Sema/function.c
index 7e5887a277..fa998300fe 100644
--- a/test/Sema/function.c
+++ b/test/Sema/function.c
@@ -64,11 +64,11 @@ struct incomplete_test a(void) {} // expected-error{{incomplete result type 'str
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() {}