diff options
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 15 |
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 */ { } |