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
Chris Lattner
66918ee148
remove TranslationUnit from ParseAST.
...
llvm-svn: 67911
2009-03-28 04:13:34 +00:00
Chris Lattner
cf16983179
change HandleTranslationUnit to take an ASTContext instead of TranslationUnit
...
llvm-svn: 67910
2009-03-28 04:11:33 +00:00
Ted Kremenek
cd58cced81
Text PathDiagnosticBuilder::getEnclosingStmt() about '?'
...
llvm-svn: 67909
2009-03-28 04:08:14 +00:00
Anders Carlsson
1894f0d499
Parse namespace aliases.
...
llvm-svn: 67908
2009-03-28 04:07:16 +00:00
Chris Lattner
040d4570c7
remove dead ivar.
...
llvm-svn: 67907
2009-03-28 04:05:05 +00:00
Chris Lattner
d070278ec9
simplify away some dead ownership stuff, TranslationUnit is now
...
just a wrapper around ASTContext.
llvm-svn: 67906
2009-03-28 04:00:23 +00:00
Chris Lattner
edf7eb77cf
hoist TranslationUnit some more.
...
llvm-svn: 67905
2009-03-28 03:56:54 +00:00
Chris Lattner
96c339a661
eliminate some wrappers.
...
llvm-svn: 67904
2009-03-28 03:53:02 +00:00
Chris Lattner
f7d9e2ba1c
eliminate ReadASTBitcodeFile
...
llvm-svn: 67903
2009-03-28 03:49:26 +00:00
Chris Lattner
d286851b57
move serialization logic from TranslationUnit to ASTContext.
...
llvm-svn: 67902
2009-03-28 03:45:20 +00:00
Ted Kremenek
b9411565ea
Teach PathDiagnosticBuilder::getEnclosingStmtLocation() about while/if/do/for,
...
etc., so that the "body" is always considered a top-level statement for edge
transitions (even if it is an expression).
llvm-svn: 67901
2009-03-28 03:37:59 +00:00