summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2010-05-20 15:32:11 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2010-05-20 15:32:11 +0000
commit02ccd28a92b1b3465fc2102ada983709e5ed407d (patch)
treed5e8cccf856f88256037e093484c107ff24c0556 /clang/lib/AST/Decl.cpp
parent80a9608442b4d6360fd2dacd9c3b37bdbe61e38a (diff)
downloadbcm5719-llvm-02ccd28a92b1b3465fc2102ada983709e5ed407d.tar.gz
bcm5719-llvm-02ccd28a92b1b3465fc2102ada983709e5ed407d.zip
Added TemplateArgumentListInfo to FunctionTemplateSpecializationInfo.
llvm-svn: 104226
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r--clang/lib/AST/Decl.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index b8bd3109929..695a8b8b514 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1289,11 +1289,22 @@ FunctionDecl::getTemplateSpecializationArgs() const {
return 0;
}
+const TemplateArgumentListInfo *
+FunctionDecl::getTemplateSpecializationArgsAsWritten() const {
+ if (FunctionTemplateSpecializationInfo *Info
+ = TemplateOrSpecialization
+ .dyn_cast<FunctionTemplateSpecializationInfo*>()) {
+ return Info->TemplateArgumentsAsWritten;
+ }
+ return 0;
+}
+
void
FunctionDecl::setFunctionTemplateSpecialization(FunctionTemplateDecl *Template,
const TemplateArgumentList *TemplateArgs,
void *InsertPos,
- TemplateSpecializationKind TSK) {
+ TemplateSpecializationKind TSK,
+ const TemplateArgumentListInfo *TemplateArgsAsWritten) {
assert(TSK != TSK_Undeclared &&
"Must specify the type of function template specialization");
FunctionTemplateSpecializationInfo *Info
@@ -1305,6 +1316,7 @@ FunctionDecl::setFunctionTemplateSpecialization(FunctionTemplateDecl *Template,
Info->Template.setPointer(Template);
Info->Template.setInt(TSK - 1);
Info->TemplateArguments = TemplateArgs;
+ Info->TemplateArgumentsAsWritten = TemplateArgsAsWritten;
TemplateOrSpecialization = Info;
// Insert this function template specialization into the set of known
OpenPOWER on IntegriCloud