Commit 1be9633f by Arnaud Charlet

[multiple changes]

2009-07-20  Gary Dismukes  <dismukes@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
	for VMS, only rewrite the first component of the associated exception's
	aggregate init (as 'V'), and eliminate the bogus rewrites of the second
	and third components  that were being replaced with 'M' and 'S'.

2009-07-20  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
	Also do not generate error when parsing a spec in CodePeer mode.

2009-07-20  Javier Miranda  <miranda@adacore.com>

	* checks.adb (Apply_Access_Check): Avoid checks on availability of
	runtime function Offset_To_Top_Ptr when compiling with no tagged
	types expansion.
	* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
	adding code to the init proc when compiling for VM backends.

2009-07-20  Vincent Celier  <celier@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Take into account
	switches -gnatw.?

2009-07-20  Thomas Quinot  <quinot@adacore.com>

	* sem_dist.adb, exp_dist.adb: Minor reformatting

	* Make-generated.in: New file.

	* gcc-interface/Make-lang.in: Use Make-generated.in fragment.

From-SVN: r149819
parent 4755cce9
2009-07-20 Gary Dismukes <dismukes@adacore.com>
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
for VMS, only rewrite the first component of the associated exception's
aggregate init (as 'V'), and eliminate the bogus rewrites of the second
and third components that were being replaced with 'M' and 'S'.
2009-07-20 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
Also do not generate error when parsing a spec in CodePeer mode.
2009-07-20 Javier Miranda <miranda@adacore.com>
* checks.adb (Apply_Access_Check): Avoid checks on availability of
runtime function Offset_To_Top_Ptr when compiling with no tagged
types expansion.
* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
adding code to the init proc when compiling for VM backends.
2009-07-20 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Take into account
switches -gnatw.?
2009-07-20 Thomas Quinot <quinot@adacore.com>
* sem_dist.adb, exp_dist.adb: Minor reformatting
* Make-generated.in: New file.
* gcc-interface/Make-lang.in: Use Make-generated.in fragment.
2009-07-20 Javier Miranda <miranda@adacore.com>
* sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New
......
# Dependencies for compiler sources that are generated at build time
# Note: can't use ?= here, not supported by older versions of GNU Make
ifeq ($(origin ADA_GEN_SUBDIR), undefined)
ADA_GEN_SUBDIR=ada
endif
ifeq ($(origin CP), undefined)
CP=cp
endif
ifeq ($(origin MKDIR), undefined)
MKDIR=mkdir -p
endif
ifeq ($(origin MOVE_IF_CHANGE), undefined)
MOVE_IF_CHANGE=mv -f
endif
ada_extra_files : $(ADA_GEN_SUBDIR)/treeprs.ads $(ADA_GEN_SUBDIR)/einfo.h $(ADA_GEN_SUBDIR)/sinfo.h $(ADA_GEN_SUBDIR)/nmake.adb \
$(ADA_GEN_SUBDIR)/nmake.ads $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb $(ADA_GEN_SUBDIR)/snames.h
# We delete the files before copying, below, in case they are read-only.
$(ADA_GEN_SUBDIR)/treeprs.ads : $(ADA_GEN_SUBDIR)/treeprs.adt $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/xtreeprs.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/treeprs
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/treeprs/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/treeprs
(cd $(ADA_GEN_SUBDIR)/bldtools/treeprs; gnatmake -q xtreeprs ; ./xtreeprs ../../treeprs.ads )
$(ADA_GEN_SUBDIR)/einfo.h : $(ADA_GEN_SUBDIR)/einfo.ads $(ADA_GEN_SUBDIR)/einfo.adb $(ADA_GEN_SUBDIR)/xeinfo.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/einfo
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/einfo/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/einfo
(cd $(ADA_GEN_SUBDIR)/bldtools/einfo; gnatmake -q xeinfo ; ./xeinfo ../../einfo.h )
$(ADA_GEN_SUBDIR)/sinfo.h : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/xsinfo.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/sinfo
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/sinfo/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/sinfo
(cd $(ADA_GEN_SUBDIR)/bldtools/sinfo; gnatmake -q xsinfo ; ./xsinfo ../../sinfo.h )
$(ADA_GEN_SUBDIR)/snames.h $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb : $(ADA_GEN_SUBDIR)/stamp-snames ; @true
$(ADA_GEN_SUBDIR)/stamp-snames : $(ADA_GEN_SUBDIR)/snames.ads-tmpl $(ADA_GEN_SUBDIR)/snames.adb-tmpl $(ADA_GEN_SUBDIR)/snames.h-tmpl $(ADA_GEN_SUBDIR)/xsnamest.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/snamest
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/snamest/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/snamest
(cd $(ADA_GEN_SUBDIR)/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest )
$(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.ns $(ADA_GEN_SUBDIR)/snames.ads
$(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nb $(ADA_GEN_SUBDIR)/snames.adb
$(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nh $(ADA_GEN_SUBDIR)/snames.h
touch $(ADA_GEN_SUBDIR)/stamp-snames
$(ADA_GEN_SUBDIR)/nmake.adb : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/nmake.adt $(ADA_GEN_SUBDIR)/xnmake.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake_b
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake_b/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake_b
(cd $(ADA_GEN_SUBDIR)/bldtools/nmake_b; gnatmake -q xnmake ; ./xnmake -b ../../nmake.adb )
$(ADA_GEN_SUBDIR)/nmake.ads : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/nmake.adt $(ADA_GEN_SUBDIR)/xnmake.adb $(ADA_GEN_SUBDIR)/nmake.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake_s
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake_s/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake_s
(cd $(ADA_GEN_SUBDIR)/bldtools/nmake_s; gnatmake -q xnmake ; ./xnmake -s ../../nmake.ads )
ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),)
OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \
-DTARGET='""$(target)""' s-oscons-tmplt.c
OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \
-DTARGET='""$(target)""' s-oscons-tmplt.c ; \
ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
./s-oscons-tmplt.exe > s-oscons-tmplt.s
else
# GCC_FOR_TARGET has paths relative to the gcc directory, so we need to ajust
# for running it from $(ADA_GEN_SUBDIR)/bldtools/oscons
OSCONS_CC=`echo "$(GCC_FOR_TARGET)" \
| sed -e 's^\./xgcc^../../../xgcc^' -e 's^-B./^-B../../../^'`
OSCONS_CPP=$(OSCONS_CC) $(GNATLIBCFLAGS) -E -C \
-DTARGET=\"$(target)\" s-oscons-tmplt.c > s-oscons-tmplt.i
OSCONS_EXTRACT=$(OSCONS_CC) -S s-oscons-tmplt.i
endif
$(ADA_GEN_SUBDIR)/s-oscons.ads : $(ADA_GEN_SUBDIR)/s-oscons-tmplt.c $(ADA_GEN_SUBDIR)/gsocket.h $(ADA_GEN_SUBDIR)/xoscons.adb $(ADA_GEN_SUBDIR)/xutil.ads $(ADA_GEN_SUBDIR)/xutil.adb
-$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/oscons
$(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/oscons/,$(notdir $^))
$(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/oscons
(cd $(ADA_GEN_SUBDIR)/bldtools/oscons ; gnatmake -q xoscons ; \
$(RM) s-oscons-tmplt.i s-oscons-tmplt.s ; \
$(OSCONS_CPP) ; \
$(OSCONS_EXTRACT) ; \
./xoscons ; \
$(RM) ../../s-oscons.ads ; \
$(CP) s-oscons.ads s-oscons.h ../../)
$(ADA_GEN_SUBDIR)/sdefault.adb: $(ADA_GEN_SUBDIR)/stamp-sdefault ; @true
$(ADA_GEN_SUBDIR)/stamp-sdefault : $(srcdir)/version.c Makefile
$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
$(ECHO) " S0 : constant String := \"$(prefix)/\";" >>tmp-sdefault.adb
$(ECHO) " S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
$(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
$(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
$(ECHO) " end Include_Dir_Default_Name;" >>tmp-sdefault.adb
$(ECHO) " function Object_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S2);" >>tmp-sdefault.adb
$(ECHO) " end Object_Dir_Default_Name;" >>tmp-sdefault.adb
$(ECHO) " function Target_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return new String'(S3);" >>tmp-sdefault.adb
$(ECHO) " end Target_Name;" >>tmp-sdefault.adb
$(ECHO) " function Search_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S4);" >>tmp-sdefault.adb
$(ECHO) " end Search_Dir_Prefix;" >>tmp-sdefault.adb
$(ECHO) "end Sdefault;" >> tmp-sdefault.adb
$(MOVE_IF_CHANGE) tmp-sdefault.adb $(ADA_GEN_SUBDIR)/sdefault.adb
touch $(ADA_GEN_SUBDIR)/stamp-sdefault
......@@ -454,7 +454,8 @@ package body Checks is
-- No check if accessing the Offset_To_Top component of a dispatch
-- table. They are safe by construction.
if Present (Etype (P))
if Tagged_Type_Expansion
and then Present (Etype (P))
and then RTU_Loaded (Ada_Tags)
and then RTE_Available (RE_Offset_To_Top_Ptr)
and then Etype (P) = RTE (RE_Offset_To_Top_Ptr)
......
......@@ -2482,11 +2482,10 @@ package body Exp_Ch3 is
if List_Length (Body_Stmts) = 1
and then Nkind (First (Body_Stmts)) = N_Null_Statement
and then VM_Target /= CLI_Target
and then VM_Target = No_VM
then
-- Even though the init proc may be null at this time it might get
-- some stuff added to it later by the CIL backend, so always keep
-- it when VM_Target = CLI_Target.
-- some stuff added to it later by the VM backend.
Set_Is_Null_Init_Proc (Proc_Id);
end if;
......
......@@ -6817,11 +6817,6 @@ package body Exp_Dist is
-- and put the result as well as the exception occurrence in the
-- output stream;
-- - a dummy package with an empty spec and a body made of an
-- elaboration part, whose job is to register the receiving
-- part of this RCI package on the name server. This is done
-- by calling System.Partition_Interface.Register_Receiving_Stub.
Build_RPC_Receiver_Body (
RPC_Receiver => Pkg_RPC_Receiver,
Request => Request,
......@@ -7139,7 +7134,7 @@ package body Exp_Dist is
Append_To (Register_Pkg_Actuals,
New_Occurrence_Of (All_Calls_Remote_E, Loc));
-- ???
-- Finally call Register_Pkg_Receiving_Stub with the above parameters
Append_To (Stmts,
Make_Procedure_Call_Statement (Loc,
......
......@@ -539,15 +539,14 @@ package body Exp_Prag is
Excep_Internal : constant Node_Id :=
Make_Defining_Identifier
(Loc, New_Internal_Name ('V'));
Export_Pragma : Node_Id;
Excep_Alias : Node_Id;
Excep_Object : Node_Id;
Excep_Image : String_Id;
Exdata : List_Id;
Lang1 : Node_Id;
Lang2 : Node_Id;
Lang3 : Node_Id;
Code : Node_Id;
Export_Pragma : Node_Id;
Excep_Alias : Node_Id;
Excep_Object : Node_Id;
Excep_Image : String_Id;
Exdata : List_Id;
Lang_Char : Node_Id;
Code : Node_Id;
begin
if Present (Interface_Name (Id)) then
......@@ -561,30 +560,16 @@ package body Exp_Prag is
Exdata := Component_Associations (Expression (Parent (Id)));
if Is_VMS_Exception (Id) then
Lang1 := Next (First (Exdata));
Lang2 := Next (Lang1);
Lang3 := Next (Lang2);
Lang_Char := Next (First (Exdata));
-- Change the one-character language designator to 'V'
Rewrite (Expression (Lang1),
Rewrite (Expression (Lang_Char),
Make_Character_Literal (Loc,
Chars => Name_uV,
Char_Literal_Value =>
UI_From_Int (Character'Pos ('V'))));
Analyze (Expression (Lang1));
Rewrite (Expression (Lang2),
Make_Character_Literal (Loc,
Chars => Name_uM,
Char_Literal_Value =>
UI_From_Int (Character'Pos ('M'))));
Analyze (Expression (Lang2));
Rewrite (Expression (Lang3),
Make_Character_Literal (Loc,
Chars => Name_uS,
Char_Literal_Value =>
UI_From_Int (Character'Pos ('S'))));
Analyze (Expression (Lang3));
Analyze (Expression (Lang_Char));
if Exception_Code (Id) /= No_Uint then
Code :=
......
......@@ -924,9 +924,6 @@ gnatstage2: force
# Ada language specific files.
ada_extra_files : ada/treeprs.ads ada/einfo.h ada/sinfo.h ada/nmake.adb \
ada/nmake.ads ada/snames.ads ada/snames.adb ada/snames.h
ada/b_gnat1.c : $(GNAT1_ADA_OBJS)
$(GNATBIND) -C $(ADA_INCLUDES) -o ada/b_gnat1.c -n ada/gnat1drv.ali
ada/b_gnat1.o : ada/b_gnat1.c
......@@ -935,112 +932,13 @@ ada/b_gnatb.c : $(GNATBIND_OBJS) ada/gnatbind.o ada/interfac.o
$(GNATBIND) -C $(ADA_INCLUDES) -o ada/b_gnatb.c ada/gnatbind.ali
ada/b_gnatb.o : ada/b_gnatb.c
# We delete the files before copying, below, in case they are read-only.
ada/treeprs.ads : ada/treeprs.adt ada/sinfo.ads ada/xtreeprs.adb
-$(MKDIR) ada/bldtools/treeprs
$(RM) $(addprefix ada/bldtools/treeprs/,$(notdir $^))
$(CP) $^ ada/bldtools/treeprs
(cd ada/bldtools/treeprs && $(GNATMAKE) -q xtreeprs && ./xtreeprs ../../treeprs.ads )
ada/einfo.h : ada/einfo.ads ada/einfo.adb ada/xeinfo.adb
-$(MKDIR) ada/bldtools/einfo
$(RM) $(addprefix ada/bldtools/einfo/,$(notdir $^))
$(CP) $^ ada/bldtools/einfo
(cd ada/bldtools/einfo && $(GNATMAKE) -q xeinfo && ./xeinfo ../../einfo.h )
ada/sinfo.h : ada/sinfo.ads ada/xsinfo.adb
-$(MKDIR) ada/bldtools/sinfo
$(RM) $(addprefix ada/bldtools/sinfo/,$(notdir $^))
$(CP) $^ ada/bldtools/sinfo
(cd ada/bldtools/sinfo && $(GNATMAKE) -q xsinfo && ./xsinfo ../../sinfo.h )
ada/snames.h ada/snames.ads ada/snames.adb : ada/stamp-snames ; @true
ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada/xsnamest.adb ada/xutil.ads ada/xutil.adb
-$(MKDIR) ada/bldtools/snamest
$(RM) $(addprefix ada/bldtools/snamest/,$(notdir $^))
$(CP) $^ ada/bldtools/snamest
(cd ada/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest )
$(srcdir)/../move-if-change ada/bldtools/snamest/snames.ns ada/snames.ads
$(srcdir)/../move-if-change ada/bldtools/snamest/snames.nb ada/snames.adb
$(srcdir)/../move-if-change ada/bldtools/snamest/snames.nh ada/snames.h
touch ada/stamp-snames
ada/nmake.adb : ada/sinfo.ads ada/nmake.adt ada/xnmake.adb ada/xutil.ads ada/xutil.adb
-$(MKDIR) ada/bldtools/nmake_b
$(RM) $(addprefix ada/bldtools/nmake_b/,$(notdir $^))
$(CP) $^ ada/bldtools/nmake_b
(cd ada/bldtools/nmake_b && $(GNATMAKE) -q xnmake && ./xnmake -b ../../nmake.adb )
ada/nmake.ads : ada/sinfo.ads ada/nmake.adt ada/xnmake.adb ada/nmake.adb ada/xutil.ads ada/xutil.adb
-$(MKDIR) ada/bldtools/nmake_s
$(RM) $(addprefix ada/bldtools/nmake_s/,$(notdir $^))
$(CP) $^ ada/bldtools/nmake_s
(cd ada/bldtools/nmake_s && $(GNATMAKE) -q xnmake && ./xnmake -s ../../nmake.ads )
ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),)
OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \
-DTARGET='""$(target)""' s-oscons-tmplt.c
OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \
-DTARGET='""$(target)""' s-oscons-tmplt.c ; \
ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
./s-oscons-tmplt.exe > s-oscons-tmplt.s
else
OSCONS_CC=`echo "$(GCC_FOR_TARGET)" \
| sed -e 's^\./xgcc^../../../xgcc^' -e 's^-B./^-B../../../^'`
OSCONS_CPP=$(OSCONS_CC) $(CFLAGS_FOR_TARGET) -E -C \
-DTARGET=\"$(target)\" s-oscons-tmplt.c > s-oscons-tmplt.i
OSCONS_EXTRACT=$(OSCONS_CC) $(CFLAGS_FOR_TARGET) -S s-oscons-tmplt.i
endif
ada/s-oscons.ads : ada/s-oscons-tmplt.c ada/gsocket.h ada/xoscons.adb ada/xutil.ads ada/xutil.adb
-$(MKDIR) ada/bldtools/oscons
$(RM) $(addprefix ada/bldtools/oscons/,$(notdir $^))
$(CP) $^ ada/bldtools/oscons
(cd ada/bldtools/oscons ; gnatmake -q xoscons ; \
$(RM) s-oscons-tmplt.i s-oscons-tmplt.s ; \
$(OSCONS_CPP) ; \
$(OSCONS_EXTRACT) ; \
./xoscons ; \
$(RM) ../../s-oscons.ads ; \
$(CP) s-oscons.ads s-oscons.h ../../)
include $(srcdir)/ada/Make-generated.in
update-sources : ada/treeprs.ads ada/einfo.h ada/sinfo.h ada/nmake.adb \
ada/nmake.ads
$(RM) $(addprefix $(srcdir)/ada/,$(notdir $^))
$(CP) $^ $(srcdir)/ada
ada/sdefault.adb: ada/stamp-sdefault ; @true
ada/stamp-sdefault : $(srcdir)/version.c Makefile
$(ECHO) "pragma Style_Checks (Off);" >tmp-sdefault.adb
$(ECHO) "with Osint; use Osint;" >>tmp-sdefault.adb
$(ECHO) "package body Sdefault is" >>tmp-sdefault.adb
$(ECHO) " S0 : constant String := \"$(prefix)/\";" >>tmp-sdefault.adb
$(ECHO) " S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
$(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
$(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
$(ECHO) " end Include_Dir_Default_Name;" >>tmp-sdefault.adb
$(ECHO) " function Object_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S2);" >>tmp-sdefault.adb
$(ECHO) " end Object_Dir_Default_Name;" >>tmp-sdefault.adb
$(ECHO) " function Target_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return new String'(S3);" >>tmp-sdefault.adb
$(ECHO) " end Target_Name;" >>tmp-sdefault.adb
$(ECHO) " function Search_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S4);" >>tmp-sdefault.adb
$(ECHO) " end Search_Dir_Prefix;" >>tmp-sdefault.adb
$(ECHO) "end Sdefault;" >> tmp-sdefault.adb
$(srcdir)/../move-if-change tmp-sdefault.adb ada/sdefault.adb
touch ada/stamp-sdefault
ada/sdefault.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/hostparm.ads ada/namet.ads \
ada/opt.ads ada/osint.ads ada/output.ads ada/sdefault.ads ada/sdefault.adb \
......
......@@ -164,10 +164,13 @@ procedure Gnat1drv is
Dynamic_Elaboration_Checks := False;
-- Suppress overflow checks since this is handled implicitely by
-- CodePeer. Enable all other language checks.
-- Suppress overflow checks and access checks since they are handled
-- implicitely by CodePeer. Enable all other language checks.
Suppress_Options := (Overflow_Check => True, others => False);
Suppress_Options :=
(Overflow_Check => True,
Access_Check => True,
others => False);
Enable_Overflow_Checks := False;
-- Kill debug of generated code, since it messes up sloc values
......@@ -749,6 +752,11 @@ begin
elsif Main_Kind in N_Generic_Renaming_Declaration then
Back_End_Mode := Generate_Object;
-- It's not an error to generate SCIL for e.g. a spec which has a body
elsif CodePeer_Mode then
Back_End_Mode := Generate_Object;
-- In all other cases (specs which have bodies, generics, and bodies
-- where subunits are missing), we cannot generate code and we generate
-- a warning message. Note that generic instantiations are gone at this
......
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2008, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -350,9 +350,7 @@ package body Sem_Dist is
-- Build the function call which will replace the attribute
if Is_Remote_Call_Interface (Ety)
or else Is_Shared_Passive (Ety)
then
if Is_Remote_Call_Interface (Ety) or else Is_Shared_Passive (Ety) then
Get_Pt_Id_Call :=
Make_Function_Call (Loc,
Name => Get_Pt_Id,
......
......@@ -84,7 +84,7 @@ package body Switch.M is
if Switches = null then
Switches := new Argument_List (1 .. Initial_Number_Of_Switches);
-- otherwise, if Switches is full, extend it
-- Otherwise, if Switches is full, extend it
elsif Last = Switches'Last then
declare
......@@ -407,6 +407,8 @@ package body Switch.M is
end if;
end if;
-- Loop through remaining switch characters in string
while Ptr <= Max loop
C := Switch_Chars (Ptr);
Ptr := Ptr + 1;
......@@ -436,7 +438,16 @@ package body Switch.M is
(Storing (Storing'First .. Last_Stored));
end if;
-- All other switches are -gnatxx
-- --gnatx.x
elsif C = '.' and then Ptr <= Max then
Storing (First_Stored + 1) := '.';
Storing (First_Stored + 2) := Switch_Chars (Ptr);
Ptr := Ptr + 1;
Add_Switch_Component
(Storing (Storing'First .. First_Stored + 2));
-- All other switches are -gnatxx
else
Storing (First_Stored + 1) := C;
......@@ -502,8 +513,7 @@ package body Switch.M is
end Normalize_Compiler_Switches;
function Normalize_Compiler_Switches
(Switch_Chars : String)
return Argument_List
(Switch_Chars : String) return Argument_List
is
Last : Natural;
......@@ -515,7 +525,6 @@ package body Switch.M is
else
return Global_Switches (Global_Switches'First .. Last);
end if;
end Normalize_Compiler_Switches;
------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment