Jim Grosbach
cdd3e35005
fix compiler warning
...
llvm-svn: 83132
2009-09-30 00:37:40 +00:00
David Goodwin
8dc2f6fefa
Remove regression that requires post-RA scheduling from a target that does not use that scheduler.
...
llvm-svn: 83128
2009-09-30 00:23:57 +00:00
Bob Wilson
20e5f5ed79
For Darwin, emit all the text section directives together before the dwarf
...
section directives. This causes the assembler to put the text sections at
the beginning of the object file, which helps work around a limitation of the
Darwin ARM relocations. Radar 7255355.
llvm-svn: 83127
2009-09-30 00:23:42 +00:00
Fariborz Jahanian
10ce958550
self-referecing operator '->' member function was causing
...
infinit recursion. This patch fixes it. [13.3.1.2]-p2
llvm-svn: 83124
2009-09-30 00:19:41 +00:00
Devang Patel
c2105298cc
Simplify.
...
llvm-svn: 83123
2009-09-30 00:14:40 +00:00
David Goodwin
17199b56b0
Remove -post-RA-schedule flag and add a TargetSubtarget method to enable post-register-allocation scheduling. By default it is off. For ARM, enable/disable with -mattr=+/-postrasched. Enable by default for cortex-a8.
...
llvm-svn: 83122
2009-09-30 00:10:16 +00:00
Douglas Gregor
aa0beea9a1
Forward-declare ValueSymbolTable so that SymbolTableListTraits.h can be parsed by itself
...
llvm-svn: 83121
2009-09-30 00:08:25 +00:00
Mike Stump
14cf8ecf0b
Add a way for a frontend to generate more complex dwarf location
...
information. This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref. The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes. I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api. Is that a layering violation?
With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme. I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper. Before the old code can be yanked however, similar code in
clang would have to be removed.
Next up, more testing.
llvm-svn: 83120
2009-09-30 00:08:22 +00:00
Douglas Gregor
80a6cc5800
Find operators new/delete in base classes. FIXME -= 2;
...
llvm-svn: 83119
2009-09-30 00:03:47 +00:00
Jim Grosbach
fa6847f099
minor cleanup and add clarifying comment
...
llvm-svn: 83117
2009-09-29 23:17:20 +00:00
John McCall
a192536ebe
Desugaring optimizations. Add single-step desugaring methods to all
...
concrete types. Use unqualified desugaring for getAs<> and sundry.
Fix a few users to either not desugar or use qualified desugar, as seemed
appropriate. Removed Type's qualified desugar method, as it was easy
to accidentally use instead of QualType's.
llvm-svn: 83116
2009-09-29 23:03:30 +00:00
Devang Patel
7b4d52b170
Lookup handler name only when assertions are enabled.
...
llvm-svn: 83114
2009-09-29 22:05:52 +00:00
Douglas Gregor
98496dc3eb
The C++ delete expression strips cv-qualifiers from the pointed-to type. My previous fix eliminated this behavior, so bring it back again.
...
llvm-svn: 83113
2009-09-29 21:38:53 +00:00
Argyrios Kyrtzidis
8da9ce6328
Pull TypeLocVisitor into its own header file.
...
llvm-svn: 83112
2009-09-29 21:27:32 +00:00
Argyrios Kyrtzidis
4361bc1b43
Keep track of type references in DeclReferenceMap.
...
llvm-svn: 83111
2009-09-29 21:26:53 +00:00
Argyrios Kyrtzidis
9c28a3d13c
In ASTVisitor, call the correct base methods.
...
llvm-svn: 83110
2009-09-29 21:26:35 +00:00
Argyrios Kyrtzidis
edd1129c36
Fix Decl class hierarchy.
...
llvm-svn: 83109
2009-09-29 21:26:14 +00:00
Devang Patel
b4034364d6
Add removeMD().
...
llvm-svn: 83107
2009-09-29 20:42:25 +00:00
Devang Patel
5bf7a49fd7
Only one custom meadata of each kind can be attached with an instruction.
...
llvm-svn: 83105
2009-09-29 20:30:57 +00:00
Fariborz Jahanian
3a36ab08b7
13.1-p3 Overloadable declarations
...
Parameter declarations that differ only in the presence or absence of const and/or volatile are equivalent.
llvm-svn: 83104
2009-09-29 20:28:06 +00:00
Jim Grosbach
3ea3fe6594
Additional check for regno==0
...
llvm-svn: 83103
2009-09-29 20:11:10 +00:00
Devang Patel
561977940c
Use assertion instead of early exit to catch malformed custom metadata store.
...
llvm-svn: 83102
2009-09-29 20:01:19 +00:00
Argyrios Kyrtzidis
f881301d3a
Resolve a source location inside the return type of a functon.
...
llvm-svn: 83101
2009-09-29 19:58:16 +00:00
Devang Patel
5d58383ea9
Remove unnecessary cast.
...
llvm-svn: 83100
2009-09-29 19:56:13 +00:00
Argyrios Kyrtzidis
419e38bbe2
When pointing at a type decl reference, ASTLocation is a NamedDeclRef.
...
llvm-svn: 83099
2009-09-29 19:45:58 +00:00
Argyrios Kyrtzidis
05677cae08
Resolve a source location that is inside a type declarator.
...
llvm-svn: 83098
2009-09-29 19:45:41 +00:00
Argyrios Kyrtzidis
0643e333a3
Introduce ObjCInterfaceLoc which provides type source information for ObjC interfaces.
...
llvm-svn: 83097
2009-09-29 19:45:22 +00:00
Argyrios Kyrtzidis
d4bcfaf351
Introduce TypedefLoc::getTypedefDecl().
...
llvm-svn: 83096
2009-09-29 19:44:47 +00:00
Argyrios Kyrtzidis
4cbe85904c
Modify ASTLocation and apart from being a Decl or Stmt, allow it to also be:
...
-A NamedDecl reference
-A TypeLoc
llvm-svn: 83095
2009-09-29 19:44:27 +00:00
Argyrios Kyrtzidis
73360e1bbb
Introduce ObjCProtocolListLoc for keeping source location information for protocol references.
...
llvm-svn: 83094
2009-09-29 19:43:35 +00:00
Argyrios Kyrtzidis
a7a36dfdb6
Introduce ObjCProtocolListType type subclass.
...
This is used only for keeping detailed type source information for protocol references,
it should not participate in the semantics of the type system.
Its protocol list is not canonicalized.
llvm-svn: 83093
2009-09-29 19:42:55 +00:00
Argyrios Kyrtzidis
5ec645b494
Move DeclSpec::setProtocolQualifiers() out of line.
...
llvm-svn: 83092
2009-09-29 19:42:11 +00:00
Argyrios Kyrtzidis
fc1f9e4945
Keep protocol source locations when parsing protocol references.
...
llvm-svn: 83091
2009-09-29 19:41:44 +00:00
Argyrios Kyrtzidis
1632b142b6
Introduce Type::getTypeClassName() that returns the string associated with the TypeClass enum.
...
llvm-svn: 83090
2009-09-29 19:41:13 +00:00
Argyrios Kyrtzidis
402e1dcf6f
Introduce TypeLoc::getSourceRange().
...
llvm-svn: 83089
2009-09-29 19:40:46 +00:00
Argyrios Kyrtzidis
1b7c4ca37d
-Introduce TypeLoc::getOpaqueData()
...
-Make TypeLoc's constructor public.
llvm-svn: 83088
2009-09-29 19:40:20 +00:00
Argyrios Kyrtzidis
81aba1fe53
Add more const-goodness to ASTLocation.
...
llvm-svn: 83087
2009-09-29 19:39:53 +00:00
Daniel Dunbar
d71a03b164
Fix truck sized thinko where Darwin/ARM toolchain didn't look for programs in
...
libexec, *blush*.
llvm-svn: 83086
2009-09-29 18:52:10 +00:00
Daniel Dunbar
88f2300d19
Add a test case demonstrating a situation where we get protocol type checking
...
right for multiple anonymous categories.
llvm-svn: 83085
2009-09-29 18:51:43 +00:00
Devang Patel
b296942f6d
Remove std::string uses from DebugInfo interface.
...
llvm-svn: 83083
2009-09-29 18:40:58 +00:00
Devang Patel
73e8d43588
Create empty StringRef is incoming cstring is NULL.
...
llvm-svn: 83082
2009-09-29 18:39:56 +00:00
Jim Grosbach
a4a7f44cb5
Simplify the tracking of virtual frame index registers. Ranges cannot overlap,
...
so a simple "current register" will suffice. Also add some additional
sanity-checking assertions to make sure things are as we expect.
llvm-svn: 83081
2009-09-29 18:23:15 +00:00
Douglas Gregor
bb3e12fc0b
Handle C++ delete expressions when the overloaded delete operator is a
...
"usual deallocation function" with two arguments. CodeGen will have to
handle this case specifically, since the value for the second argument
(the size of the allocated object) may have to be computed at run
time.
Fixes the Sema part of PR4782.
llvm-svn: 83080
2009-09-29 18:16:17 +00:00
Fariborz Jahanian
91ae9fd9e8
Fixes a nasty bug which only turned up in 32bit build of clang and
...
had to do with an initialized field when multiple type conversions
are ambiguous but must be treated as user defined conversion for
overload resolution purposes.
llvm-svn: 83079
2009-09-29 17:31:54 +00:00
Jim Grosbach
8fc22227bb
Moving register scavenging to a post pass results in virtual registers in
...
the instruction we're scavenging for. The scavenger needs to know to avoid
them when analyzing register usage.
llvm-svn: 83077
2009-09-29 17:24:37 +00:00
David Goodwin
bef958c716
Post-RA regressions.
...
llvm-svn: 83075
2009-09-29 17:10:26 +00:00
Ted Kremenek
73583083f7
Update checker build.
...
llvm-svn: 83074
2009-09-29 17:08:03 +00:00
Ted Kremenek
228539f015
Fix: <rdar://problem/7261075> [RegionStore] crash when handling load: '*((unsigned int *)"????")'
...
This issue was originally reported via personal email by Thomas Clement!
llvm-svn: 83069
2009-09-29 16:36:48 +00:00
Douglas Gregor
78f0fa518c
Make sure to flush raw_string_ostream, from John Thompson
...
llvm-svn: 83066
2009-09-29 15:13:39 +00:00
Douglas Gregor
6b603c9ec5
Allow the PYTHON make variable to override the default Python when running Clang tests, from Ken Dyck.
...
llvm-svn: 83065
2009-09-29 14:54:28 +00:00