aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend
AgeCommit message (Collapse)Author
2009-11-30Fix PR5633 by making the preprocessor handle the case where we canChris Lattner
stat a file but where mmaping it fails. In this case, we emit an error like: t.c:1:10: fatal error: error opening file '../../foo.h' instead of "cannot find file". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29This patch moves the frontend timer from clang-cc into CompilerInstance.Kovarththanan Rajaratnam
CompilerInstance already contains various objects that are used throughout the entire run. Also addresses Daniels review comments in: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20091123/024508.html git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Add DeclarationName support for C++0x operator literals. They should now work asSean Hunt
function names outside of templates - they'll probably cause some damage there as they're largely untested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Move LLVM backend options to explicit clang-cc / clang -cc1 options, which ↵Daniel Dunbar
we then manually pass to the command line library; eventually the latter grossness should be fixed by a real API when creating the target machine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Add clang -cc1 parsing for LangOptions.Daniel Dunbar
- This is the last major parsing piece, main FIXMEs remain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Change LangOptions::ObjCConstantStringClass to an std::string to avoid ↵Daniel Dunbar
worrying about the lifetime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90052 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Move MainFileName option variable into CodeGenOptions instead of LangOptions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90051 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-28Remove VISIBILITY_HIDDEN from anonymous namespaces in libFrontend.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-28Don't call exit(). llvm::llvm_report_error() will do just thatKovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90031 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26typoGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26issue a friendlier error if someone tries to send precompiled header to '-' ↵Gabor Greif
(stdout) this brings the error on clang -c foo.h -o - closer to clang -c foo.h -o /dev/null git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26Factor out a LangStandard class and coalesce the information about the ↵Daniel Dunbar
standards into LangStandards.def - I'd appreciate another pair of eyeballs to double check this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26Add clang -cc1 parsing for preprocessor options.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26Add clang -cc1 parsing for header search options.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Allow user re-definition of SEL as well as accessing its fields.Fariborz Jahanian
This fixes pr5611. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Call GRExprEngine::setTransferFunctions() after registering all Checkers. ↵Ted Kremenek
This allows GRTransferFuncs::RegisterChecks() to always be called after all checkers have been registered. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89887 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Consolidate logic in ActionInlineCall by having it call ActionGRExprEngine ↵Ted Kremenek
instead of replicating most of its logic (and missing pieces). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Make RegisterInternalChecks() part of GRExprEngine's private implementation ↵Ted Kremenek
by making it a static function within GRExprEngine.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Register internal checks with GRExprEngine when it is constructed, not ↵Ted Kremenek
manually in AnalysisConsumer.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Fix some uses of fprintf/stderr without a prototype.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Add clang -cc1 parsing for frontend options.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Parse C++ member check attributes - base_check, hiding, and override.Sean Hunt
The attributes are currently ignored. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Eliminate CXXConditionDeclExpr with extreme prejudice.Douglas Gregor
All statements that involve conditions can now hold on to a separate condition declaration (a VarDecl), and will use a DeclRefExpr referring to that VarDecl for the condition expression. ForStmts now have such a VarDecl (I'd missed those in previous commits). Also, since this change reworks the Action interface for if/while/switch/for, use FullExprArg for the full expressions in those expressions, to ensure that we're emitting Note that we are (still) not generating the right cleanups for condition variables in for statements. That will be a follow-on commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24Clean up the AST for while loops and fix several problems withDouglas Gregor
cleanups for while loops: 1) Make sure that we destroy the condition variable of a while statement each time through the loop for, e.g., while (shared_ptr<WorkInt> p = getWorkItem()) { // ... } 2) Make sure that we always enter a new cleanup scope for the body of the while loop, even when there is no compound expression, e.g., while (blah) RAIIObject raii(blah+1); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24Explicitly store the condition variable within switch statements, andDouglas Gregor
make sure that this variable is destroyed when we exit the switch statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Explicitly track the condition variable within an "if" statement,Douglas Gregor
rather than burying it in a CXXConditionDeclExpr (that occassionally hides behind implicit conversions). Similar changes for switch, while, and do-while will follow, then the removal of CXXConditionDeclExpr. This commit is the canary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89717 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Add clang -cc1 parsing of diagnostic options.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Put back hard-coded paths for win32 until I figure out what happened to ↵John Thompson
failed tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Reorder the header search a bit so that it matches gcc exactly:Rafael Espindola
*) the ../backward dir is the last in libstdc++ to be searched *) If compiling c++, the c++ headers are searched first git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23Centralize and complete the computation of value- and type-dependence for ↵Douglas Gregor
DeclRefExprs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22Add clang -cc1 parsing of analyzer options.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22Define __SIG_ATOMIC_WIDTH__ for use in stdint.h.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21This patch implements objective-c's 'SEL' type as a built-inFariborz Jahanian
type and fixes a long-standing code gen. crash reported in at least two PRs and a radar. (radar 7405040 and pr5025). There are couple of remaining issues that I would like for Ted. and Doug to look at: Ted, please look at failure in Analysis/MissingDealloc.m. I have temporarily added an expected-warning to make the test pass. This tests has a declaration of 'SEL' type which may not co-exist with the new changes. Doug, please look at a FIXME in PCHWriter.cpp/PCHReader.cpp. I think the changes which I have ifdef'ed out are correct. They need be considered for in a few Indexer/PCH test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Added rudimentary C++0x attribute support.Sean Hunt
The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Revised Win32 include path to search highest version in registry, plus ↵John Thompson
platform SDK path git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix refactoro, clang-cc wasn't properly reporting errors when opening an ↵Daniel Dunbar
output file failed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89502 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add clang -cc1 parsing of CodeGenOptions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Fix some default in the option classes, and some CompilerInvocation argificationDaniel Dunbar
errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Define __WCHAR_WIDTH__ for use in stdint.h.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Add __WINT_WIDTH__ to paramaterize the limits of WINT_MIN and WINT_MAX in Ken Dyck
stdint.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Add __SIZE_WIDTH__ to eventually replace __SIZE_TYPE__ in stdint.h.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Restore __INTMAX_TYPE__, __UINTMAX_TYPE__, __PTRDIFF_TYPE__, andKen Dyck
__INTPTR_TYPE__ as the last is used in the test/CodeGen/const-init.c and all could potentially be in use in the wild. My apologies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89345 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Remove __PTRDIFF_TYPE__ as it is no longer needed by stdint.h. It has been Ken Dyck
replaced with __PTRDIFF_WIDTH__. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89344 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Add __PTRDIFF_WIDTH__ macro to eventually replace __PTRDIFF_TYPE__ in stdint.h.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89342 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Remove __INTPTR_TYPE__ as it is no longer needed by stdint.h, which usesKen Dyck
__INTPTR_WIDTH__ instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89340 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Sketch some 'clang -cc1' support, for testing parts of CompilerInvocation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89333 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19clang-cc: Remove some more llvm::cl::init arguments, by only setting values whenDaniel Dunbar
the argument is given. Also, tweak Opt.Sysroot defaulting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Change -code-completion-debug-printer to -no-code-completion-debug-printer.Daniel Dunbar
Also, tweak a few help strings and update CompilerInvocation serialization for prev change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89317 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18Predefine __INTPTR_WIDTH__ for future use in stdint.h.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89231 91177308-0d34-0410-b5e6-96231b3b80d8