<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 19 Feb 2018 10:31, "Aleksei Sidorin via cfe-dev" <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p>Hi all,</p>
    <p>Consider a test case:</p>
    <div>
      <div>
        <div><tt>#include</tt><tt> <stdio.h></tt></div>
        <tt><br>
        </tt>
        <div><tt>typedef</tt><tt> </tt><tt>int</tt><tt> a[];</tt></div>
        <tt><br>
        </tt>
        <div><tt>void</tt><tt> print(</tt><tt>int</tt><tt> *c) {</tt></div>
        <div><tt>   printf(</tt><tt>"%d\n"</tt><tt>, c[</tt><tt>0</tt><tt>]);</tt></div>
        <div><tt>}</tt></div>
        <tt><br>
        </tt>
        <div><tt>int</tt><tt> main() {</tt></div>
        <div><tt>   print(a{</tt><tt>2</tt><tt>});</tt></div>
        <div><tt>   </tt><tt>return</tt><tt> </tt><tt>0</tt><tt>;</tt></div>
        <div><tt>}</tt></div>
      </div>
      <br>
      `g++ -std=gnu++11 -fsyntax-only` fails to compile this code:
      "error: taking address of temporary array". However, clang accepts
      it without any warnings and there is no any ASan output for it.
      Could someone explain me if it a GCC or Clang issue?</div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">It's a GCC bug -- this code is valid. The array to pointer conversion is used to convert the int[1] temporary to a pointer; a reference is not bound to it.</div><div dir="auto"><br></div><div dir="auto">(GCC's behaviour is not unreasonable, though, and perhaps we should warn on such constructs. I would imagine the GCC diagnostic would be suppressed by making c a pointer to const int?)</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><font color="#888888">
    <pre class="m_141986904263821312moz-signature" cols="72">-- 
Best regards,
Aleksei Sidorin,
SRR, Samsung Electronics
</pre>
  </font></div>

<br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div></div>