[LLVMbugs] [Bug 12703] New: Using -Wl, <anything> causes Clang to emit an erroneous error message
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Apr 30 01:00:12 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=12703
Bug #: 12703
Summary: Using -Wl,<anything> causes Clang to emit an erroneous
error message
Product: clang
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: release blocker
Priority: P
Component: -New Bugs
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: johnw at boostpro.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
You cannot use -Wl or -Xlinker if you also use -o on a compile/link line.
Example:
/usr/local/bin/clang++ -o system.hh.gch system.hh -Wl,-L/usr/local/lib
Outputs this error:
clang-3: error: cannot specify -o when generating multiple output files
This prevents me from adding anything to the link line from a simple compile
command (and yes, I could use -L here instead of -Wl,-L, but this isn't
actually why I'm using -Wl, I just wanted to make it more obvious that the
behavior is wrong).
Here is the code that's going wrong, Driver.cpp, around line 1189:
// It is an error to provide a -o option if we are making multiple output
// files.
if (FinalOutput) {
unsigned NumOutputs = 0;
for (ActionList::const_iterator it = C.getActions().begin(),
ie = C.getActions().end(); it != ie; ++it)
if ((*it)->getType() != types::TY_Nothing)
++NumOutputs;
if (NumOutputs > 1) {
Diag(clang::diag::err_drv_output_argument_with_multiple_files);
FinalOutput = 0;
}
}
--
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.
More information about the llvm-bugs
mailing list