<div dir="ltr">That is quite surprising, I admit I haven't seen the stack trace, but I'm inclined to say that something is wrong with the bisection method.  The only thing this change could possibly do is allow an object to be constructed where previously a construction would have failed to compile.  So if this change had any effect on existing code, then llvm-symbolizer shouldn't have even been compiling before.  </div><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 28, 2016 at 2:36 PM Evgenii Stepanov <<a href="mailto:eugeni.stepanov@gmail.com">eugeni.stepanov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This change broke llvm-symbolizer on android/x86 (and only x86), SEGV<br class="gmail_msg">
at startup. Trying to get a stack trace...<br class="gmail_msg">
<br class="gmail_msg">
On Mon, Sep 26, 2016 at 1:08 PM, Zachary Turner via llvm-commits<br class="gmail_msg">
<<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
> Author: zturner<br class="gmail_msg">
> Date: Mon Sep 26 15:08:05 2016<br class="gmail_msg">
> New Revision: 282433<br class="gmail_msg">
><br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=282433&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=282433&view=rev</a><br class="gmail_msg">
> Log:<br class="gmail_msg">
> Allow StringRef to be constructed from a null pointer.<br class="gmail_msg">
><br class="gmail_msg">
> Differential Revision: <a href="https://reviews.llvm.org/D24904" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D24904</a><br class="gmail_msg">
><br class="gmail_msg">
> Modified:<br class="gmail_msg">
>     llvm/trunk/include/llvm/ADT/StringRef.h<br class="gmail_msg">
><br class="gmail_msg">
> Modified: llvm/trunk/include/llvm/ADT/StringRef.h<br class="gmail_msg">
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/StringRef.h?rev=282433&r1=282432&r2=282433&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/StringRef.h?rev=282433&r1=282432&r2=282433&view=diff</a><br class="gmail_msg">
> ==============================================================================<br class="gmail_msg">
> --- llvm/trunk/include/llvm/ADT/StringRef.h (original)<br class="gmail_msg">
> +++ llvm/trunk/include/llvm/ADT/StringRef.h Mon Sep 26 15:08:05 2016<br class="gmail_msg">
> @@ -73,14 +73,14 @@ namespace llvm {<br class="gmail_msg">
>      /// Construct an empty string ref.<br class="gmail_msg">
>      /*implicit*/ StringRef() : Data(nullptr), Length(0) {}<br class="gmail_msg">
><br class="gmail_msg">
> +    /// Disable conversion from nullptr.  This prevents things like<br class="gmail_msg">
> +    /// if (S == nullptr)<br class="gmail_msg">
>      StringRef(std::nullptr_t) = delete;<br class="gmail_msg">
><br class="gmail_msg">
>      /// Construct a string ref from a cstring.<br class="gmail_msg">
> +    LLVM_ATTRIBUTE_ALWAYS_INLINE<br class="gmail_msg">
>      /*implicit*/ StringRef(const char *Str)<br class="gmail_msg">
> -      : Data(Str) {<br class="gmail_msg">
> -        assert(Str && "StringRef cannot be built from a NULL argument");<br class="gmail_msg">
> -        Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior<br class="gmail_msg">
> -      }<br class="gmail_msg">
> +        : Data(Str), Length(Str ? ::strlen(Str) : 0) {}<br class="gmail_msg">
><br class="gmail_msg">
>      /// Construct a string ref from a pointer and length.<br class="gmail_msg">
>      LLVM_ATTRIBUTE_ALWAYS_INLINE<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> llvm-commits mailing list<br class="gmail_msg">
> <a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div>