ayrivera added inline comments.

================
Comment at: lld/ELF/Driver.cpp:895
   const char *argv[] = {config->progName.data(), opt.data()};
+  cl::ResetAllOptionOccurrences();
   if (cl::ParseCommandLineOptions(2, argv, "", &os))
----------------
Hi,

I built locally lld and came across an issue. The ELF driver isn't recognizing 
multiple -mllvm options. It only process the last -mllvm option that was 
entered in the command line. For example, I can add -mllvm -print-after-all 
-debug-pass=Arguments and it only prints the information from 
-debug-pass=Arguments, and not the IR and the debug data. If I swap the order, 
then the IR is printed and not the debug information.

I noticed that this change set added a call to cl:ResetAllOptionOccurrences() 
(line 895) inside parseClangOption. The function parseClangOption is called 
inside the loop that process the -mllvm options. If I comment this line, then 
everything works correctly and I can pass multiple -mllvm options through the 
command.

Is this an intended behavior or an actual issue? Thanks for your time.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70378/new/

https://reviews.llvm.org/D70378

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to