Commit Graph

86446 Commits

Author SHA1 Message Date
Andreas Schwab
33558d947c * doc/invoke.texi: Fix use of @item vs. @itemx.
From-SVN: r133614
2008-03-26 20:14:54 +00:00
Tom Tromey
f6a9a9aff1 Makefile.in (build/gensupport.o, [...]): Depend on options.h.
* Makefile.in (build/gensupport.o, build/print-rtl.o,
	build/read-rtl.o, build/rtl.o, build/gencondmd.o, build/genattr.o,
	build/genattrtab.o, build/genautomata.o, build/gencheck.o,
	build/gencodes.o, build/genconditions.o, build/genconfig.o,
	build/genconstants.o, build/genemit.o, build/genextract.o,
	build/genflags.o, build/genmddeps.o, build/genopinit.o,
	build/genoutput.o, build/genpeep.o, build/genrecog.o): Depend on
	options.h.

From-SVN: r133612
2008-03-26 17:54:53 +00:00
Richard Guenther
2041e75c3c revert: fold-const.c (target.h): Include.
2008-03-26  Richard Guenther  <rguenther@suse.de>

        Revert
        2008-03-26  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (target.h): Include.
	(fold_comparison): Fold comparison of addresses of two decls
	that bind locally.  Consolidate address folding code.

	* gcc.dg/fold-addr-1.c: New testcase.

From-SVN: r133608
2008-03-26 15:07:27 +00:00
Kaveh R. Ghazi
aefa9d43dc builtins.c (expand_builtin_pow, [...]): Remove uses of dconst3, dconstsqrt2, dconstthird, dconste and/or dconst10.
* builtins.c (expand_builtin_pow, fold_builtin_cabs,
	fold_builtin_sqrt, fold_builtin_cbrt, fold_builtin_logarithm,
	fold_builtin_hypot, fold_builtin_pow): Remove uses of dconst3,
	dconstsqrt2, dconstthird, dconste and/or dconst10.
	* config/i386/i386.c (ix86_emit_swsqrtsf): Likewise.
	* emit-rtl.c (dconst3, dconst10, dconstm2, dconstthird,
	dconstsqrt2, dconste): Delete.
	(init_emit_once): Likewise.  Simplify initializing dconstm1.
	Constify variable.
	* real.c (get_real_const): New.
	* real.h (dconst3, dconst10, dconstm2, dconstthird,
	dconstsqrt2, dconste): Delete.
	(real_value_const, get_real_const): New.

From-SVN: r133607
2008-03-26 15:04:44 +00:00
H.J. Lu
35dd7cc326 cygming.h (BIGGEST_ALIGNMENT): Removed.
2008-03-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cygming.h (BIGGEST_ALIGNMENT): Removed.

	* config/i386/i386.c (ix86_function_arg_boundary): Check
	BIGGEST_ALIGNMENT instead of 128.
	(setup_incoming_varargs_64): Likewise.

From-SVN: r133605
2008-03-26 06:30:18 -07:00
Tom Tromey
f91ed78d62 * Makefile.in (DEPFILES): Add missing '/'.
From-SVN: r133604
2008-03-26 13:18:34 +00:00
Uros Bizjak
4acc3f420c sse-13.c: Include <mm_malloc.h> before redefinitions of extern and __inline.
* gcc.target/i386/sse-13.c: Include <mm_malloc.h>
        before redefinitions of extern and __inline.
        * gcc.target/i386/sse-13.c: Ditto.

From-SVN: r133602
2008-03-26 14:08:08 +01:00
Jakub Jelinek
07874f1f63 re PR c++/35332 (Broken diagnostics for builtins)
PR c++/35332
	* error.c (dump_expr): Pass {,UN}ORDERED_EXPR, UN{LT,LE,GT,GE,EQ}_EXPR
	and LTGT_EXPR to pp_expression.

	* g++.dg/other/error27.C: New test.

From-SVN: r133600
2008-03-26 14:03:30 +01:00
Richard Guenther
4990038def fold-const.c (target.h): Include.
2008-03-26  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (target.h): Include.
	(fold_comparison): Fold comparison of addresses of two decls
	that bind locally.  Consolidate address folding code.

	* gcc.dg/fold-addr-1.c: New testcase.

