This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] gas: require an operand to .startof.()/.sizeof.()
- From: "Jan Beulich" <JBeulich at suse dot com>
- To: "Nick Clifton" <nickc at redhat dot com>
- Cc: <binutils at sourceware dot org>
- Date: Thu, 23 Feb 2017 03:20:09 -0700
- Subject: Re: [PATCH] gas: require an operand to .startof.()/.sizeof.()
- Authentication-results: sourceware.org; auth=none
- References: <87o9xu2nmq.fsf@redhat.com>
>>> On 22.02.17 at 17:31, <nickc@redhat.com> wrote:
>> gas/
>> 2017-02-21 Jan Beulich <jbeulich@suse.com>
>>
>> * expr.c (operand): Handle missing operand to .startof.() and
>> .sizeof.().
>> * testsuite/gas/all/err-sizeof.s: New.
>
> The cris architecture is not the only one affected by this new test.
> The following are also affected:
>
> alpha-dec-vms
> cr16-elf
> crx-elf
> d10v-elf
> d30v-elf
> epiphany-elf
> fr30-elf
> frv-elf
> h8300-elf
> h8300-rtems
> i386-darwin
> ip2k-elf
> iq2000-elf
> lm32-rtems4.10
> m32c-elf
> m32r-elf
> m68hc11-elf
> mep-elf
> microblaze-elf
> mn10200-elf
> mn10300-elf
> ms1-elf
> msp430-elf
> mt-elf
> or1k-elf
> pdp11-dec-aout
> riscv32-elf
> riscv64-elf
> rl78-elf
> rs6000-aix4.3.3
> rx-elf
> s390-linux
> s390x-ibm-tpf
> spu-elf
> tilegx-linux-gnu
> tilegxbe-linux-gnu
> tilepro-elf
> v850-elf
> vax-netbsdelf
> xc16x-elf
> xgate-elf
> xstormy16-elf
>
> Given the large number of targets affected, maybe the test itself needs
> to be reconsidered ? Or maybe split into two tests, one general one,
> and one for targets which do support the difference of two symbols in an
> expression ?
I'll commit the patch below as obvious - using a number as second
operand is good enough for the purpose of the test and should
eliminate all dependencies on target specific behavior.
Jan
gas: slightly relax .startof.()/.sizeof.() testcase
gas/
2017-02-23 Jan Beulich <jbeulich@suse.com>
* testsuite/gas/all/err-sizeof.s: Don't use sums or differences
of symbols as expression.
--- 2017-02-21/gas/testsuite/gas/all/err-sizeof.s
+++ 2017-02-21/gas/testsuite/gas/all/err-sizeof.s
@@ -2,8 +2,8 @@
;# { dg-do assemble }
.long .sizeof.(a b) ;# { dg-error "Error: syntax error" }
.long .startof.(x y) ;# { dg-error "Error: syntax error" }
- .long .sizeof.(a+b) ;# { dg-error "Error: syntax error" }
- .long .startof.(x-y) ;# { dg-error "Error: syntax error" }
+ .long .sizeof.(a+1) ;# { dg-error "Error: syntax error" }
+ .long .startof.(x-1) ;# { dg-error "Error: syntax error" }
.long .sizeof.("a+b")
.long .startof.("x-y")
.long .sizeof.() ;# { dg-error "Error: expected symbol name" }
@@ -13,9 +13,6 @@
;# { dg-error "junk at end" "" { target *-*-* } 3 }
;# { dg-error "junk at end" "junk" { target *-*-* } 4 }
;# { dg-error "junk at end" "junk" { target *-*-* } 5 }
-;# { dg-error "UND" "undefined" { target *-*-* } 5 }
;# { dg-error "junk at end" "junk" { target *-*-* } 6 }
-;# { dg-error "UND" "undefined" { target *-*-* } 6 }
-;# { dg-error "too complex" "too complex" { target powerpc*-*-* cris*-*-* } 6 }
;# { dg-warning "zero assumed" "missing" { target *-*-* } 9 }
;# { dg-warning "zero assumed" "missing" { target *-*-* } 10 }