ARMAttributesSema() { }
bool ProcessDeclAttribute(Scope *scope, Decl *D,
const AttributeList &Attr, Sema &S) const {
- if (Attr.getName()->getName() == "interrupt") {
+ if (Attr.getKind() == AttributeList::AT_ARMInterrupt) {
HandleARMInterruptAttr(D, Attr, S);
return true;
}
// Currently, the dllimport attribute is ignored for inlined functions.
// Warning is emitted.
if (FD && FD->isInlineSpecified()) {
- S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "dllimport";
+ S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << Attr.getName();
return;
}
// the -fkeep-inline-functions flag has been used. Warning is emitted;
if (FD && FD->isInlineSpecified()) {
// FIXME: ... unless the -fkeep-inline-functions flag has been used.
- S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << "dllexport";
+ S.Diag(Attr.getLoc(), diag::warn_attribute_ignored) << Attr.getName();
return;
}
MipsAttributesSema() { }
bool ProcessDeclAttribute(Scope *scope, Decl *D, const AttributeList &Attr,
Sema &S) const {
- if (Attr.getName()->getName() == "mips16") {
+ if (Attr.getKind() == AttributeList::AT_Mips16) {
HandleMips16Attr(D, Attr, S);
return true;
- } else if (Attr.getName()->getName() == "nomips16") {
+ } else if (Attr.getKind() == AttributeList::AT_NoMips16) {
HandleNoMips16Attr(D, Attr, S);
return true;
}
// RUN: %clang_cc1 -triple i386-mingw32 -fsyntax-only -verify %s
// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -verify %s
-inline void __attribute__((dllexport)) foo1(){} // expected-warning{{dllexport attribute ignored}}
-inline void __attribute__((dllimport)) foo2(){} // expected-warning{{dllimport attribute ignored}}
+inline void __attribute__((dllexport)) foo1(){} // expected-warning{{'dllexport' attribute ignored}}
+inline void __attribute__((dllimport)) foo2(){} // expected-warning{{'dllimport' attribute ignored}}
void __attribute__((dllimport)) foo3(){} // expected-error{{dllimport attribute can be applied only to symbol declaration}}
void foo6(){} // expected-warning {{'foo6' redeclared without dllimport attribute: previous dllimport ignored}}
// PR6269
-inline void __declspec(dllexport) foo7(){} // expected-warning{{dllexport attribute ignored}}
-inline void __declspec(dllimport) foo8(){} // expected-warning{{dllimport attribute ignored}}
+inline void __declspec(dllexport) foo7(){} // expected-warning{{'dllexport' attribute ignored}}
+inline void __declspec(dllimport) foo8(){} // expected-warning{{'dllimport' attribute ignored}}
void __declspec(dllimport) foo9(){} // expected-error{{dllimport attribute can be applied only to symbol declaration}}