add FE option "-std=c++11" by default

This commit is contained in:
dfukalov
2016-03-02 18:01:51 +03:00
parent 1b926d03b5
commit dcdcd5450b
+9 -10
View File
@@ -299,17 +299,17 @@ namespace {
const MacroDefinition &MD, SourceRange Range, const MacroDefinition &MD, SourceRange Range,
const MacroArgs *Args) override const MacroArgs *Args) override
{ {
if (_sm->isWrittenInMainFile(Range.getBegin())) if (_sm->isWrittenInMainFile(Range.getBegin()))
{ {
for (unsigned int i = 0; Args && i < MD.getMacroInfo()->getNumArgs(); i++) for (unsigned int i = 0; Args && i < MD.getMacroInfo()->getNumArgs(); i++)
{ {
StringRef macroName = MacroNameTok.getIdentifierInfo()->getName(); StringRef macroName = MacroNameTok.getIdentifierInfo()->getName();
std::vector<Token> toks; std::vector<Token> toks;
// Code below is a kind of stolen from 'MacroArgs::getPreExpArgument' // Code below is a kind of stolen from 'MacroArgs::getPreExpArgument'
// to workaround the 'const' MacroArgs passed into this hook. // to workaround the 'const' MacroArgs passed into this hook.
const Token * start = Args->getUnexpArgument(i); const Token * start = Args->getUnexpArgument(i);
size_t len = Args->getArgLength(start) + 1; size_t len = Args->getArgLength(start) + 1;
_pp->EnterTokenStream(ArrayRef<Token>(start,len), false); _pp->EnterTokenStream(ArrayRef<Token>(start,len), false);
do { do {
toks.push_back(Token()); toks.push_back(Token());
Token & tk = toks.back(); Token & tk = toks.back();
@@ -657,10 +657,9 @@ int main(int argc, const char **argv) {
for (auto Stage : compilationStages) for (auto Stage : compilationStages)
{ {
Tool.appendArgumentsAdjuster(combineAdjusters( Tool.appendArgumentsAdjuster(getInsertArgumentAdjuster(Stage, ArgumentInsertPosition::BEGIN));
getInsertArgumentAdjuster(Stage, ArgumentInsertPosition::BEGIN), Tool.appendArgumentsAdjuster(getInsertArgumentAdjuster("-std=c++11"));
getClangSyntaxOnlyAdjuster())); Tool.appendArgumentsAdjuster(getClangSyntaxOnlyAdjuster());
Result = Tool.run(action.get()); Result = Tool.run(action.get());
Tool.clearArgumentsAdjusters(); Tool.clearArgumentsAdjusters();