target/6569: sparc-sun-solaris2.7 C testsuite regression in compile/20011119-2.c

ghazi@caip.rutgers.edu ghazi@caip.rutgers.edu
Sun May 5 21:56:00 GMT 2002


>Number:         6569
>Category:       target
>Synopsis:       sparc-sun-solaris2.7 C testsuite regression in compile/20011119-2.c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Sun May 05 21:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Kaveh Ghazi
>Release:        gcc version 3.1 20020505 (prerelease)
>Organization:
>Environment:
sparc-sun-solaris2.7 native as/ld
>Description:
Sometime between 4/26 and 4/29, compile/20011119-2.c regressed.  It worked here:

http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg01050.html
http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg01168.html

It fails here:

http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg01165.html
http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg01120.html

When I compile it by hand using today's checkout, I get:

compile/20011119-2.c:1: warning: weak declaration of `foo' after first use results in unspecified behavior
/usr/ccs/bin/as: "/var/tmp//ccrCbkea.s", line 51: error: invalid operand

I've attached the .s output.

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="20011119-2.s"
Content-Disposition: inline; filename="20011119-2.s"

	.file	"20011119-2.c"
	.section	".text"
	.align 4
	.global bar
	.type	bar,#function
	.proc	04
bar:
	!#PROLOGUE# 0
	save	%sp, -112, %sp
	!#PROLOGUE# 1
	call	foo, 0
	 nop
	mov	%o0, %i0
	nop
	ret
	restore
.LLfe1:
	.size	bar,.LLfe1-bar
	.weak	foo
	foo = xxx
	.align 4
	.global baz
	.type	baz,#function
	.proc	04
baz:
	!#PROLOGUE# 0
	save	%sp, -112, %sp
	!#PROLOGUE# 1
	call	foo, 0
	 nop
	mov	%o0, %i0
	nop
	ret
	restore
.LLfe2:
	.size	baz,.LLfe2-baz
	.align 4
	.global xxx
	.type	xxx,#function
	.proc	04
xxx:
	!#PROLOGUE# 0
	save	%sp, -112, %sp
	!#PROLOGUE# 1
	mov	23, %i0
	nop
	ret
	restore
.LLfe3:
	.size	xxx,.LLfe3-xxx
	.weak	foo
	.ident	"GCC: (GNU) 3.1 20020505 (prerelease)"



More information about the Gcc-bugs mailing list