tra added a comment.

In D79344#2026180 <https://reviews.llvm.org/D79344#2026180>, @tra wrote:

> The problem is reproducible in upstream clang. Let's see if I can reduce it 
> to something simpler.


Reduced it down to this -- compiles with clang w/o the patch, but fails with it.

  __attribute__((device)) double copysign(double, double);
  __attribute__((device)) double copysign(float, double);
  template <typename> struct a { static const bool b = true; };
  template <bool, class> struct c;
  template <class f> struct c<true, f> { typedef f g; };
  template <typename d, typename h>
  __attribute__((device)) typename c<a<h>::b, double>::g copysign(d, h) {
    double e = copysign(0, e);
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79344/new/

https://reviews.llvm.org/D79344



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to