Hi!
On Wed, Mar 01, 2017 at 08:26:36PM +0100, Uros Bizjak wrote:
> 2017-03-01 Uros Bizjak <[email protected]>
>
> * config/i386/i386.c (print_reg): Warn for values of
> unsupported size in integer register.
>
> testsuite/ChangeLog:
>
> 2017-03-01 Uros Bizjak <[email protected]>
>
> * gcc.target/i386/invsize-2.c: New test.
> * gcc.target/i386/invsize-3.c: Ditto.
> * gcc.target/i386/invsize-4.c: Ditto.
> * gcc.target/i386/pr66274.c: Expect "unsuported size" warning.
> * gcc.target/i386/stackalign/asm-1.c: Ditto.
>
> Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
This broke
FAIL: gcc.dg/pr57134.c (test for excess errors)
on i686-linux, the warning triggers there.
It seems "# %0 %1" actually isn't needed for reproduction of the original
bug (tried powerpc64-linux cross at r200000 where it ICEs even with ""
and succeeds at r204000), so is this ok for trunk?
Other option is to add { dg-final { dg-warning "..." { target ia32 } } }
but that really doesn't scale to other targets, or -w.
2017-03-02 Jakub Jelinek <[email protected]>
* gcc.dg/pr57134.c: Use empty inline asm string literal.
--- gcc/testsuite/gcc.dg/pr57134.c.jj 2013-06-19 19:28:33.000000000 +0200
+++ gcc/testsuite/gcc.dg/pr57134.c 2017-03-02 23:24:40.329317713 +0100
@@ -18,7 +18,7 @@ static __inline__ __attribute__((always_
atomic64_read(const atomic64_t *v)
{
int64_t t;
- __asm__ __volatile__("# %0, %1" : "=r"(t) : "m"(v->counter));
+ __asm__ __volatile__("" : "=r"(t) : "m"(v->counter));
return t;
}
Jakub