Laurent Pautet [Mon, 5 Sep 2005 07:54:36 +0000 (09:54 +0200)]
g-pehage.ads, [...] (Select_Char_Position): When no character position set is provided...
2005-09-01 Laurent Pautet <pautet@adacore.com>
* g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
position set is provided, we compute one in order to reduce the maximum
length of the keys. This computation first selects a character
position between 1 and the minimum length of the keys in order to
avoid reducing one of the keys to an empty string.
(Initialize, Compute): When the ratio V to K is too low, the algorithm
does not converge. The initialization procedure now comes with a
maximum number of iterations such that when exceeded, an exception is
raised in Compute. The user can initialize this ratio to another value
and try again
Reformating and updated headers.
From-SVN: r103867
Jerome Lambourg [Mon, 5 Sep 2005 07:54:22 +0000 (09:54 +0200)]
g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2005-09-01 Jerome Lambourg <lambourg@adacore.com>
* g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
(Free): New deallocation procedure for filter elements
(Close): Deallocate any existing filter for the concerned connection
From-SVN: r103866
Robert Dewar [Mon, 5 Sep 2005 07:54:12 +0000 (09:54 +0200)]
exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large packed arrays.
2005-09-01 Robert Dewar <dewar@adacore.com>
* exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
packed arrays.
From-SVN: r103865
Ed Schonberg [Mon, 5 Sep 2005 07:54:01 +0000 (09:54 +0200)]
exp_intr.adb (Expand_Source_Name): For Enclosing_Entity...
2005-09-01 Ed Schonberg <schonberg@adacore.com>
* exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
fully qualified name, to distinguish instances with the same local name.
* g-souinf.ads (Enclosing_Entity): Document that entity name is now
fully qualified.
From-SVN: r103864
Thomas Quinot [Mon, 5 Sep 2005 07:53:45 +0000 (09:53 +0200)]
exp_dist.adb (Add_RACW_TypeCode, [...]): Do not generate dummy access formal for RACW/RAS TypeCode TSS.
2005-09-01 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
dummy access formal for RACW/RAS TypeCode TSS.
(Build_TypeCode_Call): Do not generate dummy null access actual for
calls to the TypeCode TSS.
From-SVN: r103863
Nicolas Setton [Mon, 5 Sep 2005 07:53:34 +0000 (09:53 +0200)]
exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types to be encoded as...
2005-09-01 Nicolas Setton <setton@adacore.com>
* exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
to be encoded as typ___XBLU_lowerbound__upperbound instead of
typ___XB_lowerbound__upperbound.
From-SVN: r103862
Ed Schonberg [Mon, 5 Sep 2005 07:53:24 +0000 (09:53 +0200)]
exp_ch6.adb (Expand_Call): If an actual is a function call rewritten from object notation...
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
Javier Miranda <miranda@adacore.com>
* exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
from object notation, the original node is unanalyzed and carries no
semantic information, so that accessiblity checks must be performed on
the type of the actual itself.
(Expand_N_Subprogram_Declaration): Change last actual parameter for
compatibility with Build_Protected_Sub_Specification.
(Check_Overriding_Inherited_Interfaces): Add suport to handle
overloaded primitives.
(Register_Interface_DT_Entry): Use the new name of the formal
the the calls to Expand_Interface_Thunk
* exp_dbug.ads: Augment comments on encoding of protected types to
include the generation of dispatching subprograms when the type
implements at least one interface.
* lib.ads: Extend information in Load_Stack to include whether a given
load comes from a Limited_With_Clause.
* lib-load.adb (From_Limited_With_Chain): New predicate to determine
whether a potential circularity is harmless, because it includes units
loaded through a limited_with clause. Extends previous treatment which
did not handle properly arbitrary combinations of limited and
non-limited clauses.
From-SVN: r103861
Robert Dewar [Mon, 5 Sep 2005 07:53:10 +0000 (09:53 +0200)]
exp_attr.adb: Handle vax fpt for 'Valid attribute
2005-09-01 Robert Dewar <dewar@adacore.com>
Doug Rupp <rupp@adacore.com>
* exp_attr.adb: Handle vax fpt for 'Valid attribute
* exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
* s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
(Valid_D, Valid_F, Valid_G): New functions
From-SVN: r103860
Robert Dewar [Mon, 5 Sep 2005 07:52:55 +0000 (09:52 +0200)]
errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet spec.
2005-09-01 Robert Dewar <dewar@adacore.com>
* errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
spec.
Implement new insertion char < (conditional warning)
* errutil.adb, erroutc.adb: Implement new insertion char <
(conditional warning).
* sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
(Error_Msg_Warn): New variable for < insertion char.
* prj-nmsc.adb: Implement new errout insertion char < (conditional
warning).
(Check_For_Source): Change value of Source_Id only after the current
source has been dealt with.
From-SVN: r103859
Robert Dewar [Mon, 5 Sep 2005 07:52:38 +0000 (09:52 +0200)]
a-ztexio.adb, [...]: Replace bad range checks with 'Valid tests.
2005-09-01 Robert Dewar <dewar@adacore.com>
* a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
with 'Valid tests.
From-SVN: r103858
Robert Dewar [Mon, 5 Sep 2005 07:52:27 +0000 (09:52 +0200)]
checks.adb (Check_Needed): New procedure...
2005-09-01 Robert Dewar <dewar@adacore.com>
* checks.adb (Check_Needed): New procedure, deals with removing checks
based on analysis of short-circuited forms. Also generates warnings for
improper use of non-short-circuited forms.
Code clean ups.
From-SVN: r103857
Robert Dewar [Mon, 5 Sep 2005 07:52:12 +0000 (09:52 +0200)]
binde.adb: Minor reformatting
2005-09-01 Robert Dewar <dewar@adacore.com>
* binde.adb: Minor reformatting
(Find_Elab_Order): Output warning if -p used with static elab order
From-SVN: r103856
Arnaud Charlet [Mon, 5 Sep 2005 07:51:25 +0000 (09:51 +0200)]
s-stoele.ads, [...]: Minor reformatting...
* s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
and always use the no parameter form for consistency.
* gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
From-SVN: r103855
Ed Schonberg [Mon, 5 Sep 2005 07:50:46 +0000 (09:50 +0200)]
fname-sf.adb, [...]: Remove redundant use_clauses.
2005-09-01 Ed Schonberg <schonberg@adacore.com>
Thomas Quinot <quinot@adacore.com>
* fname-sf.adb, mlib-tgt.ads,
back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
makegpr.adb: Remove redundant use_clauses.
From-SVN: r103854
Thomas Quinot [Mon, 5 Sep 2005 07:50:26 +0000 (09:50 +0200)]
g-soccon-vms.adb: Renamed to g-soccon-vms.ads
2005-09-01 Thomas Quinot <quinot@adacore.com>
* g-soccon-vms.adb: Renamed to g-soccon-vms.ads
* g-soccon-vms.ads: Renamed from g-soccon-vms.adb
* g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
g-soccon-freebsd.ads: Add new constants:
IP_MULTICAST_IF
SO_RCVTIMEO/SO_SNDTIMEO
IOV_MAX
* gen-soccon.c:
Move all target-specific file inclusions and macro definitions to
gsocket.h, in order to ensure that any C code in socket.c will see a
set of constants that is consistent with the contents of g-soccon.ads.
* gsocket.h: Code imported from gen-soccon.c:
Move all target-specific file inclusions and macro definitions to
gsocket.h, in order to ensure that any C code in socket.c will see a set
of constants that is consistent with the contents of g-soccon.ads.
This change also makes gen-soccon self-contained (removing dependencies
upon GCC internal headers).
* g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
iovecs at a time.
(To_Inet_Addr): Now a procedure instead of a function, more efficient.
* socket.c: Minor reformatting.
From-SVN: r103853
Arnaud Charlet [Mon, 5 Sep 2005 07:49:24 +0000 (09:49 +0200)]
s-taprop-vxworks.adb: Move with clauses outside Warnings Off now that dependent units are Preelaborate.
2005-09-01 Arnaud Charlet <charlet@adacore.com>
Jose Ruiz <ruiz@adacore.com>
* s-taprop-vxworks.adb:
Move with clauses outside Warnings Off now that dependent units are
Preelaborate.
(Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
initialization of this unit.
(Specific): Add new procedures Initialize and Delete so that this
package can be used for VxWorks 5.x and 6.x
(ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
differences between VxWorks 5.x and 6.x
Minor reformatting.
(Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
caller.
Use only Preelaborate-compatible constructs.
* s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
Primitives.Operations.
(Delete, Initialize): New procedures.
* s-osinte-vxworks.adb: Body used to handle differences between
VxWorks 5.x and 6.x
(kill, Set_Time_Slice, VX_FP_TASK): New functions.
* s-osinte-vxworks.ads: Minor reformatting.
Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
(VX_FP_TASK): Now a function, to handle differences between VxWorks 5
and 6.
(Set_Time_Slice): New function, replacing kerneltimeSlice to share code
between Vxworks 5 and 6.
(taskLock, taskUnlock): Removeed, no longer used.
* adaint.c: The wait.h header is not located in the sys directory on
VxWorks when using RTPs.
(__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
using RTPs.
(__gnat_dup): dup is available on Vxworks when using RTPs.
(__gnat_dup2): dup2 is available on Vxworks when using RTPs.
* cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
* expect.c: The wait.h header is not located in the sys directory on
VxWorks when using RTPs.
From-SVN: r103852
Arnaud Charlet [Mon, 5 Sep 2005 07:48:10 +0000 (09:48 +0200)]
s-tataat.adb, [...]: Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
* s-tataat.adb, a-tasatt.adb:
Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
* s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
these procedures to body, and renamed Abort_Defer, Abort_Undefer.
(Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
longer used.
From-SVN: r103851
Hristian Kirtchev [Mon, 5 Sep 2005 07:47:56 +0000 (09:47 +0200)]
a-tags.adb (IW_Membership): Give support to "Iface_CW_Typ in T'Class".
2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
Javier Miranda <miranda@adacore.com>
Gary Dismukes <dismukes@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* a-tags.adb (IW_Membership): Give support to
"Iface_CW_Typ in T'Class". For this purpose the functionality of this
subprogram has been extended to look for the tag in the ancestors tag
table.
Update the structure of the GNAT Dispatch Table to reflect the
additional two tables used in dispatching selects.
Introduce appropriate array types and record components in
Type_Specific_Data to reflect the two tables.
(Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
the TSD of a tag, indexed by position.
(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
operation kind in the TSD of a tag, indexed by position.
* a-tags.ads: Introduce an enumeration type to capture different
primitive operation kinds. Define a constant reflecting the number of
predefined primitive operations.
(Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
of an entry wrapper.
(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
callable entity of a primitive operation.
* exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
primitive operations used in dispatching selects for limited
interfaces, limited tagged, task and protected types what implement a
limited interface.
(Freeze_Type): Generate the bodies of the primitive operations used in
dispatching selects for limited tagged, task and protected types that
implement a limited interface. Generate statements to populate the two
auxiliary tables used for dispatching in select statements.
(Freeze_Record_Type): Add call to initialize the dispatch table entries
associated with predefined interface primitive operations.
(Build_Dcheck_Function): Change Set_Subtype_Mark to
Set_Result_Definition.
(Build_Variant_Record_Equality): Change Subtype_Mark to
Result_Definition.
(Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
(Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
(Build_Assignment): Simplify the code that adds the run-time-check.
(Expand_N_Object_Declaration): Code cleanup.
* exp_ch7.adb (Make_Clean): Select the appropriate type for locking
entries when there is a protected type that implements a limited
interface.
* exp_ch9.adb: Add package Select_Expansion_Utilities that contains
common routines used in expansion of dispatching selects.
(Add_Private_Declarations): Select the appropriate protection type when
there is a protected type that implements a limited interface.
(Build_Parameter_Block): Generate a wrapped parameter block.
(Build_Protected_Subprogram_Body): Select the appropriate type for
locking entries when there is a protected type that implements a
limited interface.
(Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
classified as entry wrappers.
(Expand_N_Asynchronous_Select): Add support for expansion of dispatching
asynchronous selects.
(Expand_N_Conditional_Entry_Call): Add support for expansion of
dispatching conditional selects.
(Expand_N_Protected_Type_Declaration): Select the appropriate type for
protection when there is a protected type that implements limited
interfaces.
(Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
timed selects.
(Extract_Dispatching_Call): Extract the entity of the name of a
dispatching call, the object parameter, actual parameters and
corresponding formals.
(Make_Initialize_Protection): Correct logic of protection initialization
when there is a protected type that implements a limited interface.
(Parameter_Block_Pack): Populate a wrapped parameter block with the
values of actual parameters.
(Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
block and assign them to the original actual parameters.
* exp_ch9.ads (Subprogram_Protection_Mode): New type.
(Build_Protected_Sub_Specification): Change the type and name of the
last formal to account for the increased variety of protection modes.
* einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
entities. Used to save the value of the Is_Hidden attribute when the
limited-view is installed.
(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
the attribute of procedures classified as entry wrappers.
(Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
entity of a primitive wrapper.
(Write_Entity_Flags): Output the name and value of the
Is_Primitive_Wrapper attribute.
(Write_Field27_Name): Output the name and entity of the field Wrapped_
Entity.
(Underlying_Type): If we have an incomplete entity that comes from
the limited view then we return the Underlying_Type of its non-limited
view if it is already available.
(Abstract_Interface_Alias): Flag applies to all subrogram kinds,
including operators.
(Write_Field26_Name): Add entry for Overridden_Operation
(Overridden_Operation): New attribute of functions and procedures.
* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
predefined position in the dispatch table for the primitive operations
used in dispatching selects.
(Init_Predefined_Interface_Primitives): Remove the hardcoded number of
predefined primitive operations and replace it with
Default_Prim_Op_Count.
(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
the names of the generated primitive operations used in dispatching
selects.
(Init_Predefined_Interface_Primitives): No need to inherit primitives in
case of abstract interface types. They will be inherit by the objects
implementing the interface.
(Make_DT): There is no need to inherit the dispatch table of the
ancestor interface for the elaboration of abstract interface types.
The dispatch table will be inherited by the object implementing the
interface.
(Copy_Secondary_DTs): Add documentation.
(Validate_Position): Improve this static check in case of
aliased subprograms because aliased subprograms must have
the same position.
(Init_Predefined_Interface_Primitives): New subprogram that initializes
the entries associated with predefined primitives of all the secondary
dispatch tables.
(Build_Anonymous_Access_Type): Removed.
(Expand_Interface_Actuals): With the previous cleanup there is no need
to build an anonymous access type. This allows further cleanup in the
code generated by the expander.
(Expand_Interface_Conversion): If the actual is an access type then
build an internal function to handle the displacement. If the actual
is null this function returns null because no displacement is
required; otherwise performs a type conversion that will be
expanded in the code that returns the value of the displaced actual.
(Expand_Interface_Actuals): Avoid the generation of unnecessary type
conversions that have no effect in the generated code because no
displacement is required. Code cleanup; use local variables to
avoid repeated calls to the subprogram directly_designated_type().
* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
Classify the primitive operations used in dispatching selects as
predefined.
(Implements_Limited_Interface): Determine whether some type either
directly implements a limited interface or extends a type that
implements a limited interface.
(Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
(Expand_Subtype_From_Expr): Do not build actual subtype if the
expression is limited.
(Find_Interface_Tag): Add code to handle class-wide types and
entities from the limited-view.
* rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
Set_Prim_Op_Kind.
* sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
of procedure name or prefix that appears as a trigger in a triggering
alternative.
* uintp.ads: Introduce constants Uint_11 and Uint_13.
From-SVN: r103850
Robert Dewar [Mon, 5 Sep 2005 07:47:26 +0000 (09:47 +0200)]
exp_ch4.adb (Expand_N_In): Replace test of expression in its own type by valid test and generate warning.
2005-09-01 Robert Dewar <dewar@adacore.com>
Gary Dismukes <dismukes@adacore.com>
Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_In): Replace test of expression in its own
type by valid test and generate warning.
(Tagged_Membership): Generate call to the run-time
subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
Change formal name Subtype_Mark to Result_Definition in several calls to
Make_Function_Specification.
(Expand_Allocator_Expression): Add tests for suppression of the AI-344
check for proper accessibility of the operand of a class-wide allocator.
The check can be left out if checks are suppressed or if the expression
has a specific tagged type whose level is known to be safe.
* exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
generates the run-time check associated with null-excluding entities.
(Expand_N_Return_Statement): Add tests to determine if the accessibility
check on the level of the return expression of a class-wide function
can be elided. The check usually isn't needed if the expression has a
specific type (unless it's a conversion or a formal parameter). Also
add a test for whether accessibility checks are suppressed. Augment
the comments to describe the conditions for performing the check.
From-SVN: r103849
Arnaud Charlet [Mon, 5 Sep 2005 07:46:59 +0000 (09:46 +0200)]
re PR ada/23646 (Ada testsuite hangs -- many new failures)
PR ada/23646
* s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
Remove reference to System.Exceptions.
* s-mastop-x86.adb: Removed, no longer used.
* s-traceb-mastop.adb: Adjust calls to Pop_Frame.
* a-excach.adb: Minor reformatting.
* a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
instead fix new warnings that were hidden by this change.
(AAA, ZZZ): Removed, replaced by...
(Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
are used instead of constants, to help make Ada.Exception truly
preelaborate.
(Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
Raise_Storage_Error): File is now a System.Address, to simplify code.
(Elab code): Removed, no longer used.
(Null_Occurrence): Remove Warnings Off and make this construct
preelaborate.
Remove code related to front-end zero cost exception handling, since
it is no longer used.
Remove -gnatL/-gnatZ switches.
* a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
Update use of Except.Msg.
* gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
to front-end zero cost exception handling, since it is no longer used.
Remove -gnatL/-gnatZ switches.
* lib-writ.ads: Minor reformatting
Remove doc of UX
* Makefile.rtl: Remove references to s-except*, s-mastop-x86*
* Make-lang.in: Remove references to s-except.ads
* s-except.ads: Removed, no longer used.
* s-mastop.ads, s-mastop.adb:
(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
Remove reference to System.Exceptions.
* raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
switch-b.adb: Remove code related to front-end zero cost exception
handling, since it is no longer used.
Remove -gnatL/-gnatZ switches.
From-SVN: r103848
Arnaud Charlet [Mon, 5 Sep 2005 07:46:06 +0000 (09:46 +0200)]
a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
* a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
* s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
dependent units are Preelaborate.
(Initialize): Call Interrupt_Managemeent.Initialize and
OS_Primitives.Initialize to ensure proper initialization of this unit.
Remove use of System.Soft_Links
Make this unit Preelaborate.
* s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
s-tratas.ads, s-tasinf.ads: Minor reformatting.
Add pragma Preelaborate, since these packages are suitable for this
categorization.
Update comments.
* s-traent-vms.ads, s-intman-dummy.adb,
s-taprop-dummy.adb: Make this unit Preelaborate.
* s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
s-intman-solaris.adb, s-intman-irix-athread.adb,
s-intman-irix.adb: Mark this unit Preelaborate.
(Initialize): New procedure.
Update comments.
* s-taspri-linux.ads: Removed.
* s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
as done by other implementations (e.g. posix).
* s-taprop.ads (Timed_Delay): Update spec since the caller now is
responsible for deferring abort.
Mark this unit Preelaborate.
* s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
proper initialization of the tasking run-time.
* s-tasdeb.ads: Mark this unit Preelaborate.
(Known_Tasks): Add explicit default value to avoid elaboration code.
* s-inmaop-vms.adb (Elaboration code): Add call to
Interrupt_Management.Initialize since the elaboration code depends on
proper initialization of this package.
* s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
s-osprim-posix.adb: Make this unit Preelaborate.
* a-calend.adb: Add call to OS_Primitives.Initialize
* a-elchha.adb: Update use of Except.Id.Full_Name.
Minor reformatting.
Remove use of Ada.Exceptions.Traceback when possible, cleaner.
* a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
Move with clauses outside Warnings Off now that dependent units are
Preelaborate.
Use raise xxx with "..."; Ada 2005 form.
* a-taside.ads, a-taside.adb:
Remove some dependencies, to make it easier to make this unit truly
Preelaborate.
Rewrite some code to be conformant with Preelaborate rules.
* g-os_lib.adb: Remove non-preelaborate code so that this unit can be
marked Preelaborate in the future.
* s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
these units Preelaborate.
* s-exctab.adb: Update use of Except.Id.Full_Name.
* s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
(Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
Set_Exc_Stack_Addr): Removed, no longer used.
Remove reference to *Machine_State_Addr*, no longer needed.
* s-stalib.ads: Mark this unit as Preelaborate[_05].
(Exception_Data): Full_Name is now a System.Address so that this unit
can be made Preelaborate.
Clean up/simplify code thanks to Full_Name being a System.Address.
Remove obsolete pragma Suppress (All_Checks), no longer needed.
* s-taskin.ads, s-taskin.adb:
Move with clauses outside Warnings Off now that dependent units are
Preelaborate.
Make this unit Preelaborate.
(Initialize): New proceduure, replace elaboration code and makes the
set up of the tasking run-time cleaner.
(Detect_Blocking): Now a function instead of a deferred boolean, to
obey Preelaborate rules.
* s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
soft links, no longer used.
* s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
packages are suitable for this categorization.
* s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
since we compile run-time sources in Ada 2005 mode.
(Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
avoid having s-taprop*.adb depend on s-soflin and to avoid code
duplication.
Remove reference to *Machine_State_Addr*, no longer needed.
From-SVN: r103847
GCC Administrator [Mon, 5 Sep 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r103841.2
Thomas Koenig [Sun, 4 Sep 2005 20:36:52 +0000 (20:36 +0000)]
re PR libfortran/23321 (Direct unformatted read beyond EOF cores)
2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/23321
* io/transfer.c(data_transfer_init): Check for a too-large
record number. Return if sseek failed.
2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/23321
* gfortran.dg/direct_io_4.f90: New test case.
From-SVN: r103835
Andrew Pinski [Sun, 4 Sep 2005 17:05:39 +0000 (17:05 +0000)]
re PR libobjc/23108 (alignment bug in libobjc/archive.c)
2005-09-04 Andrew Pinski <pinskia@physics.uc.edu>
Rasmus Hahn <rassahah@neofonie.de>
PR libobjc/23108
* objc.dg/type-stream-1.m: New test.
2005-09-04 Andrew Pinski <pinskia@physics.uc.edu>
Rasmus Hahn <rassahah@neofonie.de>
PR libobjc/23108
* archive.c (objc_write_type): Correct the element offset.
(objc_read_type): Likewise.
Co-Authored-By: Rasmus Hahn <rassahah@neofonie.de>
From-SVN: r103832
John David Anglin [Sun, 4 Sep 2005 14:51:58 +0000 (14:51 +0000)]
re PR target/23721 (pt.c:9462: ICE: in change_address_1, at emit-rtl.c:1791)
PR target/23721
* pa.c (emit_move_sequence): Fix typo in last change.
From-SVN: r103831
Joseph Myers [Sun, 4 Sep 2005 12:28:33 +0000 (13:28 +0100)]
be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po, vi.po: Update.
From-SVN: r103829
Joseph Myers [Sun, 4 Sep 2005 12:15:19 +0000 (13:15 +0100)]
be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
rw.po, sv.po, tr.po, zh_CN.po: Update.
From-SVN: r103825
Tobias Schlüter [Sun, 4 Sep 2005 12:08:53 +0000 (14:08 +0200)]
re PR fortran/23661 ('print fmt' is unclassifiable statement in gfortran)
fortran/
PR fortran/23661
* io.c (match_io): Correctly backup if PRINT followed by
symbol which is not a namelist. Force blank between PRINT
and namelist in free form.
testsuite/
PR fortran/23661
* gfortran.dg/print_fmt_1.f90, gfortran.dg/print_fmt_2.f90
gfortran.dg/print_fmt_3.f90: New test.
From-SVN: r103824
GCC Administrator [Sun, 4 Sep 2005 00:16:13 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r103821.2
Jakub Jelinek [Sat, 3 Sep 2005 18:54:55 +0000 (20:54 +0200)]
read.c (read_x): Take int argument instead of fnode * and digging the N from F->u.n.
* io/read.c (read_x): Take int argument instead of fnode * and
digging the N from F->u.n.
* io/io.h (read_x): Adjust prototype.
* io/transfer.c (formatted_transfer): Adjust callers. Don't clobber
f->u.n for FMT_T.
* gfortran.dg/fmt_t_1.f90: New test.
From-SVN: r103811
Jakub Jelinek [Sat, 3 Sep 2005 18:49:51 +0000 (20:49 +0200)]
re PR rtl-optimization/23454 (ICE in invert_exp_1, at jump.c:1719)
PR rtl-optimization/23454
* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
is true.
* g++.dg/opt/pr23454.C: New test.
From-SVN: r103810
Mark Mitchell [Sat, 3 Sep 2005 18:27:39 +0000 (18:27 +0000)]
re PR c++/23699 (rejects static int as non constant after "extern template")
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.
From-SVN: r103807
Mark Mitchell [Sat, 3 Sep 2005 18:18:48 +0000 (18:18 +0000)]
re PR c++/23699 (rejects static int as non constant after "extern template")
PR c++/23699
* decl2.c (mark_used): Always instantiate static data members
initialized by constant expressions.
* pt.c (instantiate_decl): Instantiate the initializers for static
data members initialized by constant expressions.
PR c++/21687
* semantics.c (expand_or_defer_fn): Do not call ggc_collect when
finishing processing for a template function in a local class.
Revert:
2005-09-02 Mark Mitchell <mark@codesourcery.com>
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.
PR c++/23699
* g++.dg/ext/static1.C: New test.
From-SVN: r103806
Richard Henderson [Sat, 3 Sep 2005 14:33:06 +0000 (07:33 -0700)]
re PR target/23671 (ICE in fixup_eh_region_note, at reload1.c:3808)
PR middle-end/23671
pa.c (emit_move_sequence): Use replace_equiv_address instead of
gen_rtx_MEM.
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r103803
GCC Administrator [Sat, 3 Sep 2005 00:16:15 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r103799.2
Richard Henderson [Fri, 2 Sep 2005 22:26:59 +0000 (15:26 -0700)]
frame-address.c (check_fa_mid): Avoid tail call to check_fa_work.
* gcc.c-torture/execute/frame-address.c (check_fa_mid): Avoid
tail call to check_fa_work.
From-SVN: r103797
Andreas Schwab [Fri, 2 Sep 2005 20:45:43 +0000 (20:45 +0000)]
Move from root of repository to intented place.
From-SVN: r103796
Francois-Xavier Coudert [Fri, 2 Sep 2005 20:24:49 +0000 (22:24 +0200)]
unix.c (stream_ttyname): Protect use of ttyname by HAVE_TTYNAME macro.
* io/unix.c (stream_ttyname): Protect use of ttyname by
HAVE_TTYNAME macro.
* configure.ac: Add check for ttyname.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r103794
Nicolas Pitre [Fri, 2 Sep 2005 19:09:33 +0000 (19:09 +0000)]
arm.c (arm_legitimize_address): Limit the value passed to bit_count to 32 bits.
* config/arm/arm.c (arm_legitimize_address): Limit the value passed
to bit_count to 32 bits.
From-SVN: r103792
Mark Mitchell [Fri, 2 Sep 2005 18:29:28 +0000 (18:29 +0000)]
re PR c++/21687 (ICE in GC with local class inside a template function)
PR c++/21687
* parser.c (cp_parser_class_specifier): Push/pop GC contexts
around functions in local classes.
PR c++/21687
* g++.dg/other/gc3.C: New test.
From-SVN: r103791
Andrew Pinski [Fri, 2 Sep 2005 18:13:47 +0000 (18:13 +0000)]
20030711-1.c: Include stddef.h and stdio.h.
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/
20030711-1.c: Include stddef.h and stdio.h.
* gcc.dg/
20050826-1.c: Likewise.
From-SVN: r103789
Paolo Carlini [Fri, 2 Sep 2005 16:23:39 +0000 (16:23 +0000)]
23465.cc: Reduce maximum size and lf.
2005-09-02 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
Reduce maximum size and lf.
From-SVN: r103783
Mark Mitchell [Fri, 2 Sep 2005 15:39:04 +0000 (15:39 +0000)]
re PR c++/23167 (internal compiler error: in create_tmp_var)
PR c++/23167
* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
generating synthetic loads from volatile lvalues.
PR c++/23167
* g++.dg/expr/volatile1.C: New test.
From-SVN: r103782
Nick Clifton [Fri, 2 Sep 2005 14:17:36 +0000 (14:17 +0000)]
stormy16-lib2.c (__popcounthi2, [...]): New functions.
* config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2, __ctzhi2,
__clzhi2): New functions.
From-SVN: r103779
Andreas Jaeger [Fri, 2 Sep 2005 13:29:53 +0000 (15:29 +0200)]
libgfortran.h: Add prototype for init_compile_options.
* libgfortran.h: Add prototype for init_compile_options.
* io/io.h: Add prototype for notify_std.
From-SVN: r103778
Andrew Pinski [Fri, 2 Sep 2005 12:41:08 +0000 (12:41 +0000)]
re PR middle-end/23547 ([non-unit-at-a-time] ICE with recursive call to nested function)
2005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23547
* tree-nested.c (struct var_map_elt): Mark with GTY.
(struct nesting_info): Mark with GTY. Mark var_map's param is struct
var_map_elt.
(lookup_field_for_decl): Allocate new element in GC memory.
(lookup_tramp_for_decl): Likewise.
(convert_nl_goto_reference): Likewise
(create_nesting_tree): Allocate info in GC memory. Likewise for info->var_map.
(free_nesting_tree): Free with ggc_free instead of free.
(root): New static variable.
(lower_nested_functions): Remove root as local variable. And zero out root at the end of the function.
2005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23547
* gcc.dg/pr23547.c: New test.
From-SVN: r103777
Richard Sandiford [Fri, 2 Sep 2005 12:24:21 +0000 (12:24 +0000)]
re PR c/22061 (internal compiler error: in find_function_data, at function.c:317)
PR c/22061
* gcc.c-torture/execute/pr22061-1.c,
* gcc.c-torture/execute/pr22061-2.c,
* gcc.c-torture/execute/pr22061-3.c,
* gcc.c-torture/execute/pr22061-4.c: New tests.
From-SVN: r103772
J"orn Rennecke [Fri, 2 Sep 2005 12:04:22 +0000 (12:04 +0000)]
re PR rtl-optimization/20365 (simplify_plus_minus results are erratic)
PR rtl-optimization/20365
* simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
to short. New member ix.
(simplify_plus_minus_op_data_cmp): Break ties using ix member.
(simplify_plus_minus): Initialize ix members before calling qsort.
From-SVN: r103771
Zdenek Dvorak [Fri, 2 Sep 2005 09:04:45 +0000 (11:04 +0200)]
re PR tree-optimization/23626 (ICE after cunrolling)
PR tree-optimization/23626
* tree-cfg.c (replace_uses_by): Clean up eh info.
From-SVN: r103766
DJ Delorie [Fri, 2 Sep 2005 02:09:01 +0000 (22:09 -0400)]
m32c.c (m32c_valid_pointer_mode): Remove stray debug fprintf.
* config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
fprintf.
From-SVN: r103761
David Edelsohn [Fri, 2 Sep 2005 01:52:37 +0000 (01:52 +0000)]
rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
* config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
(rs6000_split_multireg_move): Use replace_equiv_address instead of
gen_rtx_MEM.
From-SVN: r103760
Craig Rodrigues [Fri, 2 Sep 2005 01:26:59 +0000 (01:26 +0000)]
Wredundant-decls-2.c: New test to check that -Wredundant-decls does not issue warning for a variable...
* gcc.dg/Wredundant-decls-2.c: New test to check that
-Wredundant-decls does not issue warning for a variable
definition following a declaration.
From-SVN: r103759
Craig Rodrigues [Fri, 2 Sep 2005 01:09:42 +0000 (01:09 +0000)]
c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls...
* c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
do not issue warning for a variable definition following
a declaration.
From-SVN: r103758
Richard Henderson [Fri, 2 Sep 2005 00:27:56 +0000 (17:27 -0700)]
re PR target/23668 (gcc.dg/i386-sse-11.c and gcc.target/i386/pr13366.c fail)
PR 23668
* config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
conversion to CONST_VECTOR.
From-SVN: r103757
GCC Administrator [Fri, 2 Sep 2005 00:16:19 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r103753.2
Richard Henderson [Thu, 1 Sep 2005 23:35:19 +0000 (16:35 -0700)]
re PR middle-end/23676 (ICE: "missing REG_EH_REGION note in the end of bb")
PR 23676
* reload1.c (reload_as_needed): Check !CALL_P before calling
fixup_eh_region_note.
* rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
From-SVN: r103751
DJ Delorie [Thu, 1 Sep 2005 23:26:36 +0000 (19:26 -0400)]
varasm.c (output_constant): Let the target resolve conversions of addresses to non-default pointer sizes.
* varasm.c (output_constant): Let the target resolve
conversions of addresses to non-default pointer sizes.
From-SVN: r103750
Benjamin Kosnik [Thu, 1 Sep 2005 20:59:31 +0000 (20:59 +0000)]
std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/std_cmath.h: Declare C99 functions and helper
functions as inline.
From-SVN: r103747
Benjamin Kosnik [Thu, 1 Sep 2005 20:46:47 +0000 (20:46 +0000)]
std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/std_cmath.h: Declare C99 functions and helper
functions as inline.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r103743
Nicolas Pitre [Thu, 1 Sep 2005 19:01:20 +0000 (19:01 +0000)]
arm.c (arm_legitimize_address): Split absolute addresses to alow matching ARM pre-indexed addressing mode.
* config/arm/arm.c (arm_legitimize_address): Split absolute addresses
to alow matching ARM pre-indexed addressing mode.
(arm_override_options): Remove now irrelevant comment.
From-SVN: r103742
Phil Edwards [Thu, 1 Sep 2005 17:44:40 +0000 (17:44 +0000)]
config.gcc (i*86-wrs-vxworks): Update.
2005-08-30 Phil Edwards <phil@codesourcery.com>
* config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
* config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
* config/i386/vxworks.h: Likewise.
* config/i386/t-vxworksae: New file, for VxWorks AE.
* config/i386/vxworksae.h: Likewise.
From-SVN: r103741
Phil Edwards [Thu, 1 Sep 2005 17:42:56 +0000 (17:42 +0000)]
configure.in (*-*-vxworks*): Add target-libstdc++-v3 to noconfigdirs.
2005-08-30 Phil Edwards <phil@codesourcery.com>
* configure.in (*-*-vxworks*): Add target-libstdc++-v3 to noconfigdirs.
* configure: Regenerated.
From-SVN: r103740
Benjamin Kosnik [Thu, 1 Sep 2005 16:58:25 +0000 (16:58 +0000)]
libstdc++.exp (check_v3_target_cxa_atexit): Fix comment.
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@suse.de>
* testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
comment.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r103739
Sebastian Pop [Thu, 1 Sep 2005 15:09:41 +0000 (17:09 +0200)]
re PR middle-end/23410 (FAIL: gcc.c-torture/execute/950612-1.c execution, at -Os and -O3)
PR tree-optimization/23410
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
sequence is not wrapping during the first step.
From-SVN: r103733
Jakub Jelinek [Thu, 1 Sep 2005 13:53:45 +0000 (15:53 +0200)]
re PR debug/7241 (DWARF encoding for "char" incorrect in gcc)
PR debug/7241
* dwarf2out.c (base_type_die): Compare char_type_node with
TYPE_MAIN_VARIANT (type), not type.
* gcc.dg/debug/dwarf2/dwarf-char1.c: New test.
* gcc.dg/debug/dwarf2/dwarf-char2.c: New test.
* gcc.dg/debug/dwarf2/dwarf-char3.c: New test.
* gcc.dg/debug/dwarf2/dwarf-die1.c: Fix a typo.
* gcc.dg/debug/dwarf2/dwarf-die2.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die3.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die5.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die6.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-die7.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf-uninit.c: Likewise.
* gcc.dg/debug/dwarf2/dwarf2-macro.c: Likewise.
From-SVN: r103727
Richard Guenther [Thu, 1 Sep 2005 08:54:40 +0000 (08:54 +0000)]
re PR tree-optimization/15366 ([3.4 only][unit-at-a-time] -fno-inline-functions is ignored for static functions)
2005-09-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15366
* common.opt: Add -finline-functions-called-once.
Put -fearly-inlining in alphabetically ordered place.
* doc/invoke.texi: Document new option.
* ipa-inline.c (cgraph_decide_inlining): Honour
flag_inline_functions_called_once.
From-SVN: r103722
Benjamin Kosnik [Thu, 1 Sep 2005 07:06:05 +0000 (07:06 +0000)]
libstdc++.exp (check_v3_target_cxa_atexit): New.
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
* testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
* testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
* testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
* docs/html/ext/mt_allocator.html: Add link to examples.
* testsuite/testsuite_allocator.h: Tweak.
* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
* testsuite/ext/new_allocator/deallocate_global.cc: Same.
* testsuite/ext/new_allocator/deallocate_local.cc: Same.
From-SVN: r103721
Jakub Jelinek [Thu, 1 Sep 2005 05:29:03 +0000 (07:29 +0200)]
re PR rtl-optimization/23478 (Miscompilation due to reloading of a var that is also used in EH pad)
PR rtl-optimization/23478
* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
(alloc_qty): Initialize it.
(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
(combine_regs): Combine also n_throwing_calls_crossed fields.
(find_free_reg): Don't attempt to caller-save pseudos crossing
calls that might throw.
* global.c (struct allocno): Add throwing_calls_crossed field.
(global_alloc): Revert 2005-08-22 change. Initialize
throwing_calls_crossed.
(find_reg): Don't attempt to caller-save pseudos crossing calls that
might throw.
From-SVN: r103718
Alan Modra [Thu, 1 Sep 2005 02:47:59 +0000 (02:47 +0000)]
re PR target/23649 (gcc.dg/ppc-and-1.c failure due to not using rlwinm)
PR target/23649
* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
(mask64_operand): Reinstate code prior to 2005-06-11 change.
(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
(and64_2_operand): Tweak to use predicate.
(and_operand): Adjust for mask_operand changes.
* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
(print_operand): Likewise.
(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
(mask64_1or2_operand): Delete.
* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
(rotldi3_internal4): Likewise.
(rotldi3_internal5, rotldi3_internal5 split): Likewise.
(rotldi3_internal6, rotldi3_internal6 split): Likewise.
(ashldi3_internal7): Likewise.
(ashldi3_internal8, ashldi3_internal8 split): Likewise.
(ashldi3_internal, ashldi3_internal9 split): Likewise.
(anddi3 split): Don't match mask64_operand.
(anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
(anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
't' splitter predicate.
(movdi_internal64 + 2): Revert 2005-06-11 change.
From-SVN: r103716
DJ Delorie [Thu, 1 Sep 2005 01:52:26 +0000 (21:52 -0400)]
m32c.c (m32c_valid_pointer_mode): New.
* config/m32c/m32c.c (m32c_valid_pointer_mode): New.
(m32c_asm_integer): Add support for 32 bit pointers.
From-SVN: r103715
Richard Henderson [Thu, 1 Sep 2005 01:41:30 +0000 (18:41 -0700)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Look through component-like references for setting MEM_NOTRAP_P.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
component-like references for setting MEM_NOTRAP_P.
* config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
* config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
From-SVN: r103714
Andrew Pinski [Thu, 1 Sep 2005 01:32:10 +0000 (01:32 +0000)]
re PR objc/23306 ([unit-at-a-time] objc exceptions (GNU runtime) don't work with unit-at-a-time)
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/23306
* objc-act.c (generate_strings): Remove and move code to
finish decl to ...
(add_objc_string): here when creating a new string decl.
(finish_objc): Don't call generate_strings.
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/23306
* objc.dg/image-info.m: Remove "objc_module_info" check part of the
scan-assmbler.
From-SVN: r103713
Richard Henderson [Thu, 1 Sep 2005 01:06:45 +0000 (18:06 -0700)]
expr.c (expand_expr_real_1): Force subregs into a pseudo before applying gen_lowpart.
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
into a pseudo before applying gen_lowpart.
From-SVN: r103712
GCC Administrator [Thu, 1 Sep 2005 00:16:23 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r103709.2
Geoffrey Keating [Wed, 31 Aug 2005 21:43:06 +0000 (21:43 +0000)]
install.texi (Specific): Update cctools version required for full functionality.
* doc/install.texi (Specific): Update cctools version required
for full functionality.
* config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
linkers as -macosx_version_min.
From-SVN: r103702
Mike Stump [Wed, 31 Aug 2005 21:20:06 +0000 (21:20 +0000)]
Fixup white spacing.
From-SVN: r103701
J"orn Rennecke [Wed, 31 Aug 2005 19:51:17 +0000 (19:51 +0000)]
re PR target/21255 (%R and %S are not safe to use from asms)
2005-08-31 J"orn Rennecke <joern.rennecke@st.com>
gcc:
PR target/21255
* sh.c (print_operand, %R and %S): Add handling of floating point
registers, memory, constants and invalid operands.
gcc/testsuite:
PR target/21255
* gcc.dg/pr21255-1.c: New test.
* gcc.dg/pr21255-2-mb.c: Likewise.
* gcc.dg/pr21255-2-ml.c: Likewise.
* gcc.dg/pr21255-3.c: Likewise.
* gcc.dg/pr21255-4.c: Likewise.
From-SVN: r103700
Daniel Berlin [Wed, 31 Aug 2005 17:33:58 +0000 (17:33 +0000)]
ipa-pure-const.c: Change dump name.
2005-08-31 Daniel Berlin <dberlin@dberlin.org>
* ipa-pure-const.c: Change dump name.
From-SVN: r103692
Dale Johannesen [Wed, 31 Aug 2005 17:28:17 +0000 (17:28 +0000)]
20050830-1.c: New.
2005-08-31 Dale Johannesen <dalej@apple.com>
* gcc.dg/
20050830-1.c: New.
From-SVN: r103691
Uros Bizjak [Wed, 31 Aug 2005 17:27:53 +0000 (19:27 +0200)]
re PR target/23570 (internal compiler error: in merge_assigned_reloads, at reload1.c:6091)
PR target/23570
* config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
to "reg_or_0_operand".
(sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
From-SVN: r103690
Dale Johannesen [Wed, 31 Aug 2005 17:25:36 +0000 (17:25 +0000)]
loop-iv.c (iv_number_of_iterations): Fix overflow check for loops that count down.
2005-08-31 Dale Johannesen <dalej@apple.com>
* loop-iv.c (iv_number_of_iterations): Fix overflow check for
loops that count down.
From-SVN: r103689
Josh Conner [Wed, 31 Aug 2005 17:08:40 +0000 (17:08 +0000)]
packed8.C: Add -mstructure-size-boundary=8 to command-line options for arm-*-* targets.
* g++.dg/ext/packed8.C: Add -mstructure-size-boundary=8 to
command-line options for arm-*-* targets.
* g++.dg/init/array16.C: Likewise.
* g++.dg/other/crash-4.C: Likewise.
From-SVN: r103688
Steve Ellcey [Wed, 31 Aug 2005 17:05:52 +0000 (17:05 +0000)]
* io/read.c (set_integer): Use memcpy to fill buffer.
From-SVN: r103687
Paolo Carlini [Wed, 31 Aug 2005 17:01:57 +0000 (17:01 +0000)]
re PR libstdc++/23632 (std::vector<bool> in combination with debug mode fails to compile code)
2005-08-31 Paolo Carlini <pcarlini@suse.de>
Kaspar Fischer <fischerk@inf.ethz.ch>
PR libstdc++/23632
* include/bits/stl_bvector.h (_Bit_iterator::operator[],
_Bit_const_iterator::operator[]): Const-ify.
* testsuite/23_containers/vector/bool/23632.cc: New.
Co-Authored-By: Kaspar Fischer <fischerk@inf.ethz.ch>
From-SVN: r103686
Steve Ellcey [Wed, 31 Aug 2005 16:58:28 +0000 (16:58 +0000)]
re PR target/23556 (FAIL: gfortran.dg/pr18122.f90)
PR target/23556
* io/read.c (convert_real): Use memcpy to fill buffer.
From-SVN: r103685
Richard Henderson [Wed, 31 Aug 2005 16:41:47 +0000 (09:41 -0700)]
No, I had the number right the first time. Sigh.
From-SVN: r103684
Richard Henderson [Wed, 31 Aug 2005 16:29:13 +0000 (09:29 -0700)]
Fix typo in pr number.
From-SVN: r103681
Richard Henderson [Wed, 31 Aug 2005 16:26:51 +0000 (09:26 -0700)]
re PR rtl-optimization/23601 (reload may drop non-call exception information)
PR rtl-opt/23601
* reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
(fixup_eh_region_note): New.
(reload_as_needed): Call it.
(fixup_abnormal_edges): Allow all throwing insns to be deleted;
don't call find_many_sub_basic_blocks; call verify_flow_info.
* function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
(keep_stack_depressed): Likewise.
(assign_stack_temp_for_type): Likewise; use adjust_address_nv.
From-SVN: r103680
Richard Henderson [Wed, 31 Aug 2005 16:16:31 +0000 (09:16 -0700)]
i386.c (ix86_function_ok_for_sibcall): Fix test for fp return matching.
* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
fp return matching.
From-SVN: r103679
Fariborz Jahanian [Wed, 31 Aug 2005 15:55:52 +0000 (15:55 +0000)]
Fix ppc -m64 constant address expression expansion bug.
Oked by Richard Henderson.
From-SVN: r103676
Andrew Pinski [Wed, 31 Aug 2005 13:48:39 +0000 (06:48 -0700)]
Fix a couple of dates in the changelog
From-SVN: r103674
Andrew Pinski [Wed, 31 Aug 2005 13:46:06 +0000 (13:46 +0000)]
re PR objc++/23640 (obj-c++ does not call __objc_exec_class for the classes)
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR obj-c++/23640
* decl2.c (cp_finish_file): If this is obj-c++ and we need a static
init, call generate_ctor_or_dtor_function.
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR obj-c++/23640
* obj-c++.dg/gnu-runtime-3.mm: New test.
From-SVN: r103673
Francois-Xavier Coudert [Wed, 31 Aug 2005 12:31:30 +0000 (14:31 +0200)]
re PR fortran/20592 (-fno-automatic (g77 option) is missing from gfortran.)
PR fortran/20592
* gfortran.h (gfc_option_t): Add flag_automatic.
* invoke.texi: Document the -fno-automatic option.
* lang.opt: Add a -fautomatic option.
* options.c (gfc_init_options): Default for -fautomatic is on.
(gfc_handle_option): Add handling of -fautomatic option.
* resolve.c (gfc_resolve): When -fno-automatic is used, mark
needed variables as SAVE.
From-SVN: r103671
Richard Guenther [Wed, 31 Aug 2005 11:20:38 +0000 (11:20 +0000)]
re PR middle-end/23477 (default-initializing array new expression uses makes stack usage go way up)
2005-08-31 Richard Guenther <rguenther@suse.de>
PR middle-end/23477
* expr.c (all_zeros_p): New function.
(expand_expr_real_1): Handle the case of an all-zero
non-addressable constructor separately.
From-SVN: r103670
Volker Reichelt [Wed, 31 Aug 2005 10:32:54 +0000 (10:32 +0000)]
re PR c++/13377 (unexpected behavior of namespace usage directive)
PR c++/13377
* parser.c (cp_parser_lookup_name): Pass LOOKUP_COMPLAIN to
lookup_name_real on final parse.
* g++.dg/lookup/ambig4.C: New test.
* g++.dg/lookup/ambig5.C: New test.
* g++.dg/tc1/dr101.C: Adjust error markers.
From-SVN: r103667
Volker Reichelt [Wed, 31 Aug 2005 08:46:46 +0000 (08:46 +0000)]
re PR c++/23639 (Bad error message: not a member of '<declaration error>')
PR c++/23639
* semantics.c (qualified_name_lookup_error): Do not complain again
on invalid scope.
* g++.dg/template/ttp5.C: Adjust error markers.
From-SVN: r103662
Adrian Straetling [Wed, 31 Aug 2005 07:49:27 +0000 (07:49 +0000)]
builtins.c: (expand_builtin_strcpy...
2005-08-31 Adrian Straetling <straetling@de.ibm.com>
* builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
arguments, adjust all callers.
(expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
From-SVN: r103661
Richard Henderson [Wed, 31 Aug 2005 05:00:37 +0000 (22:00 -0700)]
re PR target/23630 (built-ins MMX regression)
PR target/23630
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
whenever the mode sizes match.
From-SVN: r103660
Andrew Pinski [Wed, 31 Aug 2005 04:48:41 +0000 (04:48 +0000)]
re PR objc/23381 (Next runtime objc exceptions are broken)
2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/23381
* objc-act.c (next_sjlj_build_try_catch_finally): Set
TREE_SIDE_EFFECTS on catch_seq after building it.
From-SVN: r103658
Alan Modra [Wed, 31 Aug 2005 03:33:23 +0000 (03:33 +0000)]
calls.c (load_register_parameters): Fix comment typo.
* calls.c (load_register_parameters): Fix comment typo.
* expr.c (emit_push_insn): Comment formatting.
From-SVN: r103656