From-SVN: r133599
2008-03-26 12:37:29 +00:00
Nick Clifton
813ab1d7df re PR target/31232 (Problem while compiling gcc for xstormy16-elf)
PR target/31232
   * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
   not allow INT+INT as a legitimate addressing mode.

From-SVN: r133598
2008-03-26 12:32:22 +00:00
Richard Guenther
cf3135aaa1 tree-flow.h (widen_bitfield): Remove declaration.
2008-03-26  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (widen_bitfield): Remove declaration.
	* tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
	(widen_bitfield): Remove function.
	* tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
	code.

From-SVN: r133597
2008-03-26 11:09:43 +00:00
Richard Guenther
49e013b373 20030731-2.c: Scan dce1 dump.
2008-03-26  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/20030731-2.c: Scan dce1 dump.
	* gcc.dg/tree-ssa/20030917-1.c: Scan optimized dump.
	* gcc.dg/tree-ssa/20030917-3.c: Scan ccp1 dump.
	* gcc.dg/tree-ssa/20040721-1.c: Test linking, do not disable DOM.
	* gcc.dg/tree-ssa/pr21574.c: Scan the fre dump.
	* gcc.dg/tree-ssa/ssa-ccp-1.c: Scan ccp1 dump.
	* gcc.dg/tree-ssa/ssa-ccp-3.c: Scan ccp2 dump.

From-SVN: r133596
2008-03-26 11:05:54 +00:00
Arnaud Charlet
640bd0bfac * adaint.c: Fix warnings.
From-SVN: r133595
2008-03-26 12:05:34 +01:00
Matthias Klose
feb5153085 [multiple changes]
2008-03-26  Daniel Jacobowitz  <dan@debian.org>

        * src/arm/sysv.S: Fix ARM comment marker.

2008-03-26  Jakub Jelinek  <jakub@redhat.com>

        * src/alpha/osf.S: Add .note.GNU-stack on Linux.
        * src/s390/sysv.S: Likewise.
        * src/powerpc/ppc_closure.S: Likewise.
        * src/powerpc/sysv.S: Likewise.
        * src/x86/unix64.S: Likewise.
        * src/x86/sysv.S: Likewise.
        * src/sparc/v8.S: Likewise.
        * src/sparc/v9.S: Likewise.
        * src/m68k/sysv.S: Likewise.
        * src/arm/sysv.S: Likewise.

From-SVN: r133594
2008-03-26 08:24:42 +00:00
Arnaud Charlet
a03cc04ade New tests
From-SVN: r133593
2008-03-26 09:07:07 +01:00
Arnaud Charlet
0afae63b0a * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
From-SVN: r133592
2008-03-26 08:56:12 +01:00
Arnaud Charlet
afc5f9793c a-witeio.adb: Fix problem with Current_Output (introduce Self).
* a-witeio.adb: Fix problem with Current_Output (introduce Self).
	Fix problem of status check for null file

From-SVN: r133591
2008-03-26 08:54:59 +01:00
Arnaud Charlet
c5d31169ee s-proinf-irix-athread.ads, [...]: Minor reformatting.
* s-proinf-irix-athread.ads, s-vxwork-mips.ads,
	s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
	s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
	i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
	s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
	comments.

From-SVN: r133590
2008-03-26 08:53:37 +01:00
Arnaud Charlet
b501b2513a Resync.
From-SVN: r133589
2008-03-26 08:46:50 +01:00
Robert Dewar
da50876659 gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W Add description for the new gnatstub...
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
	Add description for the new gnatstub option '--header-file'
	clarification of -gnatwz/-gnatwZ
	Add a "Irix-Specific Considerations" section to document the need to
	set LD_LIBRARY_PATH when using the default shared runtime library.
	Added documentation for both gcov and gprof.

	* gnat_rm.texi: Document that pragma Compile_Time_Warning generates
	messages that are not suppressed when clients are compiled.
	Add documentation of s-pooglo s-pooloc
	Document the new GNAT.Serial_Communications API.
	Add documentation for 'Old attribute
	Add description of pragma Optimize_Alignment

	* ug_words: Add entries for -gnatw.w -gnatw.W

	* usage.adb: Add line for -gnatw.w (warn on warnings off)

