Chris Lattner
22d059dbde
follow llvm mainline, where PointerLikeTypeInfo got renamed
...
to PointerLikeTypeTraits.
llvm-svn: 67974
2009-03-29 00:39:47 +00:00
Chris Lattner
a00f0d7e4c
rename PointerLikeTypeInto to PointerLikeTypeTraits, add trait for
...
# low bits free, and move to its own header.
llvm-svn: 67973
2009-03-29 00:39:30 +00:00
Ted Kremenek
554b5370e4
scan-build: Also look for clang-cc in ../libexec
...
llvm-svn: 67972
2009-03-29 00:31:32 +00:00
Chris Lattner
8eda11bd9d
now that you can put a PointerIntPair in a SmallPtrSet, remove some
...
hackish workarounds from memdep
llvm-svn: 67971
2009-03-29 00:24:04 +00:00
Chris Lattner
dc2999b4df
teach SmallPtrSet that PointerIntPair is "basically a pointer".
...
llvm-svn: 67970
2009-03-29 00:18:42 +00:00
Eli Friedman
bbcf49e410
Initial implementation of ARM ABI. Mostly untested. Note that I'm not
...
really intending to take ownership of this; I wrote this mostly because
I was curious about how the ARM ABI works. It should be a decent start,
though.
llvm-svn: 67969
2009-03-29 00:15:25 +00:00
Chris Lattner
a59a3e2d10
QualType can go in SmallPtrSet now, simplify code that used to have
...
to work around this.
llvm-svn: 67968
2009-03-29 00:04:01 +00:00
Chris Lattner
5ab14f5175
implement the PointerLikeTypeInfo trait for QualType, allowing
...
it to be stuck into a SmallPtrSet.
llvm-svn: 67967
2009-03-29 00:03:08 +00:00
Anders Carlsson
bb1e4724f1
More improvements to namespace aliases. We now support everything except aliases in using directives.
...
llvm-svn: 67966
2009-03-28 23:53:49 +00:00
Anders Carlsson
c8820e5f9f
Handle the case where the namespace decl is an alias.
...
llvm-svn: 67965
2009-03-28 23:50:18 +00:00
Anders Carlsson
3694935cd2
Fix lookup bug
...
llvm-svn: 67964
2009-03-28 23:49:35 +00:00
Anders Carlsson
f03bb51a00
Let getIdentifierNamespaceForKind know about aliases and have it treat them just like namespace decls.
...
llvm-svn: 67963
2009-03-28 23:02:53 +00:00
Anders Carlsson
ff25fdf2fb
Create AST nodes for namespace aliases.
...
llvm-svn: 67962
2009-03-28 22:58:02 +00:00
Anders Carlsson
47952aec09
Parse the location of the 'namespace' token to ActOnNamespaceAliasDef. No functionality change.
...
llvm-svn: 67961
2009-03-28 22:53:22 +00:00
Ted Kremenek
035cf930d5
Fix regression in pointer comparison with NULL (e.g., 0 != ptr). This fixes
...
<rdar://problem/6732151>.
llvm-svn: 67954
2009-03-28 19:59:33 +00:00
Chris Lattner
356d974a93
add a note
...
llvm-svn: 67953
2009-03-28 19:26:55 +00:00
Chris Lattner
83f095cc7e
Introduce a new OpaquePtr<N> struct type, which is a simple POD wrapper for a
...
pointer. Its purpose in life is to be a glorified void*, but which does not
implicitly convert to void* or other OpaquePtr's with a different UID.
Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the
entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This
makes the C++ compiler enforce that these aren't convertible to other opaque
types.
We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc,
but I don't plan to do that in the short term.
The one outstanding known problem with this patch is that we lose the
bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to
bitmangle the success bit into the low bit of DeclPtrTy. I will rectify
this with a subsequent patch.
llvm-svn: 67952
2009-03-28 19:18:32 +00:00
Chris Lattner
b7de9b7704
sort alphabetically
...
llvm-svn: 67951
2009-03-28 19:10:22 +00:00
Rafael Espindola
1f11c3c36f
Use array_lengthof
...
llvm-svn: 67950
2009-03-28 19:02:18 +00:00
Rafael Espindola
6ff3dabbb4
Have only one definition of X86AddrNumOperands.
...
llvm-svn: 67949
2009-03-28 18:55:31 +00:00
Ted Kremenek
b505811250
Adjust control-flow endpoints for '&&' and '||'.
...
llvm-svn: 67948
2009-03-28 17:33:57 +00:00
Ted Kremenek
ae1c4a40ef
Add comparison operators for PathDiagosticLocation.
...
llvm-svn: 67947
2009-03-28 17:33:08 +00:00
Ted Kremenek
04ab6c8b17
Add comparison operators for SourceRange.
...
llvm-svn: 67946
2009-03-28 17:32:39 +00:00
Rafael Espindola
c2a17d3022
Make code a bit less brittle by no hardcoding the number
...
of operands in an address in so many places.
llvm-svn: 67945
2009-03-28 17:03:24 +00:00
Cedric Venet
351c71a85f
CMake: remove TranslationUnit.cpp from build (file has been removed).
...
llvm-svn: 67944
2009-03-28 12:41:49 +00:00
Arnold Schwaighofer
e622cbf385
Make check in CheckTailCallReturnConstraints for ignorable instructions between
...
a CALL and a RET node more generic. Add a test for tail calls with a void
return.
llvm-svn: 67943
2009-03-28 12:36:29 +00:00
Bill Wendling
c619aaf122
Update the Visual Studio docs. Patch by Stefanus!
...
llvm-svn: 67940
2009-03-28 10:24:15 +00:00
Arnold Schwaighofer
83d5420d02
Enable tail call optimization for functions that return a struct (bug 3664) and for functions that return types that need extending (e.g i1).
...
llvm-svn: 67934
2009-03-28 08:33:27 +00:00
Chris Lattner
8372efd39a
move file to proper place.
...
llvm-svn: 67933
2009-03-28 08:04:44 +00:00
Anders Carlsson
b81608499e
As Eli pointed out, it is possible that a namespace lookup is ambiguous!
...
llvm-svn: 67932
2009-03-28 07:51:31 +00:00
Chris Lattner
0527eda02e
declare everything as class to avoid angering the VC++ gods.
...
llvm-svn: 67931
2009-03-28 07:48:03 +00:00
Chris Lattner
dec48eab86
add a traits class for SmallPtrSet that allows us to stick things that are
...
"basically pointers" into it.
llvm-svn: 67930
2009-03-28 07:44:53 +00:00
Chris Lattner
a3d4aeb113
add accessors.
...
llvm-svn: 67929
2009-03-28 07:00:38 +00:00
Chris Lattner
6b6185b18f
some random cleanups
...
llvm-svn: 67928
2009-03-28 06:53:40 +00:00
Chris Lattner
e173d44137
eliminate unneeded iterator wrappers.
...
llvm-svn: 67927
2009-03-28 06:47:16 +00:00
Chris Lattner
330958e9b0
change NamespaceDecl to hold its 'NextNamespace' pointer itself
...
instead of in NextDeclarator. This temporarily increases memory
usage, but simplifies and decouples things.
llvm-svn: 67926
2009-03-28 06:44:59 +00:00
Anders Carlsson
ac2c96528f
Check that the alias points to a valid namespace.
...
llvm-svn: 67925
2009-03-28 06:42:02 +00:00
Ted Kremenek
ae1aa43617
Properly escape special characters in <string>'s in plist file.
...
llvm-svn: 67924
2009-03-28 06:40:54 +00:00
Chris Lattner
529efc74ad
rename some methods.
...
llvm-svn: 67923
2009-03-28 06:33:19 +00:00
Chris Lattner
23b88b73e1
Cleanups for DeclGroup.
...
llvm-svn: 67922
2009-03-28 06:26:18 +00:00
Anders Carlsson
dca83c4676
Check that the namespace alias doesn't conflict with a previous declaration in this scope.
...
llvm-svn: 67921
2009-03-28 06:23:46 +00:00
Chris Lattner
2f14ce0a74
tidy whitespace.
...
llvm-svn: 67920
2009-03-28 06:13:37 +00:00
Chris Lattner
fcd33a68e4
rename NextDeclInScope to NextDeclInContext, since the pointer
...
points within contexts not scopes.
llvm-svn: 67919
2009-03-28 06:04:26 +00:00
Chris Lattner
b129e28d11
simplify getNextDeclInScope
...
llvm-svn: 67918
2009-03-28 05:59:45 +00:00
Evan Cheng
fd81c73cde
Optimize some 64-bit multiplication by constants into two lea's or one lea + shl since imulq is slow (latency 5). e.g.
...
x * 40
=>
shlq $3, %rdi
leaq (%rdi,%rdi,4), %rax
This has the added benefit of allowing more multiply to be folded into addressing mode. e.g.
a * 24 + b
=>
leaq (%rdi,%rdi,2), %rax
leaq (%rsi,%rax,8), %rax
llvm-svn: 67917
2009-03-28 05:57:29 +00:00
Chris Lattner
c0c3dffa3d
reduce indentation, no functionality change.
...
llvm-svn: 67916
2009-03-28 05:44:17 +00:00
Anders Carlsson
9205d55390
Add an ActOnNamespaceAliasDef action and have the parser call it.
...
llvm-svn: 67915
2009-03-28 05:27:17 +00:00
Chris Lattner
1ad4eeb9c7
remove TranslationUnit.
...
llvm-svn: 67914
2009-03-28 04:31:31 +00:00
Chris Lattner
a5adead17b
push more ASTContext goodness out through interfaces that use
...
TranslationUnit
llvm-svn: 67913
2009-03-28 04:27:18 +00:00
Anders Carlsson
72f307a26e
Revert Sebastian's rvalue patch (r67870) since it caused test failures in
...
SemaCXX//overload-member-call.cpp
SemaCXX//overloaded-operator.cpp
SemaTemplate//instantiate-method.cpp
llvm-svn: 67912
2009-03-28 04:17:27 +00:00