I think we can get rid of CCC_ADD_ARGS, it is less useful than the other and just predated it.
- Daniel On Tue, Jul 23, 2013 at 9:16 AM, Chad Rosier <[email protected]> wrote: > Adding cfe-commits.. > > > On Tue, Jul 23, 2013 at 12:15 PM, Chad Rosier <[email protected]>wrote: > >> Rafael, >> IIRC, the QA_OVERRIDE_GCC3_OPTIONS and CCC_ADD_ARGS are used in various >> Apple environments and there is no real consensus. Since there's no real >> overhead here I propose we just leave it as is. >> >> Daniel may have some additional insight, so I've cc'ed him. >> >> Daniel? >> >> Chad >> >> >> On Tue, Jul 23, 2013 at 11:56 AM, Rafael Espíndola < >> [email protected]> wrote: >> >>> BTW, are both environment variables really needed? >>> >>> On 21 February 2013 13:56, Chad Rosier <[email protected]> wrote: >>> > Author: mcrosier >>> > Date: Thu Feb 21 12:56:55 2013 >>> > New Revision: 175779 >>> > >>> > URL: http://llvm.org/viewvc/llvm-project?rev=175779&view=rev >>> > Log: >>> > [driver] Handle the processing of the QA_OVERRIDE_GCC3_OPTIONS and >>> CCC_ADD_ARGS >>> > before the DiagnosticsEngine is instantiated. Otherwise, warning >>> options are >>> > not handled correctly. >>> > rdar://13254743 >>> > >>> > Modified: >>> > cfe/trunk/test/Driver/qa_override.c >>> > cfe/trunk/tools/driver/driver.cpp >>> > >>> > Modified: cfe/trunk/test/Driver/qa_override.c >>> > URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/qa_override.c?rev=175779&r1=175778&r2=175779&view=diff >>> > >>> ============================================================================== >>> > --- cfe/trunk/test/Driver/qa_override.c (original) >>> > +++ cfe/trunk/test/Driver/qa_override.c Thu Feb 21 12:56:55 2013 >>> > @@ -1,6 +1,13 @@ >>> > // RUN: env QA_OVERRIDE_GCC3_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore >>> +a +b +c xb Xa Omagic ^-ccc-print-options " %clang x -O2 b -O3 2>&1 | >>> FileCheck %s >>> > +// RUN: env QA_OVERRIDE_GCC3_OPTIONS="x-Werror +-mfoo" %clang -Werror >>> %s -c 2>&1 | FileCheck %s -check-prefix=RM-WERROR >>> > + >>> > // CHECK-NOT: ### >>> > // CHECK: Option 0 - Name: "-ccc-print-options", Values: {} >>> > // CHECK-NEXT: Option 1 - Name: "<input>", Values: {"x"} >>> > // CHECK-NEXT: Option 2 - Name: "-O", Values: {"ignore"} >>> > // CHECK-NEXT: Option 3 - Name: "-O", Values: {"magic"} >>> > + >>> > +// RM-WERROR: ### QA_OVERRIDE_GCC3_OPTIONS: x-Werror +-mfoo >>> > +// RM-WERROR-NEXT: ### Deleting argument -Werror >>> > +// RM-WERROR-NEXT: ### Adding argument -mfoo at end >>> > +// RM-WERROR-NEXT: clang: warning: argument unused during >>> compilation: '-mfoo' >>> > >>> > Modified: cfe/trunk/tools/driver/driver.cpp >>> > URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/driver.cpp?rev=175779&r1=175778&r2=175779&view=diff >>> > >>> ============================================================================== >>> > --- cfe/trunk/tools/driver/driver.cpp (original) >>> > +++ cfe/trunk/tools/driver/driver.cpp Thu Feb 21 12:56:55 2013 >>> > @@ -373,6 +373,32 @@ int main(int argc_, const char **argv_) >>> > } >>> > } >>> > >>> > + // Handle QA_OVERRIDE_GCC3_OPTIONS and CCC_ADD_ARGS, used for >>> editing a >>> > + // command line behind the scenes. >>> > + if (const char *OverrideStr = ::getenv("QA_OVERRIDE_GCC3_OPTIONS")) >>> { >>> > + // FIXME: Driver shouldn't take extra initial argument. >>> > + ApplyQAOverride(argv, OverrideStr, SavedStrings); >>> > + } else if (const char *Cur = ::getenv("CCC_ADD_ARGS")) { >>> > + // FIXME: Driver shouldn't take extra initial argument. >>> > + std::vector<const char*> ExtraArgs; >>> > + >>> > + for (;;) { >>> > + const char *Next = strchr(Cur, ','); >>> > + >>> > + if (Next) { >>> > + ExtraArgs.push_back(SaveStringInSet(SavedStrings, >>> > + std::string(Cur, Next))); >>> > + Cur = Next + 1; >>> > + } else { >>> > + if (*Cur != '\0') >>> > + ExtraArgs.push_back(SaveStringInSet(SavedStrings, Cur)); >>> > + break; >>> > + } >>> > + } >>> > + >>> > + argv.insert(&argv[1], ExtraArgs.begin(), ExtraArgs.end()); >>> > + } >>> > + >>> > llvm::sys::Path Path = GetExecutablePath(argv[0], >>> CanonicalPrefixes); >>> > >>> > IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new >>> DiagnosticOptions; >>> > @@ -438,32 +464,6 @@ int main(int argc_, const char **argv_) >>> > if (TheDriver.CCLogDiagnostics) >>> > TheDriver.CCLogDiagnosticsFilename = >>> ::getenv("CC_LOG_DIAGNOSTICS_FILE"); >>> > >>> > - // Handle QA_OVERRIDE_GCC3_OPTIONS and CCC_ADD_ARGS, used for >>> editing a >>> > - // command line behind the scenes. >>> > - if (const char *OverrideStr = ::getenv("QA_OVERRIDE_GCC3_OPTIONS")) >>> { >>> > - // FIXME: Driver shouldn't take extra initial argument. >>> > - ApplyQAOverride(argv, OverrideStr, SavedStrings); >>> > - } else if (const char *Cur = ::getenv("CCC_ADD_ARGS")) { >>> > - // FIXME: Driver shouldn't take extra initial argument. >>> > - std::vector<const char*> ExtraArgs; >>> > - >>> > - for (;;) { >>> > - const char *Next = strchr(Cur, ','); >>> > - >>> > - if (Next) { >>> > - ExtraArgs.push_back(SaveStringInSet(SavedStrings, >>> > - std::string(Cur, Next))); >>> > - Cur = Next + 1; >>> > - } else { >>> > - if (*Cur != '\0') >>> > - ExtraArgs.push_back(SaveStringInSet(SavedStrings, Cur)); >>> > - break; >>> > - } >>> > - } >>> > - >>> > - argv.insert(&argv[1], ExtraArgs.begin(), ExtraArgs.end()); >>> > - } >>> > - >>> > OwningPtr<Compilation> C(TheDriver.BuildCompilation(argv)); >>> > int Res = 0; >>> > SmallVector<std::pair<int, const Command *>, 4> FailingCommands; >>> > >>> > >>> > _______________________________________________ >>> > cfe-commits mailing list >>> > [email protected] >>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> _______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> >> >> >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
