summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-01-29 22:13:45 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-01-29 22:13:45 +0000
commit35db2b3d4c89343171a52963518b03880432de0c (patch)
treed58e1aae530cabe33a1702e0d16caccbacf7ecfc /clang/lib
parent2c4e00ac1cc8a35cc7631e03a144765d264168e8 (diff)
downloadbcm5719-llvm-35db2b3d4c89343171a52963518b03880432de0c.tar.gz
bcm5719-llvm-35db2b3d4c89343171a52963518b03880432de0c.zip
Consolidating several table-generated files containing parser-related string switches into a single file. This reduces build-related complexity by replacing four separate projects (and table-gen instantiations) with a single one.
No functional changes intended. llvm-svn: 200424
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/CMakeLists.txt5
-rw-r--r--clang/lib/Parse/ParseDecl.cpp16
2 files changed, 13 insertions, 8 deletions
diff --git a/clang/lib/Parse/CMakeLists.txt b/clang/lib/Parse/CMakeLists.txt
index 3b01abf7a2f..924ebff99ac 100644
--- a/clang/lib/Parse/CMakeLists.txt
+++ b/clang/lib/Parse/CMakeLists.txt
@@ -23,17 +23,14 @@ add_clang_library(clangParse
add_dependencies(clangParse
ClangAttrClasses
- ClangAttrIdentifierArg
- ClangAttrLateParsed
+ ClangAttrParserStringSwitches
ClangAttrList
ClangAttrParsedAttrList
- ClangAttrTypeArg
ClangCommentNodes
ClangDeclNodes
ClangDiagnosticCommon
ClangDiagnosticParse
ClangStmtNodes
- ClangAttrArgContext
)
target_link_libraries(clangParse
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index c295c766065..0950ab09b76 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -69,9 +69,11 @@ TypeResult Parser::ParseTypeName(SourceRange *Range,
/// isAttributeLateParsed - Return true if the attribute has arguments that
/// require late parsing.
static bool isAttributeLateParsed(const IdentifierInfo &II) {
+#define CLANG_ATTR_LATE_PARSED_LIST
return llvm::StringSwitch<bool>(II.getName())
-#include "clang/Parse/AttrLateParsed.inc"
+#include "clang/Parse/AttrParserStringSwitches.inc"
.Default(false);
+#undef CLANG_ATTR_LATE_PARSED_LIST
}
/// ParseGNUAttributes - Parse a non-empty attributes list.
@@ -196,24 +198,30 @@ static StringRef normalizeAttrName(StringRef Name) {
/// \brief Determine whether the given attribute has an identifier argument.
static bool attributeHasIdentifierArg(const IdentifierInfo &II) {
+#define CLANG_ATTR_IDENTIFIER_ARG_LIST
return llvm::StringSwitch<bool>(normalizeAttrName(II.getName()))
-#include "clang/Parse/AttrIdentifierArg.inc"
+#include "clang/Parse/AttrParserStringSwitches.inc"
.Default(false);
+#undef CLANG_ATTR_IDENTIFIER_ARG_LIST
}
/// \brief Determine whether the given attribute parses a type argument.
static bool attributeIsTypeArgAttr(const IdentifierInfo &II) {
+#define CLANG_ATTR_TYPE_ARG_LIST
return llvm::StringSwitch<bool>(normalizeAttrName(II.getName()))
-#include "clang/Parse/AttrTypeArg.inc"
+#include "clang/Parse/AttrParserStringSwitches.inc"
.Default(false);
+#undef CLANG_ATTR_TYPE_ARG_LIST
}
/// \brief Determine whether the given attribute requires parsing its arguments
/// in an unevaluated context or not.
static bool attributeParsedArgsUnevaluated(const IdentifierInfo &II) {
+#define CLANG_ATTR_ARG_CONTEXT_LIST
return llvm::StringSwitch<bool>(normalizeAttrName(II.getName()))
-#include "clang/Parse/AttrArgContext.inc"
+#include "clang/Parse/AttrParserStringSwitches.inc"
.Default(false);
+#undef CLANG_ATTR_ARG_CONTEXT_LIST
}
IdentifierLoc *Parser::ParseIdentifierLoc() {
OpenPOWER on IntegriCloud