forked from OSchip/llvm-project
Revert r196372, "do not warn about unknown pragmas in modes that do not handle them (pr9537)"
It broke clang tests on some hosts with +Asserts. Seems "STDC" clashes. llvm-svn: 196376
This commit is contained in:
parent
5b66bad259
commit
ddc867985a
|
@ -643,9 +643,6 @@ public:
|
|||
RemovePragmaHandler(StringRef(), Handler);
|
||||
}
|
||||
|
||||
/// Install empty handlers for all pragmas (making them ignored).
|
||||
void IgnorePragmas();
|
||||
|
||||
/// \brief Add the specified comment handler to the preprocessor.
|
||||
void addCommentHandler(CommentHandler *Handler);
|
||||
|
||||
|
|
|
@ -485,7 +485,7 @@ void PreprocessOnlyAction::ExecuteAction() {
|
|||
Preprocessor &PP = getCompilerInstance().getPreprocessor();
|
||||
|
||||
// Ignore unknown pragmas.
|
||||
PP.IgnorePragmas();
|
||||
PP.AddPragmaHandler(new EmptyPragmaHandler());
|
||||
|
||||
Token Tok;
|
||||
// Start parsing the specified input file.
|
||||
|
|
|
@ -704,7 +704,7 @@ static int MacroIDCompare(const id_macro_pair *LHS, const id_macro_pair *RHS) {
|
|||
|
||||
static void DoPrintMacros(Preprocessor &PP, raw_ostream *OS) {
|
||||
// Ignore unknown pragmas.
|
||||
PP.IgnorePragmas();
|
||||
PP.AddPragmaHandler(new EmptyPragmaHandler());
|
||||
|
||||
// -dM mode just scans and ignores all tokens in the files, then dumps out
|
||||
// the macro table at the end.
|
||||
|
|
|
@ -1401,14 +1401,3 @@ void Preprocessor::RegisterBuiltinPragmas() {
|
|||
AddPragmaHandler(new PragmaRegionHandler("endregion"));
|
||||
}
|
||||
}
|
||||
|
||||
/// Ignore all pragmas, useful for modes such as -Eonly which would otherwise
|
||||
/// warn about those pragmas being unknown.
|
||||
void Preprocessor::IgnorePragmas() {
|
||||
AddPragmaHandler(new EmptyPragmaHandler());
|
||||
// Also ignore all pragmas in all namespaces created
|
||||
// in Preprocessor::RegisterBuiltinPragmas().
|
||||
AddPragmaHandler("GCC", new EmptyPragmaHandler());
|
||||
AddPragmaHandler("clang", new EmptyPragmaHandler());
|
||||
AddPragmaHandler("STDC", new EmptyPragmaHandler());
|
||||
}
|
||||
|
|
|
@ -518,7 +518,13 @@ void clang::RewriteIncludesInInput(Preprocessor &PP, raw_ostream *OS,
|
|||
InclusionRewriter *Rewrite = new InclusionRewriter(PP, *OS,
|
||||
Opts.ShowLineMarkers);
|
||||
PP.addPPCallbacks(Rewrite);
|
||||
PP.IgnorePragmas();
|
||||
// Ignore all pragmas, otherwise there will be warnings about unknown pragmas
|
||||
// (because there's nothing to handle them).
|
||||
PP.AddPragmaHandler(new EmptyPragmaHandler());
|
||||
// Ignore also all pragma in all namespaces created
|
||||
// in Preprocessor::RegisterBuiltinPragmas().
|
||||
PP.AddPragmaHandler("GCC", new EmptyPragmaHandler());
|
||||
PP.AddPragmaHandler("clang", new EmptyPragmaHandler());
|
||||
|
||||
// First let the preprocessor process the entire file and call callbacks.
|
||||
// Callbacks will record which #include's were actually performed.
|
||||
|
|
Loading…
Reference in New Issue