<div dir="ltr">Sorry about the breakage, fixed with r225942.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 13, 2015 at 7:48 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">David, Saleem,<br>
<br>
Perhaps you (or anyone reading this) can provide some insight. trunk recently stopped being able to compile tramp3d-v4 on my PPC64/Linux box, with this error:<br>
<br>
test-suite/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.cpp:51974:3: error: invalid input constraint<br>
      'i#*X' in asm<br>
  feclearexcept((FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID));<br>
  ^<br>
/usr/include/bits/fenvinline.h:56:11: note: expanded from macro 'feclearexcept'<br>
                           : : "i#*X"(__builtin_ffs (__excepts)));            \<br>
                               ^<br>
<br>
The full macro definition is:<br>
<br>
/* Inline definition for feclearexcept.  */<br>
# define feclearexcept(__excepts) \<br>
  ((__builtin_constant_p (__excepts)                                          \<br>
    && ((__excepts) & ((__excepts)-1)) == 0                                   \<br>
    && (__excepts) != FE_INVALID)                                             \<br>
   ? ((__excepts) != 0                                                        \<br>
      ? (__extension__ ({ __asm__ __volatile__                                \<br>
                          ("mtfsb0 %s0"                                       \<br>
                           : : "i#*X"(__builtin_ffs (__excepts)));            \<br>
                          0; }))                                              \<br>
      : 0)                                                                    \<br>
   : (feclearexcept) (__excepts))<br>
<br>
<br>
Any idea why?<br>
<br>
Thanks in advance,<br>
Hal<br>
<div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
> From: "David Majnemer" <<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>><br>
> To: <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> Sent: Sunday, January 11, 2015 2:52:38 AM<br>
> Subject: r225600 - Basic: The asm constraint '+#r' isn't valid, reject it<br>
><br>
> Author: majnemer<br>
> Date: Sun Jan 11 02:52:38 2015<br>
> New Revision: 225600<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=225600&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=225600&view=rev</a><br>
> Log:<br>
> Basic: The asm constraint '+#r' isn't valid, reject it<br>
><br>
> Modified:<br>
>     cfe/trunk/lib/Basic/TargetInfo.cpp<br>
>     cfe/trunk/test/Sema/asm.c<br>
><br>
> Modified: cfe/trunk/lib/Basic/TargetInfo.cpp<br>
> URL:<br>
> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/TargetInfo.cpp?rev=225600&r1=225599&r2=225600&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/TargetInfo.cpp?rev=225600&r1=225599&r2=225600&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Basic/TargetInfo.cpp (original)<br>
> +++ cfe/trunk/lib/Basic/TargetInfo.cpp Sun Jan 11 02:52:38 2015<br>
> @@ -486,9 +486,13 @@ bool TargetInfo::validateOutputConstrain<br>
>        if (Name[1] == '=' || Name[1] == '+')<br>
>          Name++;<br>
>        break;<br>
> +    case '#': // Ignore as constraint.<br>
> +      while (Name[1] && Name[1] != ',')<br>
> +        Name++;<br>
> +      if (Name[1] != ',')<br>
> +        return false;<br>
>      case '?': // Disparage slightly code.<br>
>      case '!': // Disparage severely.<br>
> -    case '#': // Ignore as constraint.<br>
>      case '*': // Ignore for choosing register preferences.<br>
>        break;  // Pass them.<br>
>      }<br>
><br>
> Modified: cfe/trunk/test/Sema/asm.c<br>
> URL:<br>
> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/asm.c?rev=225600&r1=225599&r2=225600&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/asm.c?rev=225600&r1=225599&r2=225600&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/test/Sema/asm.c (original)<br>
> +++ cfe/trunk/test/Sema/asm.c Sun Jan 11 02:52:38 2015<br>
> @@ -177,3 +177,9 @@ void fn2() {<br>
>   __asm__(""<br>
>            : "+&m"(l)); // expected-error {{invalid output constraint<br>
>            '+&m' in asm}}<br>
>  }<br>
> +<br>
> +void fn3() {<br>
> +  int l;<br>
> + __asm__(""<br>
> +          : "+#r"(l)); // expected-error {{invalid output constraint<br>
> '+#r' in asm}}<br>
> +}<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
><br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
</font></span></blockquote></div><br></div>