From-SVN: r133588
2008-03-26 08:44:09 +01:00
Robert Dewar
7e5e5cc7c4 tbuild.ads, [...] (N_Pragma): Chars field removed, use Chars (Pragma_Identifier (..
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
	par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
	removed, use Chars (Pragma_Identifier (..  instead, adjustments
	throughout to accomodate this change.

	* s-pooglo.ads, s-pooloc.ads: Minor comment updates

	* exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
	Einfo.Set_Needs_Debug_Info)

From-SVN: r133587
2008-03-26 08:43:59 +01:00
Arnaud Charlet
bc9bb02d4e [multiple changes]
2008-03-26  Tristan Gingold  <gingold@adacore.com>

	* init.c: Do not adjust pc for HPARITH on alpha/vms.

2008-03-26  Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb: (OK_To_Set_Reference): New function
	(Generate_Reference): Don't set referenced from occurrence in Warnings,
	Unmodified, or Unreferenced pragma

2008-03-26  Robert Dewar  <dewar@adacore.com>

	* alloc.ads: Add entries for Warnings_Off_Pragmas table

2008-03-26  GNAT Script  <nobody@adacore.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r133586
2008-03-26 08:43:45 +01:00
Robert Dewar
f53f9dd781 back_end.adb, [...]: Minor reformatting
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* back_end.adb, back_end.ads: Minor reformatting

	* bindgen.adb: Minor clarification of comments

	* fname.ads: Minor comment fixes

	* g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
	prj-nmsc.adb, sem_aggr.adb: Minor reformatting

	* xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
	xsnames.adb: Remove warnings off pragma no longer needed

	* a-catizo.ads, a-calari.ads, a-calfor.adb,
	a-calfor.ads: Fix header.

From-SVN: r133585
2008-03-26 08:43:27 +01:00
Robert Dewar
14063a127c g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized

From-SVN: r133584
2008-03-26 08:43:18 +01:00
Matthew Heaney
2a6b365a30 a-ciorse.ads, [...]: Marked with clauses as private, and controlled operations as overriding
2008-03-26  Matthew Heaney  <heaney@adacore.com>

	* a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads, 
	a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
	Marked with clauses as private, and controlled operations as overriding

From-SVN: r133582
2008-03-26 08:43:07 +01:00
Vincent Celier
8ee459524b a-direct.adb (Start_Search): Raise Use_Error if the directory is not readable.
2008-03-26  Vincent Celier  <celier@adacore.com>

	* a-direct.adb (Start_Search): Raise Use_Error if the directory is not
	readable.

From-SVN: r133581
2008-03-26 08:42:56 +01:00
Robert Dewar
9a18e785b8 sem_warn.ads, [...] (Warnings_Off_Pragmas): New table
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
	(Initialize): New procedure
	(Output_Warnings_Off_Warnings): New procedure
	(Check_References): Suppress certain msgs if Is_Trivial_Subprogram
	(Output_Non_Modifed_In_Out_Warnings): Ditto
	(Warn_On_Unreferenced_Entity): Ditto

From-SVN: r133580
2008-03-26 08:42:47 +01:00
Robert Dewar
26570b2174 sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite recursion and raise SE directly.
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
	recursion and raise SE directly.
	(Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
	set for formal type for IN mode parameter.

From-SVN: r133579
2008-03-26 08:42:37 +01:00
Ed Schonberg
7d823354f4 sem_ch7.adb (Install_Parent_Private_Declarations): If the private declarations of a parent unit are made visible when...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb (Install_Parent_Private_Declarations): If the private
	declarations of a parent unit are made visible when compiling a child
	instance, the parent is not a hidden open scope, even though it may
	contain other pending instance.
	
	* sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
	hidden open scope for some child instance, it does affect the
	visibility status of other stach entries.
	(Analyze_Object_Renaming): Check that a class-wide object cannot be
	renamed as an object of a specific type.

From-SVN: r133578
2008-03-26 08:42:25 +01:00
Ed Schonberg
76a696635d sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on operations that have an interface parameter.
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
	operations that have an interface parameter.
	(Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
	Don't treat No_Return call as raise.

	* sem_disp.adb (Check_Dispatching_Operations): apply check for
	non-primitive interface primitives to access parameters, not to all
	parameters of an access type.

From-SVN: r133577
2008-03-26 08:42:14 +01:00
Robert Dewar
d9f86c0c6c sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
	* sinfo.ads, sinfo.adb (From_At_End): New flag

From-SVN: r133576
2008-03-26 08:42:03 +01:00
Ed Schonberg
9b91e15091 sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is a generic subprogram that is imported...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
	a generic subprogram that is imported, do not attempt to compile
	non-existent body.

	* sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
	imported, do not generate a raise_program_error for the non-existent
	body.
	(Pre_Analyze_Actuals): If an error is detected during pre-analysis,
	perform minimal name resolution on the generic to avoid spurious
	warnings.
	(Find_Actual_Type): the designated type of the actual in a child unit
	may be declared in a parent unit without being an actual.

From-SVN: r133575
2008-03-26 08:41:53 +01:00
Robert Dewar
d767bc3ac4 scn.adb (Initialize_Scanner): Format messages belong on standard error
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* scn.adb (Initialize_Scanner): Format messages belong on standard error

From-SVN: r133574
2008-03-26 08:41:37 +01:00
Vincent Celier
1a5d715a60 prj-dect.adb (Parse_Package_Declaration): When a package name is not known...
2008-03-26  Vincent Celier  <celier@adacore.com>

	* prj-dect.adb (Parse_Package_Declaration): When a package name is not
	known, check if it may be a missspelling of a known package name. In
	not verbose, not mode, issue warnings only if the package name is a
	possible misspelling.
	In verbose mode, always issue a warning for a not known package name,
	plus a warning if the name is a misspelling of a known package name.

	* prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
	limited withs or limited withs are parse during one call.
	(Parse_Single_Project): Post parse context clause in two passes: non
	limited withs before current project and limited withs after current
	project.

	* prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
	project with the name With_Name, even if it is only extended indirectly.
	(Recursive_Process): Process projects in order: first single withs, then
	current project, then limited withs.

	* prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
	project with the name With_Name, even if it is only extended indirectly.

From-SVN: r133573
2008-03-26 08:41:16 +01:00
Thomas Quinot
2b2b679811 sem_cat.adb (Validate_RACW_Primitives): Do not rely on Comes_From_Source to exclude primitives from being checked.
2008-03-26  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb (Validate_RACW_Primitives): Do not rely on
	Comes_From_Source to exclude primitives from being checked. We want to
	exclude predefined primitives only, so use the appropriate specific
	predicate. Also, flag a formal parameter of an anonymous
	access-to-subprogram type as illegal for a primitive operation of a
	remote access to class-wide type.

From-SVN: r133572
2008-03-26 08:41:04 +01:00
Vincent Celier
e96db982d2 osint-c.adb (Set_Library_Info_Name): Use canonical case file names to check if the specified object file is correct.
2008-03-26  Vincent Celier  <celier@adacore.com>

	* osint-c.adb (Set_Library_Info_Name): Use canonical case file names
	to check if the specified object file is correct.

From-SVN: r133571
2008-03-26 08:40:35 +01:00
Robert Dewar
0503c53a3f itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind

	* sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
	unchecked conversion for different conventions only for subprogram
	pointers or on VMS.

From-SVN: r133570
2008-03-26 08:40:27 +01:00
Pascal Obry
f88ecba0bc Makefile.in: Add proper GNAT.Serial_Communications implementation on supported platforms.
2008-03-26  Pascal Obry  <obry@adacore.com>

	* Makefile.in: Add proper GNAT.Serial_Communications implementation on
	supported platforms.
	
	* Makefile.rtl: Add g-sercom.o.
	
	* impunit.adb: Add g-sercom.adb.
	
	* s-crtl.ads (open): New routine.
	(close): Likewise.
	(write): Likewise.
	
	* s-osinte-mingw.ads (BYTE): New type.
	(CHAR): Likewise.
	(OVERLAPPED): Likewise.
	(GENERIC_READ): New constant.
	(GENERIC_WRITE): Likewise.
	(OPEN_EXISTING): Likewise.
	(PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
	type instead.
	(CreateFile): New routine.
	(WriteFile): Likewise.
	(ReadFile): Likewise.
	(CloseHandle): Move next to the other file oriented routines.

	* g-sercom.ads: New unit.

	* g-sercom.adb: Default implementation, calls to this unit will raise
	a program error exception.
	
	* g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
	GNU/Linux implementations.

From-SVN: r133569
2008-03-26 08:40:18 +01:00
Robert Dewar
4e9f48a126 g-pehage.adb, [...]: Replace Raise_Exception by "raise with" construct.
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
	s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
	Raise_Exception by "raise with" construct.

From-SVN: r133568
2008-03-26 08:40:04 +01:00
Vincent Celier
944f7f28cd gnatcmd.adb: Add processing for GNAT SYNC
2008-03-26  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Add processing for GNAT SYNC

	* vms_conv.ads: (Command_Type): Add command Sync

	* vms_conv.adb (Initialize): Add Command_List data for new command Sync

	* vms_data.ads: Add entries for -gnatw.w
	Add qualifier for gnatstub --header-file option
	Add switches for GNAT SYNC

	* prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
	(Add_Package_Name): New procedure
	(Package_Name_List): New function
	(Initialize): Add known package names to the list
	(Register_New_Package): Add the new package name to the list

From-SVN: r133567
2008-03-26 08:39:50 +01:00
Ed Schonberg
26658d3a35 exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component assignment is within the initialization procedure for a packed...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
	assignment is within the initialization procedure for a packed array,
	and Initialize_Scalars is enabled, compile right-hand side with checks
	off, because the value is purposely out of range.

From-SVN: r133566
2008-03-26 08:39:39 +01:00
Javier Miranda
c364d9be81 exp_ch7.adb (Make_Clean): Code cleanup using the new centralized subprogram Corresponding_Runtime_Package...
2008-03-26  Javier Miranda  <miranda@adacore.com>

	* exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
	subprogram Corresponding_Runtime_Package to know the runtime package
	that will provide support to a given protected type.

	* exp_ch9.adb (Add_Private_Declarations,
	Build_Protected_Subprogram_Call,
	Build_Protected_Entry, Build_Simple_Entry_Call,
	Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
	Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
	cleanup using the new centralized subprogram Corresponding_Runtime
	Package to know the runtime package that provides support to
	a given protected type.

From-SVN: r133565
2008-03-26 08:39:28 +01:00
Javier Miranda
1923d2d671 exp_disp.adb (Make_DT, [...]): Set attribute Is_Static_Dispatch_Table
2008-03-26  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
	Is_Static_Dispatch_Table
	(Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
	to Exchange_Declarations to exchange the private and full-view. Bug
	found working in this issue.
	(Expand_Dispatching_Call): Propagate the convention of the subprogram
	to the subprogram pointer type.
	(Make_Secondary_DT): Replace generation of Prim'Address by
	Address (Prim'Unrestricted_Access)
	(Make_DT): Replace generation of Prim'Address by
	Address (Prim'Unrestricted_Access)
	(Make_Disp_*_Bodies): When compiling for a restricted profile, use
	simple call form for single entry.
	(Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
	tables of predefined primitives).
	(Make_Secondary_DT): Add support to handle access to dispatch tables of
	predefined primitives.
	(Make_Tags): Add entities to Access_Dispatch_Table associated with
	access to dispatch tables containing predefined primitives.

	* exp_ch6.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead, adjustments throughout to accomodate
	this change.
	(Register_Predefined_DT_Entry): Updated to handle the new contents
	of attribute Access_Disp_Table (pointers to dispatch tables containing
	predefined primitives).

	* exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
	subprogram.
	(Find_Interface_ADT): Updated to skip the new contents of attribute
	Access_Dispatch_Table (pointers to dispatch tables containing predefined
	primitives).

	* sem_util.adb (Has_Abstract_Interfaces): Add missing support for
	concurrent types.
	(Set_Convention): Use new function Is_Access_Subprogram_Type
	(Collect_Interfaces_Info): Updated to skip the new contents of attribute
	Access_Dispatch_Table (pointers to dispatch tables containing predefined
	primitives).

	* exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
	expanded code avoiding calls to Build_Predef_Prims.
	(Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
	call to Build_Get_Predefined_Prim_Op_Address.

From-SVN: r133564
2008-03-26 08:39:17 +01:00
Gary Dismukes
50cff36721 exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation of a heap allocator for a limited unconstrained function...
2008-03-26  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
	of a heap allocator for a limited unconstrained function return when
	resstriction No_Allocators is active.
	(Analyze_Allocator): The restriction No_Allocators is now only checked
	on allocators that have Comes_From_Source set, as per RM-H.4(7).

	* sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
	of a heap allocator for a limited unconstrained function return when
	resstriction No_Allocators is active.
	(Analyze_Allocator): The restriction No_Allocators is now only checked
	on allocators that have Comes_From_Source set, as per RM-H.4(7).
	(Has_Fixed_Op):  If the name in a function call is Standard."*" and the
	operands are fixed-point types, the universal_fixed predefined operation
	is used, regardless of whether the operand type (s) have a primitive
	operation of the same name.

From-SVN: r133563
2008-03-26 08:39:04 +01:00
Robert Dewar
59ae6391bd exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for No_Run_Time_Mode
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
	No_Run_Time_Mode

From-SVN: r133562
2008-03-26 08:38:51 +01:00
Ed Schonberg
df89ab66c7 sem_ch3.adb (Access_Definition): If the access type is the return result of a protected function...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Definition): If the access type is the return
	result of a protected function, create an itype reference for it
	because usage will be in an inner scope from the point of declaration.
	(Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
	OK_To_Reorder_Components.
	(Make_Index): If an overloaded range includes a universal integer
	interpretation, resolve to Standard.Integer.
	(Analyze_Subtype_Indication): Copy Convention to subtype
	(Check_Abstract_Interfaces): Complete semantic checks on the legality of
	limited an synchronized progenitors in type declaration and private
	extension declarations.

	* exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
	protected subprogram body, determine proper scope from subprogram
	declaration.

From-SVN: r133561
2008-03-26 08:38:40 +01:00
Robert Dewar
06eab6a7fa exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise stmt.
2008-03-26  Robert Dewar  <dewar@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
	stmt.
	(No_Exception_Propagation_Active): New function.
	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
	Update comments, and review all uses of No_Exception_Propagation, which
	are now correct and in sync with what gigi expects.

	* restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
	function.
	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
	Update comments, and review all uses of No_Exception_Propagation, which
	are now correct and in sync with what gigi expects.

From-SVN: r133560
2008-03-26 08:38:28 +01:00
Javier Miranda
e10dab7f8d exp_attr.adb (N_Pragma): Chars field removed.
2008-03-26  Javier Miranda  <miranda@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (N_Pragma): Chars field removed.
	(Expand_N_Attribute_Reference): If the designated type associated with
	attribute 'Unrestricted_Access is a subprogram entity then replace it
	by an E_Subprogram_Type itype.
	Implement attribute Old

	* sem_attr.ads (Attribute_Class_Array): Move to snames.ads

	* sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
	Replace call to
	New_Internal_Entity by call to Create_Itype to centralize calls
	building itypes, ad propagate the convention of the designated
	subprogram. In addition, disable the machinery cleaning constant
	indications from all entities in current scope when 'Unrestricted_Access
	corresponds with a node initializing a dispatch table slot.
	(Analyze_Attribute): Parameterless attributes returning a string or a
	type will not be called with improper arguments, so we can remove junk
	code that was dealing with this case.
	Implement attribute Old

	* snames.ads, snames.h, snames.adb: Add entries for attribute Old
	Add entry for pragma Optimize_Alignment
	New standard names Sync and Synchronize

From-SVN: r133559
2008-03-26 08:38:16 +01:00
Ed Schonberg
acf63f8c06 exp_aggr.adb (Replace_Type): When checking for self-reference...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Replace_Type): When checking for self-reference, verify
	that the prefix of an attribute is the type of the aggregate being
	expanded.

From-SVN: r133558
2008-03-26 08:38:00 +01:00
Robert Dewar
3b8d33ef1d par.adb (Check_No_Right_Paren): Removed no longer used
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* par.adb (Check_No_Right_Paren): Removed no longer used

	* par-ch10.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead.

	* par-ch10.adb (P_Subunit): Improvement in error recovery and message

	* par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
	par-ch4.adb: Minor improvements in error recovery and messages.

	* erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
	non-serious

	* par-ch9.adb: Minor improvements in error recovery and messages
	(P_Protected): Better error recovery for "protected type x;"

	* par-util.adb: Minor improvements in error recovery and messages
	(Check_No_Right_Paren): Removed no longer used

From-SVN: r133557
2008-03-26 08:37:49 +01:00