Scratch that, apparently it fixed itself after I removed the build directory and restarted the bot. Sorry about the noise.
Diana On 7 September 2016 at 11:10, Diana Picus <diana.pi...@linaro.org> wrote: > Hi Nico, > > One of our thumb bots [1] is having issues building lately and it > looks like it might be related to one of the commits in this series. > Could you please have a look? > > Thanks, > Diana > > [1] > http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-a15/builds/15286/steps/build%20stage%201/logs/stdio > > On 3 September 2016 at 05:55, Nico Weber via cfe-commits > <cfe-commits@lists.llvm.org> wrote: >> Author: nico >> Date: Fri Sep 2 21:55:10 2016 >> New Revision: 280575 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=280575&view=rev >> Log: >> Add plumbing for new attribute type "Microsoft". >> >> This is for attributes in []-delimited lists preceding a class, like e.g. >> `[uuid("...")] class Foo {};` Not used by anything yet, so no behavior >> change. >> Part of https://reviews.llvm.org/D23895 >> >> Modified: >> cfe/trunk/include/clang/Basic/Attributes.h >> cfe/trunk/include/clang/Sema/AttributeList.h >> cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp >> >> Modified: cfe/trunk/include/clang/Basic/Attributes.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attributes.h?rev=280575&r1=280574&r2=280575&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Basic/Attributes.h (original) >> +++ cfe/trunk/include/clang/Basic/Attributes.h Fri Sep 2 21:55:10 2016 >> @@ -22,6 +22,8 @@ enum class AttrSyntax { >> GNU, >> /// Is the identifier known as a __declspec-style attribute? >> Declspec, >> + /// Is the identifier known as a [] Microsoft-style attribute? >> + Microsoft, >> // Is the identifier known as a C++-style attribute? >> CXX, >> // Is the identifier known as a pragma attribute? >> >> Modified: cfe/trunk/include/clang/Sema/AttributeList.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/AttributeList.h?rev=280575&r1=280574&r2=280575&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Sema/AttributeList.h (original) >> +++ cfe/trunk/include/clang/Sema/AttributeList.h Fri Sep 2 21:55:10 2016 >> @@ -101,12 +101,14 @@ public: >> AS_CXX11, >> /// __declspec(...) >> AS_Declspec, >> + /// [uuid("...")] class Foo >> + AS_Microsoft, >> /// __ptr16, alignas(...), etc. >> AS_Keyword, >> /// Context-sensitive version of a keyword attribute. >> AS_ContextSensitiveKeyword, >> /// #pragma ... >> - AS_Pragma >> + AS_Pragma, >> }; >> >> private: >> @@ -369,6 +371,7 @@ public: >> } >> >> bool isDeclspecAttribute() const { return SyntaxUsed == AS_Declspec; } >> + bool isMicrosoftAttribute() const { return SyntaxUsed == AS_Microsoft; } >> bool isCXX11Attribute() const { >> return SyntaxUsed == AS_CXX11 || isAlignasAttribute(); >> } >> >> Modified: cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp?rev=280575&r1=280574&r2=280575&view=diff >> ============================================================================== >> --- cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp (original) >> +++ cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp Fri Sep 2 21:55:10 2016 >> @@ -1312,6 +1312,9 @@ writePrettyPrintFunction(Record &R, >> } else if (Variety == "Declspec") { >> Prefix = " __declspec("; >> Suffix = ")"; >> + } else if (Variety == "Microsoft") { >> + Prefix = "["; >> + Suffix = "]"; >> } else if (Variety == "Keyword") { >> Prefix = " "; >> Suffix = ""; >> @@ -2295,7 +2298,7 @@ void EmitClangAttrHasAttrImpl(RecordKeep >> // Separate all of the attributes out into four group: generic, C++11, >> GNU, >> // and declspecs. Then generate a big switch statement for each of them. >> std::vector<Record *> Attrs = Records.getAllDerivedDefinitions("Attr"); >> - std::vector<Record *> Declspec, GNU, Pragma; >> + std::vector<Record *> Declspec, Microsoft, GNU, Pragma; >> std::map<std::string, std::vector<Record *>> CXX; >> >> // Walk over the list of all attributes, and split them out based on the >> @@ -2308,6 +2311,8 @@ void EmitClangAttrHasAttrImpl(RecordKeep >> GNU.push_back(R); >> else if (Variety == "Declspec") >> Declspec.push_back(R); >> + else if (Variety == "Microsoft") >> + Microsoft.push_back(R); >> else if (Variety == "CXX11") >> CXX[SI.nameSpace()].push_back(R); >> else if (Variety == "Pragma") >> @@ -2323,6 +2328,9 @@ void EmitClangAttrHasAttrImpl(RecordKeep >> OS << "case AttrSyntax::Declspec:\n"; >> OS << " return llvm::StringSwitch<int>(Name)\n"; >> GenerateHasAttrSpellingStringSwitch(Declspec, OS, "Declspec"); >> + OS << "case AttrSyntax::Microsoft:\n"; >> + OS << " return llvm::StringSwitch<int>(Name)\n"; >> + GenerateHasAttrSpellingStringSwitch(Microsoft, OS, "Microsoft"); >> OS << "case AttrSyntax::Pragma:\n"; >> OS << " return llvm::StringSwitch<int>(Name)\n"; >> GenerateHasAttrSpellingStringSwitch(Pragma, OS, "Pragma"); >> @@ -2361,8 +2369,9 @@ void EmitClangAttrSpellingListIndex(Reco >> .Case("GNU", 0) >> .Case("CXX11", 1) >> .Case("Declspec", 2) >> - .Case("Keyword", 3) >> - .Case("Pragma", 4) >> + .Case("Microsoft", 3) >> + .Case("Keyword", 4) >> + .Case("Pragma", 5) >> .Default(0) >> << " && Scope == \"" << Spellings[I].nameSpace() << "\")\n" >> << " return " << I << ";\n"; >> @@ -2984,7 +2993,8 @@ void EmitClangAttrParsedAttrKinds(Record >> emitSourceFileHeader("Attribute name matcher", OS); >> >> std::vector<Record *> Attrs = Records.getAllDerivedDefinitions("Attr"); >> - std::vector<StringMatcher::StringPair> GNU, Declspec, CXX11, Keywords, >> Pragma; >> + std::vector<StringMatcher::StringPair> GNU, Declspec, Microsoft, CXX11, >> + Keywords, Pragma; >> std::set<std::string> Seen; >> for (const auto *A : Attrs) { >> const Record &Attr = *A; >> @@ -3026,6 +3036,8 @@ void EmitClangAttrParsedAttrKinds(Record >> Matches = &GNU; >> else if (Variety == "Declspec") >> Matches = &Declspec; >> + else if (Variety == "Microsoft") >> + Matches = &Microsoft; >> else if (Variety == "Keyword") >> Matches = &Keywords; >> else if (Variety == "Pragma") >> @@ -3050,6 +3062,8 @@ void EmitClangAttrParsedAttrKinds(Record >> StringMatcher("Name", GNU, OS).Emit(); >> OS << " } else if (AttributeList::AS_Declspec == Syntax) {\n"; >> StringMatcher("Name", Declspec, OS).Emit(); >> + OS << " } else if (AttributeList::AS_Microsoft == Syntax) {\n"; >> + StringMatcher("Name", Microsoft, OS).Emit(); >> OS << " } else if (AttributeList::AS_CXX11 == Syntax) {\n"; >> StringMatcher("Name", CXX11, OS).Emit(); >> OS << " } else if (AttributeList::AS_Keyword == Syntax || "; >> @@ -3133,8 +3147,9 @@ enum SpellingKind { >> GNU = 1 << 0, >> CXX11 = 1 << 1, >> Declspec = 1 << 2, >> - Keyword = 1 << 3, >> - Pragma = 1 << 4 >> + Microsoft = 1 << 3, >> + Keyword = 1 << 4, >> + Pragma = 1 << 5 >> }; >> >> static void WriteDocumentation(const DocumentationData &Doc, >> @@ -3182,6 +3197,7 @@ static void WriteDocumentation(const Doc >> .Case("GNU", GNU) >> .Case("CXX11", CXX11) >> .Case("Declspec", Declspec) >> + .Case("Microsoft", Microsoft) >> .Case("Keyword", Keyword) >> .Case("Pragma", Pragma); >> >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits