Looks like we'd want something like this:
Index: lib/CodeGen/TargetInfo.cpp
===
--- lib/CodeGen/TargetInfo.cpp (revision 302818)
+++ lib/CodeGen/TargetInfo.cpp (working copy)
@@ -7043,13 +7043,13 @@
ABIArgInfo::getExten
XFAIL'd for hexagon in r302825, filed PR33009 for the miscompile.
Looks like it's only passing empty structs in C++ that is miscompiled, but
that's still pretty serious.
On 11 May 2017 at 14:30, Richard Smith wrote:
> Wow, the Hexagon target is just horribly broken. Reduced testcase:
>
> struct
Wow, the Hexagon target is just horribly broken. Reduced testcase:
struct A { A(); A(const A&); ~A(); };
void f(A a);
void g() { f(A()); }
This completely fails to pass an A object to f. Instrumented version:
#include
#define DUMP(ptr) printf("%s %p\\n", __PRETTY_FUNCTION__, ptr)
struct A {
Hexagon is still broken. :(
http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/7942
-Krzysztof
On 5/11/2017 1:58 PM, Richard Smith via cfe-commits wrote:
Author: rsmith
Date: Thu May 11 13:58:24 2017
New Revision: 302817
URL: http://llvm.org/viewvc/llvm-project?rev=302817&view=rev
Lo
Author: rsmith
Date: Thu May 11 13:58:24 2017
New Revision: 302817
URL: http://llvm.org/viewvc/llvm-project?rev=302817&view=rev
Log:
PR22877: When constructing an array via a constructor with a default argument
in list-initialization, run cleanups for the default argument after each
iteration of t