summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Template instantiation for conversion functionsDouglas Gregor2009-03-252-0/+42
| | | | llvm-svn: 67664
* Turn on '-analyzer-eagerly-assume' by default in ccc for the static analyzer.Ted Kremenek2009-03-251-1/+1
| | | | llvm-svn: 67663
* Move template instantiation for expressions into a separate fileDouglas Gregor2009-03-253-401/+417
| | | | llvm-svn: 67660
* In Parser::ParseClassSpecifier, don't conflate a NULL declaration withDouglas Gregor2009-03-254-36/+35
| | | | | | | | failure to perform a declaration. Instead, explicitly note semantic failures that occur during template parsing with a DeclResult. Fixes PR3872. llvm-svn: 67659
* Parse deleted function definitions and hook them up to Doug's machinery.Sebastian Redl2009-03-247-10/+74
| | | | llvm-svn: 67653
* Encode language.Devang Patel2009-03-241-4/+15
| | | | llvm-svn: 67650
* Type::isObjectType now implements the (more sensible) C++ definitionDouglas Gregor2009-03-245-11/+14
| | | | | | | | | | | | | | | | | | of "object type" rather than the C definition of "object type". The difference is that C's "object type" excludes incomplete types such as struct X; However, C's definition also makes it far too easy to use isObjectType as a means to detect incomplete types when in fact we should use other means (e.g., Sema::RequireCompleteType) that cope with C++ semantics, including template instantiation. I've already audited every use of isObjectType and isIncompleteType to ensure that they are doing the right thing for both C and C++, so this is patch does not change any functionality. llvm-svn: 67648
* Driver: Handle -flto, -O4, and tweak -emit-llvm to match llvm-gcc.Daniel Dunbar2009-03-245-8/+46
| | | | | | | | | | | | - -emit-llvm no longer changes what compilation steps are done. - -emit-llvm and -emit-llvm -S write output files with .o and .s suffixes, respectively. - <rdar://problem/6714125> clang-driver should support -O4 and -flto, like llvm-gcc llvm-svn: 67645
* Fix a few isObjectTypes that really need to be isIncompleteOrObjectDouglas Gregor2009-03-244-17/+15
| | | | | | types; add another use of RequireCompleteType. llvm-svn: 67644
* Make sure to use RequireCompleteType rather than testing forDouglas Gregor2009-03-249-138/+225
| | | | | | | incomplete types. RequireCompleteType is needed when the type may be completed by instantiating a template. llvm-svn: 67643
* Driver: Warn when 'clang' is used to compile a source file we couldDaniel Dunbar2009-03-242-3/+15
| | | | | | conceivably handle, but are defaulting to not using clang for. llvm-svn: 67641
* Driver: Change default use of "clang" compiler.Daniel Dunbar2009-03-243-27/+40
| | | | | | | | | | | | | | | | | | | | | | - Don't default to using clang for C++ (use -ccc-clang-cxx to override). - Default to only using clang on i386 and x86_64 (use -ccc-clang-archs "" to override). - <rdar://problem/6712350> [driver] clang should not be used on powerpc by default - <rdar://problem/6705767> driver should default to -ccc-no-clang-cxx I plan to add a warning that we are not using the clang compiler for the given compilation so that users do not think clang is being used in situations it isn't. This change is motivated by the desire to be able to drop clang into a build and have things "just work", even if it happens to get used to compile C++ code or code for an architecture we don't support yet. llvm-svn: 67640
* Move ToolChain::ShouldUseClangCompiler toDaniel Dunbar2009-03-245-34/+35
| | | | | | | Driver::ShouldUseClangCompiler. - No functionality change. llvm-svn: 67639
* Driver: Translate -fverbose-asm for LLVM backend.Daniel Dunbar2009-03-243-2/+4
| | | | | | | - <rdar://problem/6715707> driver should translate -fverbose-asm into -asm-verbose llvm-svn: 67634
* Really fix cmake style builds.Mike Stump2009-03-245-3/+11
| | | | llvm-svn: 67633
* Driver: Result files shouldn't be removed on failure when -save-tempsDaniel Dunbar2009-03-241-1/+1
| | | | | | | | is specified. - No easy way to make a safe test case for this (given where the driver is supposed to put temp files). llvm-svn: 67632
* Driver: ArgList::getLastArg was in fact returning the first matching arg.Daniel Dunbar2009-03-243-4/+10
| | | | | | | - <rdar://problem/6715818> clang doesn't honor gcc semantic that last -O optimization option wins. llvm-svn: 67628
* Fix the bug that Eli noticed where we wouldn't look at function decls ↵Anders Carlsson2009-03-243-22/+63
| | | | | | outside the class declaration. llvm-svn: 67627
* improve error recovery for when type parsing fails.Chris Lattner2009-03-241-1/+5
| | | | llvm-svn: 67626
* fix "Comment#1" from PR3872Chris Lattner2009-03-242-2/+10
| | | | llvm-svn: 67625
* random cleanups.Chris Lattner2009-03-242-18/+23
| | | | llvm-svn: 67624
* Template instantiation for constructorsDouglas Gregor2009-03-243-0/+68
| | | | llvm-svn: 67623
* -arch ppc should change the triple to powerpc-foo not to ppc-foo.Chris Lattner2009-03-241-0/+6
| | | | | | | Similarly for ppc64. This should probably move into the driver, along with all the other target selection stuff other than -triple. llvm-svn: 67621
* Add another C++ open projectDouglas Gregor2009-03-241-0/+1
| | | | llvm-svn: 67620
* change the __VERSION__ string to be more sensible. It would be useful to ↵Chris Lattner2009-03-241-2/+1
| | | | | | include the clang version # too. llvm-svn: 67619
* Driver: Forward -MMD (not -MM) to clang-cc; this got lost inDaniel Dunbar2009-03-241-1/+1
| | | | | | translation, the former we support, the later we don't (yet). llvm-svn: 67611
* Update TestRunner.sh for renaming.Daniel Dunbar2009-03-241-1/+25
| | | | | | | | | | | | - Substitutes both clang and clang-cc. - Incorporates patch from Jon Simons to diagnose if clang or clang-cc isn't found. - Uses full path when running scripts, for more precision in the output. llvm-svn: 67610
* More path updates with clang-cc...Ted Kremenek2009-03-241-4/+4
| | | | llvm-svn: 67609
* Update scan-build/ccc-analyzer to use 'clang-cc' instead of 'clang'.Ted Kremenek2009-03-242-6/+6
| | | | llvm-svn: 67608
* Install clang-cc to libexec/clang-cc (instead of bin/clang-cc).Daniel Dunbar2009-03-243-0/+16
| | | | | | - Updated ccc & driver to look in libexec/ for tools. llvm-svn: 67607
* Rename clang-driver to clang.Daniel Dunbar2009-03-249-32/+33
| | | | | | Again, I tried to update cmake but it is untested. llvm-svn: 67606
* Move <root>/Driver into <root>/tools/clang-cc.Daniel Dunbar2009-03-2426-10/+19
| | | | | | Again, I tried to update cmake but it is untested. llvm-svn: 67605
* Add CMake files for tools/driver; I am just guessing here, can someone test/fix?Daniel Dunbar2009-03-243-0/+12
| | | | llvm-svn: 67604
* Support member reference on ?: of struct type.Daniel Dunbar2009-03-244-0/+43
| | | | llvm-svn: 67603
* Rename clang to clang-cc.Daniel Dunbar2009-03-24966-1228/+1232
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Use not instead of ! in tests.Daniel Dunbar2009-03-243-5/+5
| | | | llvm-svn: 67601
* Handle pointers to arrays of abstract types.Anders Carlsson2009-03-242-1/+12
| | | | llvm-svn: 67598
* Remove a task that's completed now.Anders Carlsson2009-03-241-1/+1
| | | | llvm-svn: 67596
* class.abstract is complete. Anything that doesn't work is a bug.Anders Carlsson2009-03-241-1/+8
| | | | llvm-svn: 67595
* More work on diagnosing abstract classes. We can now handle cases likeAnders Carlsson2009-03-247-15/+90
| | | | | | | | | | | | class C { void g(C c); virtual void f() = 0; }; In this case, C is not known to be abstract when doing semantic analysis on g. This is done by recursively traversing the abstract class and checking the types of member functions. llvm-svn: 67594
* Fix PR3868 by making Evaluate handle cases like "(long)&a + 4".Eli Friedman2009-03-242-6/+30
| | | | llvm-svn: 67593
* Fix a couple of tests.Eli Friedman2009-03-242-2/+2
| | | | llvm-svn: 67592
* ccc: Have generic GCC tool chain search the driver directory forDaniel Dunbar2009-03-241-0/+1
| | | | | | | executables (e.g., clang). - This matches the clang-driver behavior. llvm-svn: 67590
* Cleanup template instantiation for methods, destructorsDouglas Gregor2009-03-242-56/+108
| | | | llvm-svn: 67585
* Update checker build.Ted Kremenek2009-03-241-1/+1
| | | | llvm-svn: 67584
* Driver: lipo wasn't being called correctly (translation failure fromDaniel Dunbar2009-03-241-0/+3
| | | | | | ccc due to the different way we handle output arguments). llvm-svn: 67583
* ccc/Driver: -r option doesn't take an argument.Daniel Dunbar2009-03-242-2/+2
| | | | llvm-svn: 67581
* Template instantiation for destructors. This is somewhat repetitive;Douglas Gregor2009-03-242-2/+52
| | | | | | eliminating the duplication is next on the list. llvm-svn: 67579
* Fix the ABI convention for struct returns on x86 outside of Darwin.Eli Friedman2009-03-231-1/+9
| | | | llvm-svn: 67577
* Another use of adjustParameterType. Plus, GetTypeForDeclarator willDouglas Gregor2009-03-231-8/+2
| | | | | | | | always get ParmVarDecls with already-adjusted types. Assert it. Thanks, Anders! llvm-svn: 67576
OpenPOWER on IntegriCloud