aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-02-08 20:26:58 +0000
committerPaul Brook <paul@codesourcery.com>2006-02-08 20:26:58 +0000
commit5e642ab44d458b85bcde5b20dccbb68dbe0cd3d9 (patch)
treee07a2bd1b7a01b095e6aeb0826b1302ffb42f4be /gcc/ada
parent1bbb1a67870cb029d7cf9587b4b84fd04c7a0405 (diff)
Merge from gcc-4_1-branch revision 110478.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@110766 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog20
-rw-r--r--gcc/ada/Makefile.in48
-rw-r--r--gcc/ada/exp_util.adb9
-rw-r--r--gcc/ada/s-osinte-linux-hppa.ads5
4 files changed, 49 insertions, 33 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 04fc953b222..fe851b0cf47 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,23 @@
+2006-01-25 Peter O'Gorman <peter@pogma.com>
+
+ PR bootstrap/25859
+ * Makefile.in (GCC_LINK): Remove quotes.
+ (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
+ or $(GCC_LINK).
+
+ (powerpc-darwin): Pass -shared-libgcc when building shared library.
+
+2006-01-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/18819
+ * exp_util.adb (Remove_Side_Effects): Lift enclosing type conversion
+ nodes for elementary types in all cases.
+
+2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/24533
+ * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
+
2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
diff --git a/gcc/ada/Makefile.in b/gcc/ada/Makefile.in
index 2d7224056fe..8761a3df096 100644
--- a/gcc/ada/Makefile.in
+++ b/gcc/ada/Makefile.in
@@ -1308,7 +1308,7 @@ ifeq ($(strip $(filter-out powerpc darwin%,$(arch) $(osys))),)
EH_MECHANISM=-gcc
GNATLIB_SHARED = gnatlib-shared-darwin
- SO_OPTS = -Wl,-flat_namespace
+ SO_OPTS = -Wl,-flat_namespace -shared-libgcc
RANLIB = ranlib -c
GMEM_LIB = gmemlib
PREFIX_OBJS=$(PREFIX_REAL_OBJS)
@@ -1364,7 +1364,7 @@ ADA_INCLUDE_SRCS =\
s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads
LIBGNAT=../rts/libgnat.a
-GCC_LINK="$(CC) -static-libgcc $(ADA_INCLUDES)"
+GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES)
# when compiling the tools, the runtime has to be first on the path so that
# it hides the runtime files lying with the rest of the sources
@@ -1388,74 +1388,74 @@ endif
../../gnatchop$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop
- $(GNATLINK) -v gnatchop -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnat$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd
- $(GNATLINK) -v gnatcmd -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatkr$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr
- $(GNATLINK) -v gnatkr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatls$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls
- $(GNATLINK) -v gnatls -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatname$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname
- $(GNATLINK) -v gnatname -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gprmake$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
- $(GNATLINK) -v gprmake -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatprep$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep
- $(GNATLINK) -v gnatprep -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatxref$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref
- $(GNATLINK) -v gnatxref -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatfind$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind
- $(GNATLINK) -v gnatfind -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatclean$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
- $(GNATLINK) -v gnatclean -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatsym$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
- $(GNATLINK) -v gnatsym -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnatdll$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
- $(GNATLINK) -v gnatdll -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../vxaddr2line$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line
- $(GNATLINK) -v vxaddr2line -o $@ --GCC=$(GCC_LINK) $(CLIB)
+ $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" $(CLIB)
gnatmake-re: link.o
$(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
$(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
- --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
# Note the use of the "mv" command in order to allow gnatlink to be linked with
# with the former version of gnatlink itself which cannot override itself.
@@ -1463,7 +1463,7 @@ gnatlink-re: link.o
$(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
- --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
$(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
# Needs to be built with CC=gcc
@@ -1472,15 +1472,15 @@ gnatlink-re: link.o
# Likewise for the tools
../../gnatmake$(exeext): $(P) b_gnatm.o link.o $(GNATMAKE_OBJS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
- $(TOOLS_LIBS)
+ $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
+ $(TOOLS_LIBS)
../../gnatlink$(exeext): $(P) b_gnatl.o link.o $(GNATLINK_OBJS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
- $(TOOLS_LIBS)
+ $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
+ $(TOOLS_LIBS)
../../gnatbl$(exeext): gnatbl.o
- $(CC) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
+ $(GCC_LINK) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
gnatbl.o: gnatbl.c adaint.h
$(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION)
@@ -1900,12 +1900,12 @@ force:
../../gnatlbr$(exeext): ../../prefix.o
$(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr
- $(GNATLINK) -v gnatlbr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v gnatlbr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../vms_help$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) vms_help --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vms_help
- $(GNATLINK) -v vms_help -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
+ $(GNATLINK) -v vms_help -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
../../gnat.hlp: ../../vms_help$(exeext)
../../vms_help$(exeext) $(fsrcdir)/gnat.help_in \
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index c6924e97cb6..906b275a2a9 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -4077,14 +4077,7 @@ package body Exp_Util is
-- is a view conversion to a smaller object, where gigi can end up
-- creating its own temporary of the wrong size.
- -- ??? this transformation is inhibited for elementary types that are
- -- not involved in a change of representation because it causes
- -- regressions that are not fully understood yet.
-
- elsif Nkind (Exp) = N_Type_Conversion
- and then (not Is_Elementary_Type (Underlying_Type (Exp_Type))
- or else Nkind (Parent (Exp)) = N_Assignment_Statement)
- then
+ elsif Nkind (Exp) = N_Type_Conversion then
Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
Scope_Suppress := Svg_Suppress;
return;
diff --git a/gcc/ada/s-osinte-linux-hppa.ads b/gcc/ada/s-osinte-linux-hppa.ads
index ec7efd2feae..40f0d073af5 100644
--- a/gcc/ada/s-osinte-linux-hppa.ads
+++ b/gcc/ada/s-osinte-linux-hppa.ads
@@ -508,7 +508,10 @@ private
lock : lock_array;
end record;
pragma Convention (C, atomic_lock_t);
- for atomic_lock_t'Alignment use 16;
+ -- ??? Alignment should be 16 but this is larger than BIGGEST_ALIGNMENT.
+ -- This causes an erroneous pointer value to sometimes be passed to free
+ -- during deallocation. See PR ada/24533 for more details.
+ for atomic_lock_t'Alignment use 8;
type struct_pthread_fast_lock is record
spinlock : atomic_lock_t;