<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    more context:<br>
    void* DynamicLibrary::SearchForAddressOfSymbol(const char
    *symbolName) calls the macro <br>
    <pre wrap="">EXPLICIT_SYMBOL</pre>
    to return a (void*) pointer to a FILE* from a named argument which
    is either stderr, stdin, or stdout.<br>
    <br>
    the musl libc defines these symbols as const FILE* (which is
    perfectly legal), so the implicit cast to void* fails.<br>
    <br>
    adding the explicit cast to void* to the macro fixes the issue, and
    since the function returns a (void*) that is not only perfectly
    fine, but the only right thing to do.<br>
    <br>
    <br>
    On 03/03/2012 01:02 AM, John Spencer wrote:
    <blockquote cite="mid:4F515FA2.9030803@barfooze.de" type="cite">this
      caused a build error with musl libc, which defines stderr & co
      as const.
      <br>
      <br>
      --JS
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>