aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend
AgeCommit message (Collapse)Author
2009-12-06Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=81871 http://llvm.org/viewvc/llvm-project?view=rev&revision=81936 http://llvm.org/viewvc/llvm-project?view=rev&revision=81945 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90718 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-06Fix an off by one in findEndOfWord, which could scan past the end of the ↵Daniel Dunbar
string in a corner case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90703 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-06Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=86026 Note: The 'improved debugging' changes weren't integrated (since they were later reverted, since they didn't improve debugging). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-06Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=82174 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90692 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-06Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=72893 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-06Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=71473 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05Don't call back() on an empty vector.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=71225 http://llvm.org/viewvc/llvm-project?view=rev&revision=73207 http://llvm.org/viewvc/llvm-project?view=rev&revision=73414 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=71086 http://llvm.org/viewvc/llvm-project?view=rev&revision=71107 Note: This fixes <rdar://problem/6845623> from protocol to template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05Remove 'LangOpts' from Diagnostic (added in ↵Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=90642). Simply use the 'LangOpts' member already present in TextDiagnosticPrinter. Sorry for the confusion! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=71086 Note - This commit only includes the fix for: <rdar://problem/6309338> slightly different error message format for Visual Studio. The fix for <rdar://problem/6845623> from protocol to template. is separate/forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Fix "using typename" and the instantiation of non-dependent using declarations.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=70978 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=70926 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Integrate the following from the 'objective-rewrite' branch:Steve Naroff
http://llvm.org/viewvc/llvm-project?view=rev&revision=70922 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04PR5684: Fix refacto, the backend consumer was copying the Diagnostic object,Daniel Dunbar
which meant that hasErrorOccurred() checks to prevent codegen-on-invalid weren't working. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90560 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04ASTUnit/CIndex: Explicitly track the top-level decls when using an ASTUnit madeDaniel Dunbar
from a source file. - This allows CIndex to avoid iterating over all the top-level decls when using a PCH, which means we deserialize far fewer decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Use PresumedLoc when emitting the 'included from' diagnostics. For a malformedChris Lattner
test like this: #line 4 "foo" #define XX ? #if XX #endif We now emit: In file included from t.c:7: foo:7:5: error: invalid token at start of a preprocessor expression #if XX ^ foo:5:12: note: instantiated from: #define XX ? ^ instead of: In file included from t.c:7: foo:7:5: error: invalid token at start of a preprocessor expression #if XX ^ ./t.h:6:12: note: instantiated from: #define XX ? ^ (where the note doesn't obey #line or print the include stack when needed). This fixes PR5617 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Missed change from last commit.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Try to make the output of PlistDiagnostics more deterministic by sorting ↵Ted Kremenek
PathDiagnostics before they are emitted. Fixes <rdar://problem/7439668>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90478 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix two more diagnostic-on-stderr instances that thought they could hide ↵Daniel Dunbar
from me -- they thought wrong. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Kill a few more random stderr uses.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90441 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Use llvm_report_error instead of fprintf + assert + exit.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix CompilerInstance::createOutputFile to use proper diagnostics, and (try ↵Daniel Dunbar
to) update all clients to be able to handle failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Remove an unnecessary (I believe) exit() on error.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Switch PCHReader::getOriginalSourceFile to use proper diagnostics.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90434 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix BackendConsumer to use proper diagnostics.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03clang-cc: Honor -help and -version when using new style option parsing.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90422 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Add clang -cc1 support for -remap-file.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90414 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Add clang -cc1 -load option.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90413 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; ↵Daniel Dunbar
propogate and simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02ASTUnit: Explicitly track whether the ASTUnit came from an actual AST or not.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02ASTUnit: Fix initialization of OnlyLocalDecls variable, and honor ↵Daniel Dunbar
UseBumpAllocator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Change rtti/Rtti to RTTI, as it is an acronym.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Extend -remap-file=from;to to permit mapping from a non-existentDouglas Gregor
file. This is accomplished by introducing the notion of a "virtual" file into the file manager, which provides a FileEntry* for a named file whose size and modification time are known but which may not exist on disk. Added a cute little test that remaps both a .c file and a .h file it includes to alternative files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90329 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Move file-remapping logic into InitPreprocesor. No functionality changeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Fix ASTUnit::getOriginalSourceFileName() when using ASTUnit's derived fromDaniel Dunbar
source files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02ASTUnit: Don't create an LLVMContext, it shouldn't be needed.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Introduce a new clang-cc option Douglas Gregor
-remap-file=from;to which takes the file "from" and transparently replaces its contents with the contents of the file "to" from the source manager's perspective. This is the moral equivalent of cp from saved cp to from <call clang> cp saved from rm saved without all of the pesky file copying. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90307 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Extend the source manager with the ability to override the contents ofDouglas Gregor
files with the contents of an arbitrary memory buffer. Use this new functionality to drastically clean up the way in which we handle file truncation for code-completion: all of the truncation/completion logic is now encapsulated in the preprocessor where it belongs (<rdar://problem/7434737>). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90300 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Add ASTUnit::LoadFromCommandLine, which creates an ASTUnit out of a list ofDaniel Dunbar
(clang/driver) command line arguments (including the source file). - The arguments are expected to include the source file. - The idea is that even though this is a somewhat odd API, its the form which many tools can most easily use (for example, by interposing with the compiler). Also, switch index-test's -ast-from-source to use this entry point, and provide a -arg command line argument which can be used to test that the command line arguments are handled correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01ASTUnit: Make sure to preserve the TargetInfo for later use.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90263 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01Exit the command line into <built-in> instead of going directly from the ↵Rafael Espindola
command line to the input file. We passed <built-in> on the way in, so we should pass it again on the way out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90250 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01Add ASTUnit::LoadFromCompilerInvocation, which does what it says.Daniel Dunbar
Also, add an -ast-from-source option to index-test which allows index-test to run on source files directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01Switch the clang-to-CIndex interface for code-completion to a binary format, ↵Douglas Gregor
for a massive speedup git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90209 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01clang -cc1: Move CompilerInvocation deserialization into CompilerInvocation.cpp,Daniel Dunbar
where it belongs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Add CodeGenOptions::{SoftFloat,FloatABI}, and update the all the (far too ↵Daniel Dunbar
many) places to use this instead of using the backend -soft-float and -float-abi= options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90127 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Add TextDiagnosticBuffer::FlushDiagnostics, for forwarding the buffered ↵Daniel Dunbar
diagnostics to a different diagnostics engine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90125 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Eliminate CodeGenOptions::TimePasses.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Eliminate CodeGenOptions::SimplifyLibCalls.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90117 91177308-0d34-0410-b5e6-96231b3b80d8