From: Chris Lattner Date: Sun, 18 Jul 2004 21:56:20 +0000 (+0000) Subject: Add a workaround for a GCC 3.3.2 bug X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f98cfc716d1916e3400d8980c972f75fe47b9061;p=oota-llvm.git Add a workaround for a GCC 3.3.2 bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14976 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index 2337e2e2558..0e0cad96eaa 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -69,7 +69,12 @@ static void AddArgument(const char *ArgName, Option *Opt) { // static void RemoveArgument(const char *ArgName, Option *Opt) { if (CommandLineOptions == 0) return; - assert(getOption(ArgName) == Opt && "Arg not in map!"); +#ifndef NDEBUG + // This disgusting HACK is brought to you courtesy of GCC 3.3.2, which ICE's + // If we pass ArgName directly into getOption here. + std::string Tmp = ArgName; + assert(getOption(Tmp) == Opt && "Arg not in map!"); +#endif CommandLineOptions->erase(ArgName); if (CommandLineOptions->empty()) { delete CommandLineOptions;