[PATCH] Error out on inline-asm constraint "=f"

Eric Christopher echristo at gmail.com
Fri Jul 18 10:50:45 PDT 2014


This is OK.

A better error message might be nice ala gcc:

dzur:~> gcc -c bar.c
bar.c: In function ‘f_output_constraint’:
bar.c:3:3: error: output constraint 0 must specify a single register
   __asm("foo1 %0": "=f" (result));
   ^

But that can be done later if you'd like. If you don't do it now,
would you mind filing a bug?

Thanks!

-eric

On Thu, Jul 17, 2014 at 11:14 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> This patch changes X86TargetInfo::validateAsmConstraint to check whether
> constraint "f" is used for output operands and error-out if it is. The
> following link explains why "=f" is disallowed.
>
> https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>




More information about the cfe-commits mailing list