<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 13, 2013 at 10:31 PM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On 2013 Nov 13, at 21:41, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>


<br>
> On Wed, Nov 13, 2013 at 7:21 PM, Duncan Exon Smith <<a href="mailto:dexonsmith@apple.com">dexonsmith@apple.com</a>> wrote:<br>
> On Nov 13, 2013, at 3:33 PM, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
><br>
> >   case NCR_Error:<br>
> >     llvm::errs() << "SymbolTable: error while merging " << name << "\n";<br>
> > -    // FALLTHRU<br>
> > -  default:<br>
> > -    llvm::report_fatal_error("SymbolTable::addByName(): unhandled switch clause");<br>
> >   }<br>
><br>
> Was the change in behavior intended, or should you add a new report_fatal_error() call?<br>
><br>
> This change is kind of intended. If something wrong in the input, we sometimes terminate the linker immediately, and sometimes continue processing after printing an error with llvm::err(). Previously the linker is terminated with pretty vague error message ("unhandled switch clause"). With this patch it proceed after printing an error. I was OK in either way, so I just removed default label. I should have made this point clear in the commit log. Sorry about that.<br>


<br>
</div></div>NCR_Error specifically indicates that one of the symbols is absolute; interesting that this isn’t worth terminating over.  I see that some duplicate definitions result in termination.  However, as long as new behavior is intentional, you may want to change the llvm::errs printout to “lld warning: ...” and be more explicit than “error while merging”.<br>

</blockquote><div><br></div><div class="gmail_extra">Yeah, on the second thought, terminating the program would make more sense than continuing the process as you said. Thank you for pointing out. I will address that in a followup patch.</div>

<div><br></div></div></div></div>