summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151814-2250/+2251
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
* If a ParmVarDecl's default argument is a CXXExprWithTemporaries, return the ↵Anders Carlsson2009-12-153-27/+41
| | | | | | underlying expr instead. Add getNumDefaultArgTemporaries and getDefaultArgTemporary which returns the temporaries a default arg creates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91439 91177308-0d34-0410-b5e6-96231b3b80d8
* Support OpenCL 1.1 odd-length vector component accessors.Nate Begeman2009-12-153-13/+6
| | | | | | | | For hi/odd of an odd-length vector, the last component is undefined. Since we shuffle with an undef vector, no CodeGen needs to change to support this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91437 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase for recent checkin.Mike Stump2009-12-151-1/+6
| | | | | | | Patch by Chip Davis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91436 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement conditional block invocation rewriteFariborz Jahanian2009-12-152-12/+108
| | | | | | | and some clean up and a block rewriter test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91435 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some diagnostic-related FIXMEs, from Nicola GiganteDouglas Gregor2009-12-154-18/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91433 91177308-0d34-0410-b5e6-96231b3b80d8
* Elaborated types are specifier types, based on a patch from CorneliusDouglas Gregor2009-12-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91431 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments.Zhongxing Xu2009-12-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91430 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove displayProgress parameter.Zhongxing Xu2009-12-152-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91429 91177308-0d34-0410-b5e6-96231b3b80d8
* move isPodLike<clang::QualType> out to Type.h. We don'tChris Lattner2009-12-152-5/+6
| | | | | | | | want some clients of QualType to think it's a pod and some to not know it is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91424 91177308-0d34-0410-b5e6-96231b3b80d8
* update to match LLVM API change:Chris Lattner2009-12-1511-40/+36
| | | | | | | | | | | Remove isPod() from DenseMapInfo, splitting it out to its own isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91422 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -W[no-]variadic-macros support.Daniel Dunbar2009-12-152-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91415 91177308-0d34-0410-b5e6-96231b3b80d8
* Forward -isysroot to clang -cc1.Daniel Dunbar2009-12-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91414 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a COVTCTII (crash-on-valid-that-clang-thinks-is-invalid, duh),Daniel Dunbar2009-12-151-1/+1
| | | | | | | note_previous_decl was used where note_previous_declaration was intended. Better names or PR5785 might be nice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91413 91177308-0d34-0410-b5e6-96231b3b80d8
* Until we can make the dead stores checker smarter, dont' emit dead store ↵Ted Kremenek2009-12-152-0/+24
| | | | | | warnings for C++ objects (whose constructors/destructors have possible side-effects). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91412 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a small bug in ComputeMethodVtableIndices.Eli Friedman2009-12-152-2/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91411 91177308-0d34-0410-b5e6-96231b3b80d8
* Really fix this test.Eli Friedman2009-12-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91409 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch should fix PR2461. It allows clang to apply the noreturnMike Stump2009-12-152-6/+6
| | | | | | | | | | attribute to function pointers. It also fixes Sema to check function pointers for the noreturn attribute when checking for fallthrough. Patch by Chip Davis, with a slight fix to pass the testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91408 91177308-0d34-0410-b5e6-96231b3b80d8
* scan-build/ccc-analyzer: start analyzing C++ FTW.Ted Kremenek2009-12-152-30/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91398 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test broken by my last commit.Eli Friedman2009-12-151-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91396 91177308-0d34-0410-b5e6-96231b3b80d8
* Diagnose the use of typedefs for template specialization types in the scopeJohn McCall2009-12-153-1/+35
| | | | | | | | | | specifiers for out-of-line declarations, e.g. typedef Temp<int> MyTemp; template <> MyTemp::foo; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91395 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't force the emission of destructor definitions.Eli Friedman2009-12-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91394 91177308-0d34-0410-b5e6-96231b3b80d8
* set up the machinery for a MacroArgs cache hanging off Preprocessor.Chris Lattner2009-12-154-4/+37
| | | | | | | | | | | We creating and free thousands of MacroArgs objects (and the related std::vectors hanging off them) for the testcase in PR5610 even though there are only ~20 live at a time. This doesn't actually use the cache yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91391 91177308-0d34-0410-b5e6-96231b3b80d8
* Start the ball rolling on C++ support in the static analyzer. ForTed Kremenek2009-12-152-0/+37
| | | | | | | | | now, don't construct CFGs that contain C++ try/catch statements, and have GRExprEngine abort a path if it encounters a C++ construct it doesn't understand (which is mostly everything at this point). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91389 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spacing.Mike Stump2009-12-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91386 91177308-0d34-0410-b5e6-96231b3b80d8
* Driver: Pass -resource-dir to clang -cc1, since the driver presumably ↵Daniel Dunbar2009-12-151-1/+11
| | | | | | already found itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91384 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure we preserve line information for each trap forMike Stump2009-12-151-1/+9
| | | | | | | -fcatch-undefined-behavior if we aren't optimizing. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91382 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch codegen for -fcatch-undefined-bahavior over to __builtin_trapMike Stump2009-12-154-26/+20
| | | | | | | instead of abort to improve codesize and codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91374 91177308-0d34-0410-b5e6-96231b3b80d8
* Update checker build.Ted Kremenek2009-12-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91373 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -resource-dir to clang -cc1, this allows the base directory for compilerDaniel Dunbar2009-12-158-26/+23
| | | | | | | resources (e.g., /usr/lib/clang/1.1) to be passed on the command line instead of computed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91370 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement value initialization in InitializationSequence; untestedDouglas Gregor2009-12-152-14/+71
| | | | | | | WIP, yet again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91368 91177308-0d34-0410-b5e6-96231b3b80d8
* Add documentation for recently added code. WIP.Mike Stump2009-12-141-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91367 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR5716 by bandaging over the solution until we can come back to it.John McCall2009-12-142-1/+21
| | | | | | | | I apologize for friend declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91359 91177308-0d34-0410-b5e6-96231b3b80d8
* Make test more generic.Fariborz Jahanian2009-12-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91349 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix: <rdar://problem/7468209> SymbolManager::isLive() should not crash on ↵Ted Kremenek2009-12-146-5/+40
| | | | | | captured block variables that are passed by reference git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91348 91177308-0d34-0410-b5e6-96231b3b80d8
* We have to allow one to form an address for one past the end. WIP.Mike Stump2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91347 91177308-0d34-0410-b5e6-96231b3b80d8
* move the VarargsElided member of MacrosArgs to shrink the MacroArgs structChris Lattner2009-12-144-15/+17
| | | | | | | | on 64-bit targets. Pass Preprocessor into create/destroy methods of MacroArgs even though it isn't used yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91345 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoChris Lattner2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91343 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for detecting undefined shift behavior. WIP.Mike Stump2009-12-143-7/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91341 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch to fix 32-bit @try failure with internal assertion when compiling Fariborz Jahanian2009-12-142-2/+29
| | | | | | | | an Objective-C rethrow nested inside another try/catch block. (fixes radar 7466728). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91335 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove accidental commit containing local paths for the LLVM-Code-Syntax testDouglas Gregor2009-12-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91326 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanups for constructor initialization in InitializationSequenceDouglas Gregor2009-12-143-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91325 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplifiy.Mike Stump2009-12-141-16/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91324 91177308-0d34-0410-b5e6-96231b3b80d8
* Constructor initialization for InitializationSequence. Untested WIP.Douglas Gregor2009-12-142-3/+157
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91323 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve template instantiation for object constructions in several ways:Douglas Gregor2009-12-145-100/+178
| | | | | | | | | | | | | | | - During instantiation, drop default arguments from constructor and call expressions; they'll be recomputed anyway, and we don't want to instantiate them twice. - Rewrote the instantiation of variable initializers to cope with non-dependent forms properly. Together, these fix a handful of problems I introduced with the switch to always rebuild expressions from the source code "as written." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91315 91177308-0d34-0410-b5e6-96231b3b80d8
* Make test pass in all cases.Fariborz Jahanian2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91309 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes an incomplete test case.Fariborz Jahanian2009-12-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91304 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tests use the new clang -cc1 flag.Fariborz Jahanian2009-12-1429-47/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91303 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tests use the new clang cc1 flag.Fariborz Jahanian2009-12-1424-25/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91300 91177308-0d34-0410-b5e6-96231b3b80d8
* Make tests use the new clang -cc1 flag.Fariborz Jahanian2009-12-1431-32/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91299 91177308-0d34-0410-b5e6-96231b3b80d8