detemplatify setArgumentList and some other cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65187 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp
index 5a10099..e6b2f84 100644
--- a/lib/Lex/PPDirectives.cpp
+++ b/lib/Lex/PPDirectives.cpp
@@ -40,7 +40,7 @@
/// be reused for allocating new MacroInfo objects.
void Preprocessor::ReleaseMacroInfo(MacroInfo* MI) {
MICache.push_back(MI);
- MI->Destroy();
+ MI->FreeArgumentList();
}
@@ -1097,10 +1097,8 @@
switch (Tok.getKind()) {
case tok::r_paren:
// Found the end of the argument list.
- if (Arguments.empty()) { // #define FOO()
- MI->setArgumentList(Arguments.begin(), Arguments.end());
+ if (Arguments.empty()) // #define FOO()
return false;
- }
// Otherwise we have #define FOO(A,)
Diag(Tok, diag::err_pp_expected_ident_in_arg_list);
return true;
@@ -1117,7 +1115,7 @@
// Add the __VA_ARGS__ identifier as an argument.
Arguments.push_back(Ident__VA_ARGS__);
MI->setIsC99Varargs();
- MI->setArgumentList(Arguments.begin(), Arguments.end());
+ MI->setArgumentList(&Arguments[0], Arguments.size());
return false;
case tok::eom: // #define X(
Diag(Tok, diag::err_pp_missing_rparen_in_macro_def);
@@ -1151,7 +1149,7 @@
Diag(Tok, diag::err_pp_expected_comma_in_arg_list);
return true;
case tok::r_paren: // #define X(A)
- MI->setArgumentList(Arguments.begin(), Arguments.end());
+ MI->setArgumentList(&Arguments[0], Arguments.size());
return false;
case tok::comma: // #define X(A,
break;
@@ -1167,7 +1165,7 @@
}
MI->setIsGNUVarargs();
- MI->setArgumentList(Arguments.begin(), Arguments.end());
+ MI->setArgumentList(&Arguments[0], Arguments.size());
return false;
}
}
diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp
index 7b34cb6..a85b5db 100644
--- a/lib/Lex/Preprocessor.cpp
+++ b/lib/Lex/Preprocessor.cpp
@@ -102,7 +102,6 @@
// destroyed. We still need to run the dstor, however, to free
// memory alocated by MacroInfo.
I->second->Destroy();
- I->second->~MacroInfo();
I->first->setHasMacroDefinition(false);
}