Douglas Gregor
73341c4e63
Diagnose VLAs as an error in C++.
...
Also, treat the GNU __null as an integral constant expression to match
GCC's behavior.
llvm-svn: 81490
2009-09-11 00:18:58 +00:00
Steve Naroff
e0064d2e95
Make sure ObjCInterfaceDecl's that are forward declared always contain a valid location.
...
llvm-svn: 81487
2009-09-11 00:12:01 +00:00
Anders Carlsson
fd384d8065
Pass the GlobalDecl to getMangledName, fixes PR4890.
...
llvm-svn: 81486
2009-09-11 00:11:35 +00:00
Anders Carlsson
73fcc95f0f
Pass GlobalDecls to GenerateCode and StartFunction.
...
llvm-svn: 81485
2009-09-11 00:07:24 +00:00
Dan Gohman
11ff570292
Fix indentation.
...
llvm-svn: 81484
2009-09-11 00:05:10 +00:00
Dan Gohman
21c6216c87
Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
...
how to fold notionally-out-of-bounds array getelementptr indices instead
of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
be done in a fairly general way without TargetData, and because not all
constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
more constant folding.
Also, set the "inbounds" flag when the getelementptr indices are
one-past-the-end.
llvm-svn: 81483
2009-09-11 00:04:14 +00:00
Daniel Dunbar
c91aeac18b
Stub out structure for building armv{6,7} libs.
...
llvm-svn: 81482
2009-09-10 23:50:10 +00:00
Anders Carlsson
ecf9bf0158
GlobalDecl doesn't have an explicit constructor anymore.
...
llvm-svn: 81481
2009-09-10 23:43:36 +00:00
Anders Carlsson
38988d7ee0
Add stricter GlobalDecl constructors.
...
llvm-svn: 81480
2009-09-10 23:38:47 +00:00
Fariborz Jahanian
8d6298b272
Fix a regression where write-barrier was not being generated
...
for block pointer.
llvm-svn: 81479
2009-09-10 23:38:45 +00:00
Dan Gohman
7190d48075
Factor out the code for checking that all indices in a getelementptr are
...
within the notional bounds of the static type of the getelementptr (which
is not the same as "inbounds") from GlobalOpt into a utility routine,
and use it in ConstantFold.cpp to check whether there are any mis-behaved
indices.
llvm-svn: 81478
2009-09-10 23:37:55 +00:00
Douglas Gregor
8ef65fbd49
Eliminate some "default"s in CheckICE.
...
llvm-svn: 81477
2009-09-10 23:31:45 +00:00
Daniel Dunbar
85922561ee
Unbreak building of assembly files (broken by my .s -> .S rename).
...
- Noticed & patched by Nick Kledzik.
- This may expose portability issues in the .S files, if so we should either
disable them on non-Darwin, or even better make them portable.
llvm-svn: 81476
2009-09-10 23:27:45 +00:00
Anders Carlsson
78b5493994
Look for overloaded arrow operators in base classes.
...
llvm-svn: 81475
2009-09-10 23:18:36 +00:00
Daniel Dunbar
be6505cbd9
Include universal build step in 'make {Debug,Release,Profile}' targets.
...
llvm-svn: 81474
2009-09-10 23:13:59 +00:00
Dan Gohman
91d598de5c
Give these files top-level comments that describe the current code.
...
llvm-svn: 81473
2009-09-10 23:07:18 +00:00
Daniel Dunbar
8c10ff8f13
Teach LIT2 how to run Clang tests in the objdir for srcdir != objdir builds.
...
llvm-svn: 81472
2009-09-10 23:00:15 +00:00
Daniel Dunbar
7848592ec6
Initial handling of -m{soft-float,hard-float,float-abi=} for ARM.
...
llvm-svn: 81471
2009-09-10 23:00:09 +00:00
Daniel Dunbar
e2cf8f7b53
Move X86 handling of -m[no-]soft-float and -m[no-]red-zone into AddX86TargetArgs.
...
llvm-svn: 81470
2009-09-10 22:59:57 +00:00
Daniel Dunbar
f492c92761
Change getLLVMArchNameForARM to just get the suffix.
...
llvm-svn: 81469
2009-09-10 22:59:51 +00:00
Devang Patel
5ffc3854f6
Fix whitespaces.
...
llvm-svn: 81468
2009-09-10 22:36:12 +00:00
Fariborz Jahanian
c571f790fc
Patch to collect conversion methods in base(s) and derived
...
class into a candidate set.
llvm-svn: 81467
2009-09-10 22:26:16 +00:00
Bill Wendling
fd27201d39
Fix validation errors.
...
llvm-svn: 81466
2009-09-10 22:14:16 +00:00
Bill Wendling
33b693f52b
Fix validation errors.
...
llvm-svn: 81465
2009-09-10 22:12:50 +00:00
Bob Wilson
39f51320ca
Don't swap the operands of a subtraction when trying to create a
...
post-decrement load/store.
llvm-svn: 81464
2009-09-10 22:09:31 +00:00
Dale Johannesen
50f0376f49
Fix uppercaseo.
...
llvm-svn: 81463
2009-09-10 22:01:32 +00:00
Fariborz Jahanian
2cde203392
Non fragile ABI for GNU runtime. Patch bu David Chisnall.
...
llvm-svn: 81462
2009-09-10 21:48:21 +00:00
Kevin Enderby
ce4bec8e0c
Added the ParseInstruction() hook for target specific assembler directives so
...
that things like .word can be parsed as target specific. Moved parsing .word
out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
for other targets that support the .word directive.
llvm-svn: 81461
2009-09-10 20:51:44 +00:00
Anders Carlsson
04e1e22fe7
Don't check use of a member function declaration used if the member function is virtual and the member reference expression doesn't explicitly qualify it. Fixes PR4878.
...
llvm-svn: 81460
2009-09-10 20:48:14 +00:00
Victor Hernandez
7b98b9291c
Fit code within 80 columns
...
llvm-svn: 81459
2009-09-10 20:18:57 +00:00
Sean Callanan
62aebf9fa2
Added XOR instructions for rAX and immediates of
...
various widths.
llvm-svn: 81458
2009-09-10 19:52:26 +00:00
Sean Callanan
64804f37bb
Added MOV instructions between rAX and memory offsets,
...
including segment offsets and (for 8-bit operands)
absolute offsets.
llvm-svn: 81457
2009-09-10 18:33:42 +00:00
Sean Callanan
31bb414efd
Added a variety of PUSH and POP instructions, including
...
ones capable of accessing R/M operands instead of just
registers.
llvm-svn: 81456
2009-09-10 18:29:13 +00:00
Bill Wendling
9535ae42ff
Exit early if exception handling isn't supported.
...
llvm-svn: 81454
2009-09-10 18:28:06 +00:00
Douglas Gregor
7736e2ad98
static_cast, reinterpret_cast, and const_cast can all be used in C++
...
integral constant expressions (for conversions to integer types,
naturally). I don't *think* that const_casts will ever get to this
point, but I also can't convince myself that they won't... so I've
taken the safe route and allowed the ICE checking code to look at
const_cast.
llvm-svn: 81453
2009-09-10 17:44:23 +00:00
Mikhail Glushenkov
d5107d1333
Allow llvmc to take .bc files as input.
...
llvm-svn: 81452
2009-09-10 17:04:32 +00:00
Douglas Gregor
7f737c0015
When performing unqualified name lookup into a DeclContext, also look into
...
all of the parent DeclContexts that aren't represented within the
Scope chain. This fixes some name-lookup problems in out-of-line
definitions of members of nested classes.
llvm-svn: 81451
2009-09-10 16:57:35 +00:00
Andreas Neustifter
753441e318
Make ProfileEstimator more robust on general CFGs.
...
llvm-svn: 81450
2009-09-10 16:30:38 +00:00
Chris Lattner
eba6c725d0
add another broken version of gcc, thanks to Niels Moller for pointing this out.
...
llvm-svn: 81449
2009-09-10 16:25:02 +00:00
Mikhail Glushenkov
c1e23592ec
Distinguish between 'empty' and empty DAG marker.
...
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
7b047b9c81
Add a logical 'not' operator to llvmc's TableGen dialect.
...
llvm-svn: 81447
2009-09-10 16:21:38 +00:00
Fariborz Jahanian
d1f1ff3978
Get the size of object to pass to objc_memmove_collectable()
...
from correct field of TypeInfo.
llvm-svn: 81446
2009-09-10 16:20:31 +00:00
Nuno Lopes
bc56152196
fix leakage of Module
...
llvm-svn: 81445
2009-09-10 14:56:31 +00:00
Nuno Lopes
11ecd54948
set svn:ignore
...
llvm-svn: 81444
2009-09-10 12:05:26 +00:00
Benjamin Kramer
4bf4e8686c
Add some braces to make newer GCCs happy and update CMakeLists.
...
llvm-svn: 81443
2009-09-10 11:31:39 +00:00
Andreas Neustifter
f4858d59e5
Cleaned up code by factoring out common portions of edge loading into function.
...
llvm-svn: 81438
2009-09-10 07:12:35 +00:00
Nick Lewycky
dddf5dcdaf
Correctly handle the case where a comparison is created in one BasicBlock and
...
used by a terminator in another.
llvm-svn: 81437
2009-09-10 07:02:09 +00:00
Bill Wendling
023ed6480e
Comment and whitespace cleanups. No intentional functionality change.
...
llvm-svn: 81436
2009-09-10 06:50:01 +00:00
Daniel Dunbar
fb58b0aaa9
Add code to mangle the triple for LLVM on ARM.
...
- I think we should get rid of this distinction though, but I need to discuss with the interested parties.
llvm-svn: 81435
2009-09-10 06:49:20 +00:00
Bill Wendling
9e5c2065c5
Revert part of my r81424 patch. I removed what looked like superfluous padding
...
from the exception tables. However, Duncan explained why it's a can of worms to
do it the GCC way. I went back to doing it the LLVM way and added Duncan's
explanation so that I don't do this again in the future.
llvm-svn: 81434
2009-09-10 06:27:16 +00:00