Dan Gohman
34be8be297
Fix paths; AutoRegen.sh changes its current working directory to be the
...
autoconf directory, but these paths need to be relative to the main
source directory.
llvm-svn: 67655
2009-03-24 23:46:25 +00:00
Dan Gohman
afcd6a3133
Update for autoconf 2.6x;
...
llvm-svn: 67654
2009-03-24 23:45:13 +00:00
Sebastian Redl
f769df5ef9
Parse deleted function definitions and hook them up to Doug's machinery.
...
llvm-svn: 67653
2009-03-24 22:27:57 +00:00
Misha Brukman
d1d2c50ea7
Converted a1.ll to unittests.
...
llvm-svn: 67652
2009-03-24 21:36:09 +00:00
Duncan Sands
61837e6dc8
Mention explicitly that the Ada front-end will not bootstrap.
...
The configure line had --disable-bootstrap, but it was not
clear that this is essential.
llvm-svn: 67651
2009-03-24 21:16:39 +00:00
Devang Patel
94406c954f
Encode language.
...
llvm-svn: 67650
2009-03-24 20:35:51 +00:00
Evan Cheng
f413a88839
Fix PR3845: Avoid stale MachineInstruction pointer reference.
...
llvm-svn: 67649
2009-03-24 20:33:17 +00:00
Douglas Gregor
64259f5143
Type::isObjectType now implements the (more sensible) C++ definition
...
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
2009-03-24 20:32:41 +00:00
Dan Gohman
24e02b1043
Fix bash-isms.
...
llvm-svn: 67647
2009-03-24 20:21:37 +00:00
Dan Gohman
631f085837
Set the svn:mime-type to text/x-sh, so that diffs work.
...
llvm-svn: 67646
2009-03-24 20:20:28 +00:00
Daniel Dunbar
1386495406
Driver: Handle -flto, -O4, and tweak -emit-llvm to match llvm-gcc.
...
- -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
2009-03-24 20:17:30 +00:00
Douglas Gregor
c9a1a3b9d9
Fix a few isObjectTypes that really need to be isIncompleteOrObject
...
types; add another use of RequireCompleteType.
llvm-svn: 67644
2009-03-24 20:13:58 +00:00
Douglas Gregor
ac1fb65d0c
Make sure to use RequireCompleteType rather than testing for
...
incomplete types. RequireCompleteType is needed when the type may be
completed by instantiating a template.
llvm-svn: 67643
2009-03-24 19:52:54 +00:00
Gabor Greif
e7e5becdd2
simplify logic and get rid of the assumption that operand 0 is the callee
...
llvm-svn: 67642
2009-03-24 19:28:39 +00:00
Daniel Dunbar
6b5244d600
Driver: Warn when 'clang' is used to compile a source file we could
...
conceivably handle, but are defaulting to not using clang for.
llvm-svn: 67641
2009-03-24 19:14:56 +00:00
Daniel Dunbar
88f356e16b
Driver: Change default use of "clang" compiler.
...
- 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
2009-03-24 19:02:31 +00:00
Daniel Dunbar
8fa879d39f
Move ToolChain::ShouldUseClangCompiler to
...
Driver::ShouldUseClangCompiler.
- No functionality change.
llvm-svn: 67639
2009-03-24 18:57:02 +00:00
Chris Lattner
306813cbbb
canonicalize inttoptr and ptrtoint instructions which cast pointers
...
to/from integer types that are not intptr_t to convert to intptr_t
then do an integer conversion to the dest type. This exposes the
cast to the optimizer.
llvm-svn: 67638
2009-03-24 18:35:40 +00:00
Dale Johannesen
4d7e4ee799
fix one more fp80 case (used only by Interpreter)
...
and streamline code here a bit.
llvm-svn: 67636
2009-03-24 18:16:17 +00:00
Chris Lattner
d9eb41177a
two changes:
...
1. Make instcombine always canonicalize trunc x to i1 into an icmp(x&1). This
exposes the AND to other instcombine xforms and is more of what the code
generator expects.
2. Rewrite the remaining trunc pattern match to use 'match', which
simplifies it a lot.
llvm-svn: 67635
2009-03-24 18:15:30 +00:00
Daniel Dunbar
038f5d6ef0
Driver: Translate -fverbose-asm for LLVM backend.
...
- <rdar://problem/6715707> driver should translate -fverbose-asm into
-asm-verbose
llvm-svn: 67634
2009-03-24 17:59:06 +00:00
Mike Stump
90a3707225
Really fix cmake style builds.
...
llvm-svn: 67633
2009-03-24 17:52:34 +00:00
Daniel Dunbar
827faf8f2b
Driver: Result files shouldn't be removed on failure when -save-temps
...
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
2009-03-24 17:49:01 +00:00
Dale Johannesen
f259f3f312
Change JIT for different layout of fp80.
...
llvm-svn: 67629
2009-03-24 17:35:45 +00:00
Daniel Dunbar
9ea0e77572
Driver: ArgList::getLastArg was in fact returning the first matching arg.
...
- <rdar://problem/6715818> clang doesn't honor gcc semantic that last
-O optimization option wins.
llvm-svn: 67628
2009-03-24 17:31:30 +00:00
Anders Carlsson
b57738b09c
Fix the bug that Eli noticed where we wouldn't look at function decls outside the class declaration.
...
llvm-svn: 67627
2009-03-24 17:23:42 +00:00
Chris Lattner
f37e09e0fc
improve error recovery for when type parsing fails.
...
llvm-svn: 67626
2009-03-24 17:21:43 +00:00
Chris Lattner
deab7250fb
fix "Comment#1" from PR3872
...
llvm-svn: 67625
2009-03-24 17:05:27 +00:00
Chris Lattner
803802d4d6
random cleanups.
...
llvm-svn: 67624
2009-03-24 17:04:48 +00:00
Douglas Gregor
4044d995c9
Template instantiation for constructors
...
llvm-svn: 67623
2009-03-24 16:43:20 +00:00
Dan Gohman
9fc30d5c30
Add a testcase for the scheduling heuristic introduced in r67586.
...
llvm-svn: 67622
2009-03-24 16:38:27 +00:00
Chris Lattner
02428f6aa6
-arch ppc should change the triple to powerpc-foo not to ppc-foo.
...
Similarly for ppc64. This should probably move into the driver, along
with all the other target selection stuff other than -triple.
llvm-svn: 67621
2009-03-24 16:18:41 +00:00
Douglas Gregor
0caea8cca7
Add another C++ open project
...
llvm-svn: 67620
2009-03-24 16:16:53 +00:00
Chris Lattner
73a7cab9e1
change the __VERSION__ string to be more sensible. It would be useful to include the clang version # too.
...
llvm-svn: 67619
2009-03-24 16:09:18 +00:00
Chris Lattner
c35847e109
more tidying: name the components of PhysReg in the case when
...
the target constraint specifies a specific physreg.
llvm-svn: 67618
2009-03-24 15:27:37 +00:00
Chris Lattner
42eceb3491
Tidy a bit more.
...
llvm-svn: 67617
2009-03-24 15:25:07 +00:00
Chris Lattner
246eda43bd
simplify this code a bit now that "allocation to a vreg class" can never
...
fail.
llvm-svn: 67616
2009-03-24 15:22:11 +00:00
Daniel Dunbar
d7a1860eba
Driver: Forward -MMD (not -MM) to clang-cc; this got lost in
...
translation, the former we support, the later we don't (yet).
llvm-svn: 67611
2009-03-24 07:20:59 +00:00
Daniel Dunbar
2afa8abdfb
Update TestRunner.sh for renaming.
...
- 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
2009-03-24 06:17:45 +00:00
Ted Kremenek
97eaaddc22
More path updates with clang-cc...
...
llvm-svn: 67609
2009-03-24 05:30:14 +00:00
Ted Kremenek
c13a6bc593
Update scan-build/ccc-analyzer to use 'clang-cc' instead of 'clang'.
...
llvm-svn: 67608
2009-03-24 04:29:13 +00:00
Daniel Dunbar
2dbe89af65
Install clang-cc to libexec/clang-cc (instead of bin/clang-cc).
...
- Updated ccc & driver to look in libexec/ for tools.
llvm-svn: 67607
2009-03-24 04:07:10 +00:00
Daniel Dunbar
36245c5a90
Rename clang-driver to clang.
...
Again, I tried to update cmake but it is untested.
llvm-svn: 67606
2009-03-24 03:07:05 +00:00
Daniel Dunbar
e5a7ecc23a
Move <root>/Driver into <root>/tools/clang-cc.
...
Again, I tried to update cmake but it is untested.
llvm-svn: 67605
2009-03-24 03:00:12 +00:00
Daniel Dunbar
3db73ab7f6
Add CMake files for tools/driver; I am just guessing here, can someone test/fix?
...
llvm-svn: 67604
2009-03-24 02:52:57 +00:00
Daniel Dunbar
bf1fe8c36c
Support member reference on ?: of struct type.
...
llvm-svn: 67603
2009-03-24 02:38:23 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Daniel Dunbar
4aacad1f93
Use not instead of ! in tests.
...
llvm-svn: 67601
2009-03-24 01:59:55 +00:00
Anders Carlsson
8f0d218598
Handle pointers to arrays of abstract types.
...
llvm-svn: 67598
2009-03-24 01:46:45 +00:00
Anders Carlsson
b0ab31b7f6
Remove a task that's completed now.
...
llvm-svn: 67596
2009-03-24 01:25:56 +00:00