This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: committed: Ada updates


Arnaud Charlet <charlet@ACT-Europe.FR> writes:

> Tested on x86-linux
> --
> 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
[...]
> 	* init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
> 	sc_onstack context indication before raising the exception to which
> 	the signal is mapped. Allows better handling of later signals possibly
> 	triggered by the resumed user code if the exception is handled.

This change broke Ada bootstrap on alpha-dec-osf*:

/vol/gnu/src/gcc/gcc-dist/gcc/ada/init.c: In function `__gnat_error_handler':
/vol/gnu/src/gcc/gcc-dist/gcc/ada/init.c:486: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[2]: *** [ada/init.o] Error 1

It cannot have been tested at all ;-(

As a workaround, I've used this patch:

Tue Feb 17 23:17:29 2004  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/alpha/t-osf4: Ignore ada/init.o warnings.

Index: t-osf4
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/t-osf4,v
retrieving revision 1.7
diff -u -p -r1.7 t-osf4
--- t-osf4	31 Jul 2003 12:01:06 -0000	1.7
+++ t-osf4	17 Feb 2004 22:17:13 -0000
@@ -24,3 +24,5 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
 SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
 	rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
 	$(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)
+
+ada/init.o-warn = -Wno-error

It gets me past this error (although with two additional warnings):

/vol/gnu/src/gcc/gcc-dist/gcc/ada/init.c: In function `__gnat_error_handler':
/vol/gnu/src/gcc/gcc-dist/gcc/ada/init.c:387: warning: variable 'exception' might be clobbered by `longjmp' or `vfork'
/vol/gnu/src/gcc/gcc-dist/gcc/ada/init.c:390: warning: variable 'msg' might be clobbered by `longjmp' or `vfork'

only to fail later on with another error:

/vol/gnu/src/gcc/gcc-dist/gcc/sdbout.c: In function `sdbout_finish':
/vol/gnu/src/gcc/gcc-dist/gcc/sdbout.c:1465: warning: comparison between signed and unsigned

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]