Chris Lattner
6e0e1f49a5
more plumbing for #line propagation. Use happy bit #3
...
out of FileInfo :)
llvm-svn: 63672
2009-02-03 22:13:05 +00:00
Daniel Dunbar
25bd032084
Force triple for codegen tests which have expectations on output
...
types.
llvm-svn: 63669
2009-02-03 21:54:49 +00:00
Chris Lattner
a4e0d1d177
codegen is much farther along than when this was first written.
...
llvm-svn: 63668
2009-02-03 21:54:08 +00:00
Chris Lattner
1eaa70a612
stub out basic #line handling calls.
...
llvm-svn: 63667
2009-02-03 21:52:55 +00:00
Fariborz Jahanian
e80f317886
GNUStep fast enumeration.
...
Patch by David Chisnall.
llvm-svn: 63666
2009-02-03 21:52:35 +00:00
Chris Lattner
ab5d0ca71a
update a couple entries, add a new idea
...
llvm-svn: 63665
2009-02-03 21:51:37 +00:00
Chris Lattner
1927267b9d
silence some warnings.
...
llvm-svn: 63662
2009-02-03 21:29:32 +00:00
Daniel Dunbar
ed1ba4fc12
Use /usr/bin/env to run Python for increased portability. Patch by
...
David Chisnall.
llvm-svn: 63661
2009-02-03 21:25:26 +00:00
Steve Naroff
fcc6fd5c39
Fix <rdar://problem/6521757> clang ObjC rewriter: Mixed Mac and Windows line endings after rewrite.
...
llvm-svn: 63657
2009-02-03 20:39:18 +00:00
Sebastian Redl
3d3f75a995
Allow taking the address of data members, resulting in a member pointer.
...
Pointers to functions don't work yet, and pointers to overloaded functions even less. Also, far too much illegal code is accepted.
llvm-svn: 63655
2009-02-03 20:19:35 +00:00
Daniel Dunbar
fc7c76159c
x86_64 ABI: Initial implementation of ABI compliant parameter passing.
...
- Now only 27/500 failures on ABITest single argument tests; from
350/500. :)
- As with return types, a large percentage of these are likely to be
gcc bugs, not yet reviewed.
Also, fix bug in handling of Ignore ABI type in argument lists.
llvm-svn: 63654
2009-02-03 20:00:13 +00:00
Douglas Gregor
9554952264
Remove a fixed FIXME
...
llvm-svn: 63648
2009-02-03 19:26:44 +00:00
Douglas Gregor
4489e9465f
When looking for a tag name via unqualified name lookup, only look in
...
scopes where the name would be considered a redeclaration if we know
that we're declaring or defining that tag.
llvm-svn: 63647
2009-02-03 19:26:08 +00:00
Douglas Gregor
889ceb752d
Semantic analysis, ASTs, and unqualified name lookup support for C++
...
using directives, from Piotr Rak!
llvm-svn: 63646
2009-02-03 19:21:40 +00:00
Daniel Dunbar
2f219b0770
ABI handling: Implement coercion for argument types (in addition to
...
return types).
llvm-svn: 63645
2009-02-03 19:12:28 +00:00
Fariborz Jahanian
712bfa6478
ir-gen for nonfragile ivar bitfield access (objc2 nonfragile abi).
...
llvm-svn: 63644
2009-02-03 19:03:09 +00:00
Sanjiv Gupta
c1b58d40e6
Targets that don't have stack use global address space for parameters.
...
Specify external linkage for such globals so that llvm optimizer do
not assume there values initialized as zero.
llvm-svn: 63636
2009-02-03 18:07:49 +00:00
Fariborz Jahanian
ebc4c9d2a3
Minor objc2 bug fix.
...
llvm-svn: 63635
2009-02-03 17:34:34 +00:00
Sanjiv Gupta
3cac613eb8
Fixed the typo in comment.
...
llvm-svn: 63634
2009-02-03 17:23:12 +00:00
Chris Lattner
9be4f6d6c7
reclaim my precious bit in FileInfo by ensuring that ContentCache objects
...
are 8-byte aligned.
llvm-svn: 63630
2009-02-03 07:41:46 +00:00
Chris Lattner
c8233df64b
switch SourceManager from using an std::map and std::list of
...
ContentCache objects to using a densemap and list, and allocating
the ContentCache objects from a bump pointer. This does not speed
up or slow down things substantially, but gives us control over
their alignment.
llvm-svn: 63628
2009-02-03 07:30:45 +00:00
Chris Lattner
79f6de0fd0
true is pass, false is success.
...
llvm-svn: 63627
2009-02-03 07:28:12 +00:00
Chris Lattner
96960c82db
disable this test too
...
llvm-svn: 63626
2009-02-03 07:25:43 +00:00
Chris Lattner
a8be8de596
make this fail faster.
...
llvm-svn: 63625
2009-02-03 07:24:53 +00:00
Chris Lattner
a77cad1012
add #include to make more self-contained.
...
llvm-svn: 63624
2009-02-03 07:20:54 +00:00
Daniel Dunbar
32931eb21d
Change ABIInfo to compute information for a full signature at a time
...
(the main point of this restructing).
llvm-svn: 63619
2009-02-03 06:51:18 +00:00
Daniel Dunbar
0136282a9c
Remove ABIArgInfo::Default kind, ABI is now responsible for specifying
...
acceptable kind with more precise semantics.
llvm-svn: 63617
2009-02-03 06:30:17 +00:00
Daniel Dunbar
67dace890f
Add ABIArgInfo::Direct kind, which passes arguments using whatever the
...
native IRgen type is. This is like Default, but without any extra
semantics (like automatic tweaking of structures or void).
llvm-svn: 63615
2009-02-03 06:17:37 +00:00
Chris Lattner
5b0de55045
remove some overly-crazy ideas.
...
llvm-svn: 63614
2009-02-03 06:05:34 +00:00
Daniel Dunbar
5a0acdc982
Add two FIXMEs.
...
llvm-svn: 63613
2009-02-03 06:02:10 +00:00
Daniel Dunbar
b52d077d8b
Always use CGFunctionInfo to access ABI information.
...
llvm-svn: 63612
2009-02-03 05:59:18 +00:00
Daniel Dunbar
313321ea23
Move ABIArgInfo into CGFunctionInfo, computed on creation.
...
- Still have to convert some consumers over.
llvm-svn: 63610
2009-02-03 05:31:23 +00:00
Chris Lattner
a814d96116
Content Cache only needs to be 4-byte aligned. Since it is stored in
...
an std::set, we can't make a strong guarantee about what its alignment
will be. Since I don't need the 3rd bit anyway yet, just change the
assertion.
llvm-svn: 63588
2009-02-03 01:28:04 +00:00
Daniel Dunbar
6d6b0d309a
Move ABIInfo/ABIArgInfo classes into ABIInfo.h
...
llvm-svn: 63586
2009-02-03 01:05:53 +00:00
Douglas Gregor
8761da5f68
Simplify the way in which we inject the names of tag definitions and
...
elaborated-type-specifier declarations into outer scopes while
retaining their proper lexical scope. This way is simpler and more
consistent with the way DeclContexts work, and also fixes
http://llvm.org/bugs/show_bug.cgi?id=3430
llvm-svn: 63581
2009-02-03 00:34:39 +00:00
Fariborz Jahanian
c88a70d885
objc2's ir-gen for nonfragile ivar access.
...
llvm-svn: 63578
2009-02-03 00:09:52 +00:00
Daniel Dunbar
e0be82956b
Memoize CGFunctionInfo construction.
...
llvm-svn: 63576
2009-02-03 00:07:12 +00:00
Mike Stump
99231d5c98
Formatting fix.
...
llvm-svn: 63573
2009-02-02 23:46:21 +00:00
Daniel Dunbar
3668cb2d3c
Change CGFunctionInfo args iterator to not include the return type.
...
llvm-svn: 63571
2009-02-02 23:43:58 +00:00
Douglas Gregor
8bd3c2ebac
Add a macro-based enumeration of all of the Decl nodes (like we do
...
with Stmt/Expr nodes), and convert some of the more mundane
switch-on-all-decl-kinds uses over to use this new file.
llvm-svn: 63570
2009-02-02 23:39:07 +00:00
Daniel Dunbar
bf8c24ad89
Thread CGFunctionInfo construction through CodeGenTypes.
...
- Inefficient & leaks memory currently, will be cleaned up subsequently.
llvm-svn: 63567
2009-02-02 23:23:47 +00:00
Mike Stump
f126e59042
Use the updated CommandLine api for -fno-blocks.
...
llvm-svn: 63563
2009-02-02 22:57:57 +00:00
Nuno Lopes
7cffb63a9d
emit diagnostic when casting a ptr to a small int when doing static initialization (addresses Eli's comments I believe)
...
llvm-svn: 63562
2009-02-02 22:57:15 +00:00
Nuno Lopes
026bcde14b
fix TryToFixInvalidVariablyModifiedType to reject negative array sizes
...
llvm-svn: 63557
2009-02-02 22:32:08 +00:00
Douglas Gregor
bb2e688396
Steve set me straight on this one. GCC was right, EDG was wrong: the
...
direct-initialization following a user-defined conversion can select
any constructor; it just can't employ any user-defined
conversions. So we ban those conversions and classify the constructor
call based on the relationship between the "from" and "to" types in
the conversion.
llvm-svn: 63554
2009-02-02 22:11:10 +00:00
Daniel Dunbar
d931a87f90
More ABI API cleanup.
...
- Lift CGFunctionInfo creation above ReturnTypeUsesSret and
EmitFunction{Epi,Pro}log.
llvm-svn: 63553
2009-02-02 22:03:45 +00:00
Ted Kremenek
e9aee88eed
Clean up indentation.
...
llvm-svn: 63551
2009-02-02 21:45:32 +00:00
Daniel Dunbar
7633cbf005
ABI handling API changes.
...
- Lift CGFunctionInfo creation up to callers of EmitCall.
- Move isVariadic bit out of CGFunctionInfo, take as argument to
GetFunctionType instead.
No functionality change.
llvm-svn: 63550
2009-02-02 21:43:58 +00:00
Douglas Gregor
0e8fc3c773
Add iterators to LookupResult, allowing one to iterate over the
...
non-ambiguous name lookup results without allocating any memory, e.g.,
for sets of overloaded functions.
llvm-svn: 63549
2009-02-02 21:35:47 +00:00
Ted Kremenek
bb70c08c8d
AnalysisConsumer:
...
- Pass "Actions" vector by reference.
- Remove guard against checking macro-generated code.
llvm-svn: 63546
2009-02-02 20:52:40 +00:00