Anders Carlsson
1f911dce22
Instantiation support for 'this'
...
llvm-svn: 71886
2009-05-15 20:26:03 +00:00
Douglas Gregor
82049e6bdd
Move statement instantiation into its own file. No functionality change
...
llvm-svn: 71872
2009-05-15 18:22:25 +00:00
Anders Carlsson
19b8c4ce36
Instantiate return statements.
...
llvm-svn: 71825
2009-05-15 00:48:27 +00:00
Anders Carlsson
03b0dd5913
Add NullStmt::Clone and use it
...
llvm-svn: 71823
2009-05-15 00:21:21 +00:00
Anders Carlsson
f42de874b3
Instantiate goto and label statements. (Very useful, I know)
...
llvm-svn: 71822
2009-05-15 00:15:26 +00:00
Douglas Gregor
923feac4e2
Implement template instantiation for DeclStmt
...
llvm-svn: 71818
2009-05-15 00:01:03 +00:00
Douglas Gregor
0555e5fbce
Template instantiation for the NULL statement. Lame, I know
...
llvm-svn: 71816
2009-05-14 23:40:54 +00:00
Douglas Gregor
b4850465b7
Introduce basic support for instantiating the definitions of member
...
functions of class templates. Only compound statements and expression
statements are currently implemented.
llvm-svn: 71814
2009-05-14 23:26:13 +00:00
Douglas Gregor
372565211e
Introduce a stack of instantiation scopes that are used to store the mapping from variable declarations that occur within templates to their instantiated counterparts
...
llvm-svn: 71799
2009-05-14 21:44:34 +00:00
Douglas Gregor
d002c7bc58
Encapsulate template arguments lists in a new class,
...
TemplateArgumentList. This avoids the need to pass around
pointer/length pairs of template arguments lists, and will eventually
make it easier to introduce member templates and variadic templates.
llvm-svn: 71517
2009-05-11 23:53:27 +00:00
Douglas Gregor
f21eb49a04
Revamp our representation of C++ nested-name-specifiers. We now have a
...
uniqued representation that should both save some memory and make it
far easier to properly build canonical types for types involving
dependent nested-name-specifiers, e.g., "typename T::Nested::type".
This approach will greatly simplify the representation of
CXXScopeSpec. That'll be next.
llvm-svn: 67799
2009-03-26 23:50:42 +00:00
Douglas Gregor
3d0d4b833a
Move template instantiation for expressions into a separate file
...
llvm-svn: 67660
2009-03-25 00:27:28 +00:00