aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AsmParser/llvmAsmParser.y15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index be3614780d..d7c1723b69 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1445,20 +1445,19 @@ TargetDefinition : ENDIAN '=' BigOrLittle {
ThrowException("Invalid pointer size: '" + utostr($3) + "'!");
}
| TRIPLE '=' STRINGCONSTANT {
- std::string triple($3);
- CurModule.CurrentModule->setTargetTriple(triple);
+ CurModule.CurrentModule->setTargetTriple($3);
+ free($3);
};
-LibrariesDefinition : '[' LibList ']'
- ;
+LibrariesDefinition : '[' LibList ']';
LibList : LibList ',' STRINGCONSTANT {
- std::string lib($3);
- CurModule.CurrentModule->linsert(lib);
+ CurModule.CurrentModule->addLibrary($3);
+ free($3);
}
| STRINGCONSTANT {
- std::string lib($1);
- CurModule.CurrentModule->linsert(lib);
+ CurModule.CurrentModule->addLibrary($1);
+ free($1);
}
| /* empty: end of list */ {
}