http://llvm.org/bugs/show_bug.cgi?id=14755
Bug #: 14755
Summary: clang driver passes inappropriate options to gcc -x
assembler
Product: clang
Version: 3.2
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: normal
Priority: P
Component: Driver
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
On windows (mingw), a clang 3.2 build does not call as from binutils directly
to assemble code, it calls gcc -x assembler instead. Normally, thats fine, and
trivial test cases compile OK, but when clang is invoked with an option that
GCC does not understand, like -Weverything clang still passes it to gcc,
causing:
i686-w64-mingw32-g++.exe: error: unrecognized command line option
'-Weverything'
clang++: error: assembler (via gcc) command failed with exit code 1 (use -v to
see invocation)
I wasnt able to figure out how to get clang to use as or i686-w64-mingw32-as
directly, but adding:
if (isa<AssembleJobAction>(JA) &&
A->getOption().matches(options::OPT_W_Group))
continue;
to the option check in gcc::Common::ConstructJob() in
clang/lib/Driver/Tools.cpp did the trick, and no warning options are passed.
Hopefully someone more knowledgeable about clang internals can make a better
change like the integrated assembler or at least using as.exe directly instead.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs