summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Driver/Options.td2
-rw-r--r--clang/include/clang/Frontend/PreprocessorOutputOptions.h2
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp1
-rw-r--r--clang/lib/Frontend/PrintPreprocessedOutput.cpp34
-rw-r--r--clang/test/Preprocessor/dump_import.h1
-rw-r--r--clang/test/Preprocessor/dump_import.m6
-rw-r--r--clang/test/Preprocessor/dump_include.c11
-rw-r--r--clang/test/Preprocessor/dump_include.h2
8 files changed, 8 insertions, 51 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 602560ee0c5..b74897c756b 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -429,8 +429,6 @@ def fno_cuda_approx_transcendentals : Flag<["-"], "fno-cuda-approx-transcendenta
def dA : Flag<["-"], "dA">, Group<d_Group>;
def dD : Flag<["-"], "dD">, Group<d_Group>, Flags<[CC1Option]>,
HelpText<"Print macro definitions in -E mode in addition to normal output">;
-def dI : Flag<["-"], "dI">, Group<d_Group>, Flags<[CC1Option]>,
- HelpText<"Print include directives in -E mode in addition to normal output">;
def dM : Flag<["-"], "dM">, Group<d_Group>, Flags<[CC1Option]>,
HelpText<"Print macro definitions in -E mode instead of normal output">;
def dead__strip : Flag<["-"], "dead_strip">;
diff --git a/clang/include/clang/Frontend/PreprocessorOutputOptions.h b/clang/include/clang/Frontend/PreprocessorOutputOptions.h
index 3261b665380..f86c49039ed 100644
--- a/clang/include/clang/Frontend/PreprocessorOutputOptions.h
+++ b/clang/include/clang/Frontend/PreprocessorOutputOptions.h
@@ -22,7 +22,6 @@ public:
unsigned UseLineDirectives : 1; ///< Use \#line instead of GCC-style \# N.
unsigned ShowMacroComments : 1; ///< Show comments, even in macros.
unsigned ShowMacros : 1; ///< Print macro definitions.
- unsigned ShowIncludeDirectives : 1; ///< Print includes, imports etc. within preprocessed output.
unsigned RewriteIncludes : 1; ///< Preprocess include directives only.
public:
@@ -33,7 +32,6 @@ public:
UseLineDirectives = 0;
ShowMacroComments = 0;
ShowMacros = 0;
- ShowIncludeDirectives = 0;
RewriteIncludes = 0;
}
};
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 571327b806f..8588fa37810 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -2353,7 +2353,6 @@ static void ParsePreprocessorOutputArgs(PreprocessorOutputOptions &Opts,
Opts.ShowLineMarkers = !Args.hasArg(OPT_P);
Opts.ShowMacroComments = Args.hasArg(OPT_CC);
Opts.ShowMacros = Args.hasArg(OPT_dM) || Args.hasArg(OPT_dD);
- Opts.ShowIncludeDirectives = Args.hasArg(OPT_dI);
Opts.RewriteIncludes = Args.hasArg(OPT_frewrite_includes);
Opts.UseLineDirectives = Args.hasArg(OPT_fuse_line_directives);
}
diff --git a/clang/lib/Frontend/PrintPreprocessedOutput.cpp b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
index d48b952ef20..77b80e612fb 100644
--- a/clang/lib/Frontend/PrintPreprocessedOutput.cpp
+++ b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
@@ -93,16 +93,13 @@ private:
bool Initialized;
bool DisableLineMarkers;
bool DumpDefines;
- bool DumpIncludeDirectives;
bool UseLineDirectives;
bool IsFirstFileEntered;
public:
PrintPPOutputPPCallbacks(Preprocessor &pp, raw_ostream &os, bool lineMarkers,
- bool defines, bool DumpIncludeDirectives,
- bool UseLineDirectives)
+ bool defines, bool UseLineDirectives)
: PP(pp), SM(PP.getSourceManager()), ConcatInfo(PP), OS(os),
DisableLineMarkers(lineMarkers), DumpDefines(defines),
- DumpIncludeDirectives(DumpIncludeDirectives),
UseLineDirectives(UseLineDirectives) {
CurLine = 0;
CurFilename += "<uninit>";
@@ -323,10 +320,10 @@ void PrintPPOutputPPCallbacks::InclusionDirective(SourceLocation HashLoc,
StringRef SearchPath,
StringRef RelativePath,
const Module *Imported) {
+ // When preprocessing, turn implicit imports into @imports.
+ // FIXME: This is a stop-gap until a more comprehensive "preprocessing with
+ // modules" solution is introduced.
if (Imported) {
- // When preprocessing, turn implicit imports into @imports.
- // FIXME: This is a stop-gap until a more comprehensive "preprocessing with
- // modules" solution is introduced.
startNewLineIfNeeded();
MoveToLine(HashLoc);
if (PP.getLangOpts().ObjC2) {
@@ -334,9 +331,9 @@ void PrintPPOutputPPCallbacks::InclusionDirective(SourceLocation HashLoc,
<< " /* clang -E: implicit import for \"" << File->getName()
<< "\" */";
} else {
- const std::string TokenText = PP.getSpelling(IncludeTok);
- assert(!TokenText.empty());
- OS << "#" << TokenText << " "
+ // FIXME: Preseve whether this was a
+ // #include/#include_next/#include_macros/#import.
+ OS << "#include "
<< (IsAngled ? '<' : '"')
<< FileName
<< (IsAngled ? '>' : '"')
@@ -347,20 +344,6 @@ void PrintPPOutputPPCallbacks::InclusionDirective(SourceLocation HashLoc,
// line immediately.
EmittedTokensOnThisLine = true;
startNewLineIfNeeded();
- } else {
- // Not a module import; it's a more vanilla inclusion of some file using one
- // of: #include, #import, #include_next, #include_macros.
- if (DumpIncludeDirectives) {
- startNewLineIfNeeded();
- MoveToLine(HashLoc);
- const std::string TokenText = PP.getSpelling(IncludeTok);
- assert(!TokenText.empty());
- OS << "#" << TokenText << " "
- << (IsAngled ? '<' : '"') << FileName << (IsAngled ? '>' : '"')
- << " /* clang -E -dI */";
- setEmittedDirectiveOnThisLine();
- startNewLineIfNeeded();
- }
}
}
@@ -768,8 +751,7 @@ void clang::DoPrintPreprocessedInput(Preprocessor &PP, raw_ostream *OS,
PP.SetCommentRetentionState(Opts.ShowComments, Opts.ShowMacroComments);
PrintPPOutputPPCallbacks *Callbacks = new PrintPPOutputPPCallbacks(
- PP, *OS, !Opts.ShowLineMarkers, Opts.ShowMacros,
- Opts.ShowIncludeDirectives, Opts.UseLineDirectives);
+ PP, *OS, !Opts.ShowLineMarkers, Opts.ShowMacros, Opts.UseLineDirectives);
// Expand macros in pragmas with -fms-extensions. The assumption is that
// the majority of pragmas in such a file will be Microsoft pragmas.
diff --git a/clang/test/Preprocessor/dump_import.h b/clang/test/Preprocessor/dump_import.h
deleted file mode 100644
index fded1e52cbb..00000000000
--- a/clang/test/Preprocessor/dump_import.h
+++ /dev/null
@@ -1 +0,0 @@
-#define DUMP_IMPORT_TESTVAL 1
diff --git a/clang/test/Preprocessor/dump_import.m b/clang/test/Preprocessor/dump_import.m
deleted file mode 100644
index 20424ad507b..00000000000
--- a/clang/test/Preprocessor/dump_import.m
+++ /dev/null
@@ -1,6 +0,0 @@
-// RUN: %clang_cc1 -E -dI %s -o - | FileCheck %s
-// CHECK: {{^}}#import "dump_
-
-// See also `dump_include.c` which tests other inclusion cases with `-dI`.
-
-#import "dump_import.h"
diff --git a/clang/test/Preprocessor/dump_include.c b/clang/test/Preprocessor/dump_include.c
deleted file mode 100644
index b98b5df7b77..00000000000
--- a/clang/test/Preprocessor/dump_include.c
+++ /dev/null
@@ -1,11 +0,0 @@
-// RUN: %clang_cc1 -w -E -dI -isystem %S -imacros %S/dump_include.h %s -o - | FileCheck %s
-// CHECK: {{^}}#__include_macros "/{{([^/]+/)+}}dump_
-// CHECK: {{^}}#include <dump_
-// CHECK: {{^}}#include "dump_
-// CHECK: {{^}}#include_next "dump_
-
-// See also `dump_import.m` which tests the `#import` directive with `-dI`.
-
-#include <dump_include.h>
-#include "dump_include.h"
-#include_next "dump_include.h"
diff --git a/clang/test/Preprocessor/dump_include.h b/clang/test/Preprocessor/dump_include.h
deleted file mode 100644
index 9dafaa50b5c..00000000000
--- a/clang/test/Preprocessor/dump_include.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-#define DUMP_INCLUDE_TESTVAL 1
OpenPOWER on IntegriCloud