Use scope qualifiers in Clang's tblgen backends to get useful
redeclaration checking. NFC. llvm-svn: 373406
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
|
||||
#include "llvm/TableGen/Record.h"
|
||||
#include "llvm/TableGen/TableGenBackend.h"
|
||||
#include <cctype>
|
||||
@@ -173,15 +175,14 @@ void ClangASTNodesEmitter::run(raw_ostream &OS) {
|
||||
OS << "#undef ABSTRACT_" << macroName(Root.getName()) << "\n";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
void EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
|
||||
const std::string &N, const std::string &S) {
|
||||
void clang::EmitClangASTNodes(RecordKeeper &RK, raw_ostream &OS,
|
||||
const std::string &N, const std::string &S) {
|
||||
ClangASTNodesEmitter(RK, N, S).run(OS);
|
||||
}
|
||||
|
||||
// Emits and addendum to a .inc file to enumerate the clang declaration
|
||||
// contexts.
|
||||
void EmitClangDeclContext(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangDeclContext(RecordKeeper &Records, raw_ostream &OS) {
|
||||
// FIXME: Find a .td file format to allow for this to be represented better.
|
||||
|
||||
emitSourceFileHeader("List of AST Decl nodes", OS);
|
||||
@@ -225,4 +226,3 @@ void EmitClangDeclContext(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS << "#undef DECL_CONTEXT\n";
|
||||
OS << "#undef DECL_CONTEXT_BASE\n";
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/DenseSet.h"
|
||||
@@ -2219,10 +2221,8 @@ static void emitClangAttrThisIsaIdentifierArgList(RecordKeeper &Records,
|
||||
OS << "#endif // CLANG_ATTR_THIS_ISA_IDENTIFIER_ARG_LIST\n\n";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
|
||||
// Emits the class definitions for attributes.
|
||||
void EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS) {
|
||||
emitSourceFileHeader("Attribute classes' definitions", OS);
|
||||
|
||||
OS << "#ifndef LLVM_CLANG_ATTR_CLASSES_INC\n";
|
||||
@@ -2491,7 +2491,7 @@ void EmitClangAttrClass(RecordKeeper &Records, raw_ostream &OS) {
|
||||
}
|
||||
|
||||
// Emits the class method definitions for attributes.
|
||||
void EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS) {
|
||||
emitSourceFileHeader("Attribute classes' member function definitions", OS);
|
||||
|
||||
std::vector<Record*> Attrs = Records.getAllDerivedDefinitions("Attr");
|
||||
@@ -2556,8 +2556,6 @@ void EmitClangAttrImpl(RecordKeeper &Records, raw_ostream &OS) {
|
||||
EmitFunc("printPretty(OS, Policy)");
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
static void emitAttrList(raw_ostream &OS, StringRef Class,
|
||||
const std::vector<Record*> &AttrList) {
|
||||
for (auto Cur : AttrList) {
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
|
||||
#include "llvm/TableGen/Record.h"
|
||||
#include "llvm/TableGen/StringMatcher.h"
|
||||
#include "llvm/TableGen/TableGenBackend.h"
|
||||
@@ -18,8 +20,7 @@
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace clang {
|
||||
void EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangCommentCommandInfo(RecordKeeper &Records, raw_ostream &OS) {
|
||||
emitSourceFileHeader("A list of commands useable in documentation "
|
||||
"comments", OS);
|
||||
|
||||
@@ -105,7 +106,7 @@ static std::string MangleName(StringRef Str) {
|
||||
return Mangled;
|
||||
}
|
||||
|
||||
void EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS) {
|
||||
emitSourceFileHeader("A list of commands useable in documentation "
|
||||
"comments", OS);
|
||||
|
||||
@@ -121,4 +122,3 @@ void EmitClangCommentCommandList(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS << "COMMENT_COMMAND(" << MangledName << ")\n";
|
||||
}
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/Support/ConvertUTF.h"
|
||||
#include "llvm/TableGen/Error.h"
|
||||
@@ -45,9 +46,8 @@ static bool translateCodePointToUTF8(unsigned CodePoint,
|
||||
return true;
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
void EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records,
|
||||
raw_ostream &OS) {
|
||||
void clang::EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records,
|
||||
raw_ostream &OS) {
|
||||
std::vector<Record *> Tags = Records.getAllDerivedDefinitions("NCR");
|
||||
std::vector<StringMatcher::StringPair> NameToUTF8;
|
||||
SmallString<32> CLiteral;
|
||||
@@ -79,6 +79,3 @@ void EmitClangCommentHTMLNamedCharacterReferences(RecordKeeper &Records,
|
||||
OS << " return StringRef();\n"
|
||||
<< "}\n\n";
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/TableGen/Record.h"
|
||||
#include "llvm/TableGen/TableGenBackend.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace clang {
|
||||
void EmitClangDataCollectors(RecordKeeper &RK, raw_ostream &OS) {
|
||||
void clang::EmitClangDataCollectors(RecordKeeper &RK, raw_ostream &OS) {
|
||||
const auto &Defs = RK.getClasses();
|
||||
for (const auto &Entry : Defs) {
|
||||
Record &R = *Entry.second;
|
||||
@@ -15,4 +15,3 @@ void EmitClangDataCollectors(RecordKeeper &RK, raw_ostream &OS) {
|
||||
}
|
||||
OS << "#undef DEF_ADD_DATA\n";
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/ADT/DenseSet.h"
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/PointerUnion.h"
|
||||
@@ -1187,9 +1188,8 @@ static bool isRemark(const Record &Diag) {
|
||||
|
||||
/// ClangDiagsDefsEmitter - The top-level class emits .def files containing
|
||||
/// declarations of Clang diagnostics.
|
||||
namespace clang {
|
||||
void EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
|
||||
const std::string &Component) {
|
||||
void clang::EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
|
||||
const std::string &Component) {
|
||||
// Write the #if guard
|
||||
if (!Component.empty()) {
|
||||
std::string ComponentName = StringRef(Component).upper();
|
||||
@@ -1288,7 +1288,6 @@ void EmitClangDiagsDefs(RecordKeeper &Records, raw_ostream &OS,
|
||||
OS << ")\n";
|
||||
}
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Warning Group Tables generation
|
||||
@@ -1528,8 +1527,7 @@ static void emitCategoryTable(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS << "#endif // GET_CATEGORY_TABLE\n\n";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
void EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS) {
|
||||
// Compute a mapping from a DiagGroup to all of its parents.
|
||||
DiagGroupParentMap DGParentMap(Records);
|
||||
|
||||
@@ -1565,7 +1563,6 @@ void EmitClangDiagGroups(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS);
|
||||
emitCategoryTable(Records, OS);
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Diagnostic name index generation
|
||||
@@ -1582,8 +1579,7 @@ struct RecordIndexElement
|
||||
};
|
||||
} // end anonymous namespace.
|
||||
|
||||
namespace clang {
|
||||
void EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangDiagsIndexName(RecordKeeper &Records, raw_ostream &OS) {
|
||||
const std::vector<Record*> &Diags =
|
||||
Records.getAllDerivedDefinitions("Diagnostic");
|
||||
|
||||
@@ -1673,7 +1669,7 @@ void writeDiagnosticText(DiagnosticTextBuilder &Builder, const Record *R,
|
||||
} // namespace
|
||||
} // namespace docs
|
||||
|
||||
void EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
using namespace docs;
|
||||
|
||||
// Get the documentation introduction paragraph.
|
||||
@@ -1792,5 +1788,3 @@ void EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/TableGen/Error.h"
|
||||
#include "llvm/TableGen/Record.h"
|
||||
#include "llvm/TableGen/StringMatcher.h"
|
||||
@@ -351,10 +352,6 @@ void ClangOpcodesEmitter::PrintTypes(raw_ostream &OS, ArrayRef<Record *> Types)
|
||||
OS << ">";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
|
||||
void EmitClangOpcodes(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangOpcodes(RecordKeeper &Records, raw_ostream &OS) {
|
||||
ClangOpcodesEmitter(Records).run(OS);
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
@@ -639,11 +640,7 @@ static void OCL2Qual(ASTContext &Context, const OpenCLTypeStruct &Ty,
|
||||
OS << "\n} // OCL2Qual\n";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
|
||||
void EmitClangOpenCLBuiltins(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangOpenCLBuiltins(RecordKeeper &Records, raw_ostream &OS) {
|
||||
BuiltinNameEmitter NameChecker(Records, OS);
|
||||
NameChecker.Emit();
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/TableGen/Error.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
@@ -21,8 +22,6 @@
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace clang {
|
||||
namespace docs {
|
||||
namespace {
|
||||
struct DocumentedOption {
|
||||
Record *Option;
|
||||
@@ -380,11 +379,8 @@ void emitDocumentation(int Depth, const Documentation &Doc,
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace docs
|
||||
|
||||
void EmitClangOptDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
using namespace docs;
|
||||
|
||||
void clang::EmitClangOptDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
const Record *DocInfo = Records.getDef("GlobalDocumentation");
|
||||
if (!DocInfo) {
|
||||
PrintFatalError("The GlobalDocumentation top-level definition is missing, "
|
||||
@@ -396,4 +392,3 @@ void EmitClangOptDocs(RecordKeeper &Records, raw_ostream &OS) {
|
||||
|
||||
emitDocumentation(0, extractDocumentation(Records), DocInfo, OS);
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/TableGen/Error.h"
|
||||
#include "llvm/TableGen/Record.h"
|
||||
@@ -174,8 +175,7 @@ static void printOption(llvm::raw_ostream &OS, StringRef FullName,
|
||||
OS << "true";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
void EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS) {
|
||||
std::vector<Record*> checkers = Records.getAllDerivedDefinitions("Checker");
|
||||
std::vector<Record*> packages = Records.getAllDerivedDefinitions("Package");
|
||||
|
||||
@@ -315,4 +315,3 @@ void EmitClangSACheckers(RecordKeeper &Records, raw_ostream &OS) {
|
||||
OS << "#endif // GET_CHECKER_OPTIONS\n"
|
||||
"\n";
|
||||
}
|
||||
} // end namespace clang
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "TableGenBackends.h"
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/None.h"
|
||||
@@ -2629,22 +2630,18 @@ void NeonEmitter::runFP16(raw_ostream &OS) {
|
||||
OS << "#endif /* __ARM_FP16_H */\n";
|
||||
}
|
||||
|
||||
namespace clang {
|
||||
|
||||
void EmitNeon(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitNeon(RecordKeeper &Records, raw_ostream &OS) {
|
||||
NeonEmitter(Records).run(OS);
|
||||
}
|
||||
|
||||
void EmitFP16(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitFP16(RecordKeeper &Records, raw_ostream &OS) {
|
||||
NeonEmitter(Records).runFP16(OS);
|
||||
}
|
||||
|
||||
void EmitNeonSema(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitNeonSema(RecordKeeper &Records, raw_ostream &OS) {
|
||||
NeonEmitter(Records).runHeader(OS);
|
||||
}
|
||||
|
||||
void EmitNeonTest(RecordKeeper &Records, raw_ostream &OS) {
|
||||
void clang::EmitNeonTest(RecordKeeper &Records, raw_ostream &OS) {
|
||||
llvm_unreachable("Neon test generation no longer implemented!");
|
||||
}
|
||||
|
||||
} // end namespace clang
|
||||
|
||||
Reference in New Issue
Block a user