Eli Friedman
529a99bcf4
Fix the address of a label to be properly considered and emitted as a
...
constant.
llvm-svn: 62948
2009-01-25 01:21:06 +00:00
Eli Friedman
8b7c52658b
Fix for PR2100: merge types for variables.
...
llvm-svn: 62947
2009-01-24 23:49:55 +00:00
Eli Friedman
588395702f
Correct test; sorry for any inconvenience.
...
llvm-svn: 62946
2009-01-24 23:44:26 +00:00
Fariborz Jahanian
a887e63434
Compute instaceStart/instanceSize fields of the class_ro_t meta-data
...
for objc2's non-fragile abi.
llvm-svn: 62945
2009-01-24 23:43:01 +00:00
Sebastian Redl
c6d52f5dfb
Make tentative parsing of pointer-to-member decls work, and fix other stuff pointed out by Doug.
...
llvm-svn: 62944
2009-01-24 23:29:36 +00:00
Eli Friedman
52cc016f21
PR3062: statement expressions should be illegal at file scope. I don't
...
think this has any significant effects at the moment, but it could
matter if we start constant-folding statement expressions like gcc does.
llvm-svn: 62943
2009-01-24 23:09:00 +00:00
Eli Friedman
8549e5dcc8
Fix for PR2910: implement CodeGen for non-constant offsetof.
...
Note that there are still other issues in this area; see PR3396.
llvm-svn: 62942
2009-01-24 22:38:55 +00:00
Eli Friedman
2aa38fea35
Refactor sizeof handling to use constant folding logic for constant
...
sizeof expressions.
llvm-svn: 62941
2009-01-24 22:19:05 +00:00
Nate Begeman
b09b0242ca
Fix an indent and a typo.
...
llvm-svn: 62940
2009-01-24 22:12:48 +00:00
Chris Lattner
6806131c6b
add initial support for the gcc "alignof(decl) is the alignment of the decl
...
not the type" semantics. This can definitely be improved, but is better than
what we had.
llvm-svn: 62939
2009-01-24 21:53:27 +00:00
Dale Johannesen
2b3389a626
Revert previous change; even this mild and clearly
...
more accurate change loses more than it gains on
benchmarks.
llvm-svn: 62938
2009-01-24 21:49:34 +00:00
Sebastian Redl
887ce84b2b
Undo accidental disabling of smart pointers.
...
llvm-svn: 62937
2009-01-24 21:36:33 +00:00
Chris Lattner
5eca6ada3a
Implement C99 6.5.3.4p1, rejecting sizeof(bitfield)
...
llvm-svn: 62936
2009-01-24 21:29:22 +00:00
Fariborz Jahanian
4723fb70a9
Patch to build class meta-data for each implementation
...
of class in objc2's nonfragile abi.
llvm-svn: 62935
2009-01-24 21:21:53 +00:00
Sebastian Redl
9ed6efdd75
Add support for declaring pointers to members.
...
Add serialization support for ReferenceType.
llvm-svn: 62934
2009-01-24 21:16:55 +00:00
Chris Lattner
04964bbebe
remove a bunch of alignment handling code out of CGExprScalar, since
...
alignment must always be a constant. Just let the constant folder
do it.
llvm-svn: 62933
2009-01-24 21:09:45 +00:00
Chris Lattner
24aeeab05c
Improve handling of alignof. alignof(VLA) now works properly for example.
...
llvm-svn: 62932
2009-01-24 21:09:06 +00:00
Chris Lattner
7bf46469f3
fix some const-correctness issues.
...
llvm-svn: 62931
2009-01-24 21:08:33 +00:00
Chris Lattner
096d3ecb51
remove dead code.
...
llvm-svn: 62930
2009-01-24 20:24:49 +00:00
Fariborz Jahanian
9e3ad5220d
This patch builds the meta-class object for each
...
implemented class in objc2's nonfrigile abi.
llvm-svn: 62929
2009-01-24 20:21:50 +00:00
Chris Lattner
8dff017695
Fix PR3386 by handling GCC's rules for alignof, which are substantially
...
different than those for sizeof. Reject alignof(bitfield) like gcc does.
llvm-svn: 62928
2009-01-24 20:17:12 +00:00
Chris Lattner
619393762b
fix a fixme, don't leak the expr on error.
...
llvm-svn: 62927
2009-01-24 19:49:13 +00:00
Chris Lattner
b1355b1545
minor formatting changes, no functionality change.
...
llvm-svn: 62926
2009-01-24 19:46:37 +00:00
Torok Edwin
3cedd4dc64
add note about possible GEP improvement with fields of size 0.
...
llvm-svn: 62925
2009-01-24 19:30:25 +00:00
Daniel Dunbar
134a02586e
Fix invalid evaluation of _Complex float (real & imaginary parts had
...
mismatched semantics).
- Enforce this in APValue.
llvm-svn: 62924
2009-01-24 19:08:01 +00:00
Anders Carlsson
a0b892113a
Handle the 'e' constraint. Fixes PR3385
...
llvm-svn: 62923
2009-01-24 18:03:09 +00:00
Anders Carlsson
b66a312f93
Ignore parens when determining if an expr is a string literal. Fixes PR3382.
...
llvm-svn: 62922
2009-01-24 17:47:50 +00:00
Dan Gohman
73fd5a5651
Add a PR comment to this test.
...
llvm-svn: 62921
2009-01-24 17:32:54 +00:00
Torok Edwin
f4395ea97a
testcase for PR3381.
...
Also it was an empty struct, not a void after all.
llvm-svn: 62920
2009-01-24 17:16:04 +00:00
Dan Gohman
142ccc0e15
Add more documentation mentioning the limitations due to PR2660.
...
llvm-svn: 62919
2009-01-24 15:58:40 +00:00
Torok Edwin
73ff92272f
void* is represented as pointer to empty struct {}.
...
Thus we need to check whether the struct is empty before trying to index into
it. This fixes PR3381.
llvm-svn: 62918
2009-01-24 11:30:49 +00:00
Owen Anderson
ee34b8f179
Some cleanups. No functional changes.
...
llvm-svn: 62917
2009-01-24 10:07:43 +00:00
Daniel Dunbar
ed4361ecbb
Add simple make based harness for running ABI tests.
...
llvm-svn: 62916
2009-01-24 08:43:22 +00:00
Daniel Dunbar
3334a44501
Start filling in x86_64 ABI implementation.
...
- No functionality change, moved behind -use-x86_64-abi option until
it becomes non-experimental.
llvm-svn: 62915
2009-01-24 08:32:22 +00:00
Ted Kremenek
b239341ec4
Updated checker build.
...
llvm-svn: 62914
2009-01-24 08:11:59 +00:00
Ted Kremenek
b3fcaa7a77
Fix crash ElementRegion::getRValueType() when the RvalueType of the ArrayRegion is a typedef and not (directly) a pointer.
...
llvm-svn: 62909
2009-01-24 06:11:36 +00:00
Dale Johannesen
899ecdbbba
Improve the inlining cost function a bit.
...
Little practical effect.
llvm-svn: 62908
2009-01-24 01:27:33 +00:00
Chris Lattner
72cd68fe64
Make InstCombineStoreToCast handle aggregates more aggressively,
...
handling the case in Transforms/InstCombine/cast-store-gep.ll, which
is a heavily reduced testcase from Clang on x86-64.
llvm-svn: 62904
2009-01-24 01:00:13 +00:00
Ted Kremenek
f08ac278ed
More hacking on static analyzer diagnostics. When emitting summary diagnostics the code paths for diagnostics involving paths or single locations are now unified. This patch also constifies many arguments/methods that are touched by this logic, leading to a nice overall code cleanup.
...
llvm-svn: 62903
2009-01-24 00:55:43 +00:00
Mike Stump
82221d62a9
Perform optional clang building.
...
llvm-svn: 62895
2009-01-24 00:00:41 +00:00
Fariborz Jahanian
71394045e4
Some very early work for new objc's
...
meta-data generation.
llvm-svn: 62894
2009-01-23 23:53:38 +00:00
Evan Cheng
6d8970695b
Refactor code. No functionality change.
...
llvm-svn: 62893
2009-01-23 23:27:33 +00:00
Devang Patel
ccfacfff9a
Introduce two DWARF attribute extentions DW_AT_APPLE_optimized, DW_AT_APPLE_flags.
...
DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way.
DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by a project, irrespective of whether the project used makefile, Xcode or something else.
llvm-gcc patch is next.
llvm-svn: 62888
2009-01-23 22:33:47 +00:00
Chris Lattner
832959536a
hopefully address PR3379 by making the P modifier work in x86 inline asm.
...
llvm-svn: 62887
2009-01-23 22:33:40 +00:00
Douglas Gregor
18d30c2342
Fix a small regression in warning about template type parameter redeclarations.
...
llvm-svn: 62886
2009-01-23 22:28:29 +00:00
Ted Kremenek
864ead2076
Output summary diagnostic for each bug report.
...
llvm-svn: 62885
2009-01-23 22:22:49 +00:00
Douglas Gregor
7a95b08fce
More APSInt appeasement
...
llvm-svn: 62884
2009-01-23 22:22:29 +00:00
Devang Patel
486d309b34
Fix test case. Use valid file name and directory in global variable's debug info entry.
...
llvm-svn: 62883
2009-01-23 21:54:18 +00:00
Douglas Gregor
b6b9961fdd
Make sure that all NamedDecls have an identifier namespace.
...
Make sure that we know a call is invalid if we dropped arguments.
llvm-svn: 62882
2009-01-23 21:30:56 +00:00
Gabor Greif
59c431347f
use CallSite::isCalle instead of slow getOperandNo
...
llvm-svn: 62877
2009-01-23 21:17:04 +00:00