Douglas Gregor
ad3f2fcf43
Improved semantic analysis and AST respresentation for function
...
templates.
For example, this now type-checks (but does not instantiate the body
of deref<int>):
template<typename T> T& deref(T* t) { return *t; }
void test(int *ip) {
int &ir = deref(ip);
}
Specific changes/additions:
* Template argument deduction from a call to a function template.
* Instantiation of a function template specializations (just the
declarations) from the template arguments deduced from a call.
* FunctionTemplateDecls are stored directly in declaration contexts
and found via name lookup (all forms), rather than finding the
FunctionDecl and then realizing it is a template. This is
responsible for most of the churn, since some of the core
declaration matching and lookup code assumes that all functions are
FunctionDecls.
llvm-svn: 74213
2009-06-25 22:08:12 +00:00
Evan Cheng
7e687191fd
Unbreak mingw build. Patch by Viktor Kutuzov.
...
llvm-svn: 74212
2009-06-25 22:04:44 +00:00
Bill Wendling
722c6e1b70
Don't grep the -debug output. This isn't the way to test changes.
...
llvm-svn: 74211
2009-06-25 21:59:32 +00:00
Owen Anderson
bc17dc6ed4
Update cmake build files.
...
llvm-svn: 74210
2009-06-25 21:58:34 +00:00
Owen Anderson
f17f6f06fa
Add a class for supporting platform independent thread-local storage.
...
Windows people, please double-check/patch this.
llvm-svn: 74209
2009-06-25 21:58:01 +00:00
Daniel Dunbar
2d2ee150eb
MC: Parse .set and assignments.
...
llvm-svn: 74208
2009-06-25 21:56:11 +00:00
Argyrios Kyrtzidis
bf61749b47
Add some comments and clean-up some leftover code.
...
llvm-svn: 74207
2009-06-25 21:54:50 +00:00
Chris Lattner
a4194b1082
down with unwind info :)
...
llvm-svn: 74206
2009-06-25 21:48:17 +00:00
Fariborz Jahanian
41f792735f
Patch to diagnose and Mark use of implicit default assignment operator.
...
llvm-svn: 74205
2009-06-25 21:45:19 +00:00
Chris Lattner
b3586b6e73
add targetflags to jump tables and constant pool entries.
...
llvm-svn: 74204
2009-06-25 21:35:31 +00:00
Chris Lattner
8e34f98d72
allow setting target operand flags on TargetGlobalAddress nodes.
...
llvm-svn: 74203
2009-06-25 21:21:14 +00:00
Nate Begeman
0359e12208
OpenCL 1.0 Support, patch 1/N: upper case swizzle operator and hex element index.
...
llvm-svn: 74202
2009-06-25 21:06:09 +00:00
Daniel Dunbar
188e87fa21
MC: Truncate values when printing, to keep 'as' happy.
...
llvm-svn: 74201
2009-06-25 21:03:18 +00:00
Evan Cheng
c7ea8df67e
ISD::ADDE / ISD::SUBE updates the carry bit so they should isle to ADCS and SBCS / RSCS.
...
llvm-svn: 74200
2009-06-25 20:59:23 +00:00
Chris Lattner
af5dbfc6f8
start bringing targetoperand flags into isel, first up, ExternalSymbol.
...
llvm-svn: 74199
2009-06-25 18:45:50 +00:00
Argyrios Kyrtzidis
92772215af
Introduce tools/index-test.
...
This tool will be the test bed for indexing related operations. It basically reads PCH files passed by the command line and performs various operations.
Currently it can accept a file:line:column which resolves to a declaration/statement and displays some information about them.
llvm-svn: 74198
2009-06-25 18:22:52 +00:00
Argyrios Kyrtzidis
7c59162edd
Introduce the ResolveLocationInAST function which takes an ASTContext and a SourceLocation and it resolves it into a <Decl*, Stmt*> pair.
...
Decl* is the declaration associated with this source location and Stmt* is the statement/expression that the location points to.
If the location does not point to a statement node, Stmt* is null.
ResolveLocationInAST (along with converting a file:line:column triplet to a SourceLocation) will be useful for an IDE client and for clang's test suite.
llvm-svn: 74197
2009-06-25 18:22:41 +00:00
Argyrios Kyrtzidis
55c34113e4
Handle PCHReader::IgnorePCH, it gets returned for when the file does not exist.
...
llvm-svn: 74196
2009-06-25 18:22:30 +00:00
Argyrios Kyrtzidis
16eecc4245
Set the end range location of a FunctionDecl to the right paren.
...
llvm-svn: 74195
2009-06-25 18:22:24 +00:00
Argyrios Kyrtzidis
0e5ecbda69
Fix column checking for SourceManager::getLocation().
...
llvm-svn: 74194
2009-06-25 18:22:16 +00:00
Mikhail Glushenkov
269884ead5
Better error message.
...
llvm-svn: 74193
2009-06-25 18:21:34 +00:00
Mikhail Glushenkov
2b4a7dc1dc
Regenerate.
...
llvm-svn: 74192
2009-06-25 18:21:10 +00:00
Mikhail Glushenkov
d1d21a1ce9
Update documentation.
...
llvm-svn: 74191
2009-06-25 18:20:44 +00:00
Mikhail Glushenkov
674207eed2
Make -save-temps behave like in GCC 4.5.
...
The -save-temps option now behaves like described in GCC 4.5 release notes
(you can specify output directory for temporary files with -save-temps=obj
-o $DIRNAME). I do not have GCC 4.5 installed, so if there are any
inconsistencies between llvmc and GCC in the implementation of this
feature, please let me know.
llvm-svn: 74190
2009-06-25 18:20:10 +00:00
Owen Anderson
3f76e6f835
Privatize this map.
...
llvm-svn: 74189
2009-06-25 18:13:04 +00:00
Owen Anderson
021c3b0756
Guard dynamic library loading.
...
I did my best at implementing this for Win32, but I don't have a way to test it.
Can someone with access to a Win32 machine test/fix this?
llvm-svn: 74188
2009-06-25 18:12:44 +00:00
Sanjiv Gupta
78bd40ee89
Added floating point conditional operations support via libcalls.
...
llvm-svn: 74187
2009-06-25 18:12:06 +00:00
Chris Lattner
83992b19e4
simplify shouldPrintPLT
...
llvm-svn: 74186
2009-06-25 17:58:52 +00:00
David Goodwin
e892e8bfaf
Test commit
...
llvm-svn: 74185
2009-06-25 17:52:32 +00:00
Chris Lattner
852739b46f
Use target-specific machine operand flags to eliminate a gross hack
...
from the asmprinter.
llvm-svn: 74184
2009-06-25 17:38:33 +00:00
Chris Lattner
1927844ebf
just eliminate the code entirely!
...
llvm-svn: 74183
2009-06-25 17:28:07 +00:00
Ted Kremenek
9ffbd9fb64
Remove declaration for unused and unimplemented static method.
...
llvm-svn: 74182
2009-06-25 17:25:49 +00:00
Chris Lattner
6e70895c1e
Clone target flags when copying mbb operands.
...
llvm-svn: 74181
2009-06-25 17:21:32 +00:00
Owen Anderson
5defd5655e
Provide guards for this shared structure. I'm not sure this actually needs
...
to be shared, but how/where to privatize it is not immediately clear to me.
If any SelectionDAG experts see a better solution, please share!
llvm-svn: 74180
2009-06-25 17:09:00 +00:00
Owen Anderson
e384952e47
Privatize some more debug-related static data.
...
llvm-svn: 74179
2009-06-25 16:55:32 +00:00
Owen Anderson
52d70e2d05
Use a more correct atomic increment style. This isn't really necessary in
...
this case, but it should help avoid issues in the future.
llvm-svn: 74178
2009-06-25 16:32:45 +00:00
Anders Carlsson
7972b14007
Extra asserts never hurt anybody, right?
...
llvm-svn: 74177
2009-06-25 16:06:43 +00:00
Bob Wilson
8f74c88cb6
Revert 74164. We'll want to use this method later.
...
llvm-svn: 74176
2009-06-25 16:03:07 +00:00
Anders Carlsson
7d209570b6
Decltype needs to have a dependent type if the expr passed to it is type dependent. Fixes PR4444.
...
llvm-svn: 74175
2009-06-25 15:00:34 +00:00
Sanjiv Gupta
1a20d2ab98
Identify unconditional gotos and generate a page sel instructions before them.
...
llvm-svn: 74172
2009-06-25 11:03:14 +00:00
Duncan Sands
323fc2a229
Explicit braces to avoid ambiguous ‘else’.
...
llvm-svn: 74171
2009-06-25 09:03:06 +00:00
Bruno Cardoso Lopes
e364a233c0
Support Constant Pool Sections
...
Add section symbols to the symbol table
llvm-svn: 74170
2009-06-25 07:36:24 +00:00
Zhongxing Xu
c53b444d36
remove RegionKills GDM. Now UnknownVal is bound to regions explicitly.
...
llvm-svn: 74168
2009-06-25 05:52:16 +00:00
Zhongxing Xu
2d16073b50
Move element region retrieving logic into a separate function.
...
llvm-svn: 74166
2009-06-25 05:29:39 +00:00
Bob Wilson
350abb9799
Remove unused hasV6T2Ops method. We already have a separate feature to
...
identify Thumb2.
llvm-svn: 74164
2009-06-25 05:20:31 +00:00
Douglas Gregor
9b5f9cd2f7
Make sure install Clang headers when building clang-cc
...
llvm-svn: 74163
2009-06-25 05:07:31 +00:00
Douglas Gregor
d4daf75100
Add missing dependencies to the CMake build system
...
llvm-svn: 74162
2009-06-25 05:03:29 +00:00
Douglas Gregor
2042c3519d
Add missing dependencies to the CMake build system.
...
llvm-svn: 74161
2009-06-25 05:03:06 +00:00
Zhongxing Xu
e67ea5c784
Move all logic for retrieving ElementRegion binding into a separate method.
...
Revert to setting default value approach for handling struct initialization.
llvm-svn: 74160
2009-06-25 04:50:44 +00:00
Chris Lattner
a0117b65a2
add file to cmake
...
llvm-svn: 74159
2009-06-25 04:29:08 +00:00