aboutsummaryrefslogtreecommitdiff
path: root/Driver/clang.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-12-11 21:27:55 +0000
committerTed Kremenek <kremenek@apple.com>2007-12-11 21:27:55 +0000
commit7a9d49fd2bfac00e905b361ba76d26ab5b6c3b09 (patch)
tree3557aeb775ca6ac99524afd56b1c8840b80d7a94 /Driver/clang.cpp
parente66894c3dea9aeab4403e67bf5baabc20da61cb3 (diff)
Mega-patch: ripped SourceManager out of Diagnostic/DiagnosticClient. Now
SourceManager is passed by reference, allowing the SourceManager to be associated with a specific translation unit, and not the entire execution of the driver. Modified all users of Diagnostics to comply with this new interface. Integrated SourceManager as a member variable of TargetInfo. TargetInfo will eventually be associated with a single translation unit (just like SourceManager). Made the SourceManager reference in ASTContext private. Provided accessor getSourceManager() for clients to use instead. Modified clients to comply with new interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44878 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r--Driver/clang.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index eb469d87ec..c009e06860 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -989,10 +989,10 @@ int main(int argc, char **argv) {
std::auto_ptr<TextDiagnostics> DiagClient;
if (!VerifyDiagnostics) {
// Print diagnostics to stderr by default.
- DiagClient.reset(new TextDiagnosticPrinter(SourceMgr));
+ DiagClient.reset(new TextDiagnosticPrinter());
} else {
// When checking diagnostics, just buffer them up.
- DiagClient.reset(new TextDiagnosticBuffer(SourceMgr));
+ DiagClient.reset(new TextDiagnosticBuffer());
if (InputFilenames.size() != 1) {
fprintf(stderr,
@@ -1013,7 +1013,7 @@ int main(int argc, char **argv) {
{ // Create triples, and create the TargetInfo.
std::vector<std::string> triples;
CreateTargetTriples(triples);
- Target = CreateTargetInfo(triples,&Diags);
+ Target = CreateTargetInfo(SourceMgr,triples,&Diags);
if (Target == 0) {
fprintf(stderr, "Sorry, I don't know what target this is: %s\n",
@@ -1026,7 +1026,9 @@ int main(int argc, char **argv) {
// -I- is a deprecated GCC feature, scan for it and reject it.
for (unsigned i = 0, e = I_dirs.size(); i != e; ++i) {
if (I_dirs[i] == "-") {
- Diags.Report(SourceLocation(), diag::err_pp_I_dash_not_supported);
+ Diags.Report(SourceLocation(), diag::err_pp_I_dash_not_supported,
+ SourceMgr);
+
I_dirs.erase(I_dirs.begin()+i);
--i;
}