Commit Graph

81395 Commits

Author SHA1 Message Date
Zdenek Dvorak a7b87f730f haifa-sched.c (restore_bb_notes): Clear bb field of the notes emited outside of basic block.
* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
	emited outside of basic block.
	* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
	the created blocks.
	* rtl.h (delete_insn_chain): Declaration changed.
	* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
	non-removed insns.
	(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
	(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
	rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false 
	to delete_insn_chain.
	(rtl_verify_flow_info_1): Verify that the insns in header and footer
	do not have bb field set.
	(rtl_verify_flow_info): Verify that insns between basic blocks do not
	have bb field set.
	* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
	* cfgcleanup.c (try_optimize_cfg): Ditto.

From-SVN: r125492
2007-06-06 14:46:34 +00:00
Thomas Neumann 45222d4a3d lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
* lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
	(lambda_body_vector_new): Use type safe memory macros.
	(lambda_linear_expression_new): Likewise.
	(lambda_loopnest_new): Likewise.
	(lambda_lattice_new): Likewise.
	(replace_uses_equiv_to_x_with_y): Cast according to the coding
	conventions. Use type safe memory macros.
	* lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
	(lambda_body_vector_s): Likewise.
	* lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
	* lambda-trans.c (lambda_trans_matrix_new): Likewise.

From-SVN: r125491
2007-06-06 14:33:57 +00:00
Richard Biener 68c834d087 tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2 if we need to schedule cfg_cleanup.
2007-06-06  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
	if we need to schedule cfg_cleanup.
	(tree_ssa_forward_propagate_single_use_vars): Do so.

From-SVN: r125490
2007-06-06 13:58:41 +00:00
Benjamin Kosnik 5a59ef3687 debug.html: Correct link.
2007-06-06  Benjamin Kosnik  <bkoz@redhat.com>
	    Frank Mori Hess  <frank.hess@nist.gov>
	        
    * docs/html/debug.html: Correct link.

From-SVN: r125488
2007-06-06 13:57:00 +00:00
Ian Lance Taylor 39ac2ffc71 fold-const.c (merge_ranges): If range_successor or range_predecessor fail, just return 0.
./:	* fold-const.c (merge_ranges): If range_successor or
	range_predecessor fail, just return 0.
testsuite/:
	* g++.dg/conversion/enum1.C: New test.

From-SVN: r125486
2007-06-06 13:56:00 +00:00
Benjamin Kosnik c846e485db 2007-06-06 Benjamin Kosnik <bkoz@redhat.com>
Frank Mori Hess  <frank.hess@nist.gov>
	


Co-Authored-By: Frank Mori Hess <frank.hess@nist.gov>

From-SVN: r125485
2007-06-06 13:54:44 +00:00
Arnaud Charlet 4dced6f92b configure.ac: Update TOOLS_TARGET_PAIRS configuration to match gcc/ada/Makefile.in.
* configure.ac: Update TOOLS_TARGET_PAIRS configuration to match
        gcc/ada/Makefile.in.

        * configure: Regenerated.

From-SVN: r125484
2007-06-06 15:18:52 +02:00
Uros Bizjak 9f106823dc re PR tree-optimization/32216 (ICE: verify_stmts failed (invalid reference prefix) with -ftree-vectorize)
PR tree-optimization/32216
	* tree-vectorizer.c (supportable_widening_operation): Determine
	signedness of FIX_TRUNC_EXPR from output operand.
	(supportable_narrowing_operation): Ditto.
	* tree-vect-generic.c (expand_vector_operations_1): Determine
	signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR
	from input operand.

testsuite/ChangeLog:
	
	PR tree-optimization/32216
	* gcc.dg/vect/pr32216.c: New test.

From-SVN: r125482
2007-06-06 14:12:32 +02:00
Arnaud Charlet ec11296fef Resync
From-SVN: r125481
2007-06-06 13:07:47 +02:00
Arnaud Charlet 1d46f74e58 Add new tests
From-SVN: r125480
2007-06-06 12:54:25 +02:00
Arnaud Charlet 4491f0aeaf Minor editing.
Update constants.
Update copyright notice.

From-SVN: r125479
2007-06-06 12:54:04 +02:00
Robert Dewar a99ada67cf a-reatim.adb: Documentation addition
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* a-reatim.adb: Documentation addition

	* g-cgideb.adb: Minor code reorganization

	* tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
	mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
	s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.

	* debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
	function.  Change name New_Scope to Push_Scope
	(Get_Debug_Flag_K): Remove unused obsolete function.

	* exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
	Push_Scope.

	* makeusg.adb: Update Copyright notice
	Add line for switch -aP

	* makeusg.adb: Fix wording of some usage messages

	* s-assert.adb (Raise_Assert_Failure): Add call to
	Debug_Raise_Assert_Failure.

	* s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
	(2, Standard'Alignment) for compatibility with AAMP (where alignment
	is restricted to 1).

	* s-wchjis.adb: Remove use of System.Pure_Exceptions

	* tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
	node location to No_Location when we're not debugging the expanded
	code.

From-SVN: r125478
2007-06-06 12:52:32 +02:00
Javier Miranda 7d2e68b351 a-cidlli.ads, [...] (Empty_Vector, [...]): Move this object declaration after freezing point of all its associated tagged...
2007-04-20  Javier Miranda  <miranda@adacore.com>

	* a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads, 
	a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
	declaration after freezing point of all its associated tagged types;
	otherwise such types are frozen too early.

From-SVN: r125477
2007-06-06 12:52:10 +02:00
Pascal Obry d579fabd9e makegpr.adb (Add_Archive_Path): Use untouched object and library dirs and library name.
2007-04-20  Pascal Obry  <obry@adacore.com>
	    Vincent Celier  <celier@adacore.com>

	* makegpr.adb (Add_Archive_Path): Use untouched object and library
	dirs and library name.
	(Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
	comments.
	(Build_Library): Idem.
	(Compile_Individual_Sources): Idem.
	(Compile_Link_With_Gnatmake): Idem.
	(Compile_Sources): Idem.
	(Get_Imported_Directories): Idem.
	(Link_Executables): Idem. Same change for the executable dir.
	(Check_Compilation_Needed): C_Source_Path new variable containing
	the canonical form of Source_Path to check against the source names
	in the dependency file.
	(Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
	verbose mode, display the name of the object directory we're changing
	to.
	(Saved_Switches): New name of table X_Switches
	(Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
	(Usage): New line for switch -aP
	(Get_Imported_Directories.Add): Make sure that Add_Arg is True before
	testing if a directory should be added to the search path.

From-SVN: r125476
2007-06-06 12:51:56 +02:00
Vincent Celier e08b38f555 xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and -gnatw.C)
2007-04-20  Vincent Celier  <celier@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
	-gnatw.C)

	* gnat_ugn.texi: Fix ordering of -g switch for gnatmake
	Document gnatbind switch -a
	(case Constructions): Document that variables declarations are allowed
	for previously declared variables.
	Fix external lib project example
	-gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
	Indicate that "#if not X or Y then" is not allowed in input files to
	gnatprep.
	Document gnatw.x and gnatw.X warning flags
	Mention -Winline switch to activate warnings when back-end inlining is
	ineffective.
	Add gnatcheck rule descriptions
	Describe how to use the GNAT driver to call a tool on a closure.
	Describe how to run project-wide checks or metrics.
	Document gnatbind's -R option
	Updated to account for Ada 2005 support

	* gnat_rm.texi (Case Construction): Allow variable declarations for
	previously declared variables.
	(Representation Clauses and Pragmas): Lift restriction on alignment
	clauses for record types.
	(Ada.Characters.*): Fix typo in reference to A.3.3(27).
	Document No_Exception_Propagation restriction
	Document No_Body pragma
	Updated to account for Ada 2005 support; corrected some typos
	(Implementation Defined Pragmas): Document pragma Universal_Aliasing.

	* gnat-style.texi: Make it clear that we never use mode IN for
	procedures or functions

	* ug_words: Add entries for -gnatw.x and -gnatw.X
	Add entries for -gnatw.c/.C

From-SVN: r125475
2007-06-06 12:51:44 +02:00
Vincent Celier 9de6e08232 vms_conv.adb (Process_Argument): Keep arguments starting with '+' as is.
2007-04-20  Vincent Celier  <celier@adacore.com>

	* vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
	is.

	* vms_data.ads: Add entries for -gnatw.x and -gnatw.X
	/STYLE_CHECKS=GNAT: Change meaning to -gnatyg
	/GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
	Add missing comment for /OPTIMIZE=SPACE
	Add entry for OPTIMIZE=SPACE
	Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
	Add documentation for new qualifiers corresponding to -gnatw.c/.C

From-SVN: r125474
2007-06-06 12:51:19 +02:00
Thomas Quinot 96efeb4f9d types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to PE_Non_Transportable_Actual.
2007-04-20  Thomas Quinot  <quinot@adacore.com>

	* types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
	PE_Non_Transportable_Actual.
	(By_Descriptor_Last): New constant.
	(By_Copy_Return): Likewise.

From-SVN: r125473
2007-06-06 12:50:59 +02:00
Eric Botcazou e7ad2039ed tracebak.c (FRAME_OFFSET): Add parameter FP.
2007-04-20  Eric Botcazou  <ebotcazou@adacore.com>

	* tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
	add the stack bias if the offset is computed from a frame address.
	(__gnat_backtrace): Adjust for above change.

From-SVN: r125472
2007-06-06 12:50:46 +02:00
Matthew Gingell c956c1be72 s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the VxWorks task descriptor in the Ada run time...
2007-04-20  Matthew Gingell  <gingell@adacore.com>
	    Jose Ruiz  <ruiz@adacore.com>

	* s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
	VxWorks task descriptor in the Ada run time, call a C subprogram
	(__gnat_get_stack_info) that extracts the required information.

	* sysdep.c: Back out temporary lynxos workaround.
	(__gnat_get_stack_info): Add this procedure that passes to the Ada run
	time the stack information associated to the currently executing task.
	Only VxWorks systems require this function.

From-SVN: r125471
2007-06-06 12:50:30 +02:00
Vincent Celier c7f0bdd2f8 switch-b.adb (Scan_Binder_Switches): Add processing for new switches -R and -Z
2007-04-20  Vincent Celier  <celier@adacore.com>

	* switch-b.adb (Scan_Binder_Switches): Add processing for new
	switches -R and -Z

	* switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
	(Scan_Make_Switches): Recognize new switch -aP

From-SVN: r125470
2007-06-06 12:50:04 +02:00
Robert Dewar 94a198aa8e stylesw.ads, [...] (Set_GNAT_Style_Check): New procedure
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
	(Set_Style_Check_Options): Recognize new -gnatyg style switch

	* switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
	Warn_On_Non_Local_Exception to False, to turn off warnings for
	No_Exception_Propagation in ZFP runtime.
	(Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
	back-ends.
	(Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks

From-SVN: r125469
2007-06-06 12:49:42 +02:00
Vincent Celier c2a49ce627 a-dirval-vms.adb, [...] (Windows): New Boolean function.
2007-04-20  Vincent Celier  <celier@adacore.com>

	* a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
	function.

	* a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
	letter if it is not followed by a '/' or a '\'.
	(Windows): New Boolean function

	* a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
	Ada 2005.
	(Containing_Directory): On Windows, keep at least one '/' or '\' after a
	drive letter.
	(Containing_Directory): Raise Use_Error when the directory is a root
	directory.
	(Extension): When returning the result, use a conversion to Result_Type,
	not a qualification.

From-SVN: r125468
2007-06-06 12:49:20 +02:00
Eric Botcazou cb65368d57 s-stoele.ads, [...]: Move inline_always subprograms earlier than their first call.
2007-04-20  Eric Botcazou  <ebotcazou@adacore.com>

	* s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
	than their first call.
	Add type Dummy_Communication_Block used in the generation of the pre-
	defined dispatching primitive _disp_asynchronous_select.
	(Storage_Element): Put Pragma Universal_Aliasing on it.

From-SVN: r125467
2007-06-06 12:49:08 +02:00
Thomas Quinot 4ce7ff881a g-soccon-darwin.ads, [...]: Add new constant Thread_Blocking_IO...
2007-04-20  Thomas Quinot  <quinot@adacore.com>

	* g-soccon-darwin.ads, gen-soccon.c: Add new constant
	Thread_Blocking_IO, always True by default, set False on a per-runtime
	basis.
	Add Windows-specific constants
	Add new constant Need_Netdb_Buffer.
	Add new macros to indicate whether getXXXbyYYY is thread safe and, if
	not, whether to use getXXXbyYYY_r.

	* gsocket.h: Add new constant Need_Netdb_Buffer.
	Add new macros to indicate whether getXXXbyYYY is thread safe and, if
	not, whether to use getXXXbyYYY_r.

From-SVN: r125466
2007-06-06 12:48:51 +02:00
Quentin Ochem 37000abae4 s-stausa.ads, [...] (Initialize_Analyzer): Added parameter "Overflow_Guard".
2007-04-20  Quentin Ochem  <ochem@adacore.com>

	* s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
	"Overflow_Guard".
	(Stack_Analyzer): Added field "Overflow_Guard"
	(Task_Result): Added field "Overflow_Guard".
	(Index_Str): New constant.
	(Task_Name_Str): New constant.
	(Actual_Size_Str): New constant.
	(Pattern_Array_Element_Size): New constant.
	(Get_Usage_Range): New subprogram.
	(Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
	Now align the output.
	Added comments.
	(Initialize): Added value for Overflow_Guard.
	(Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
	Update the value of the overflow guard according to the actual
	beginning of the pattern array.
	(Initialize_Analyzer): Added parameter Overflow_Guard.
	Take this parameter into accound when computing the max size.
	(Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
	(Report_Result): Removed extra useless procedure.
	Updated call to Output_Result.
	Moved full computation of the Task_Result here.

From-SVN: r125465
2007-06-06 12:48:27 +02:00
Arnaud Charlet 1513f9bf9b s-secsta.adb (Chunk): Ensure this object has a static size known at compile time...
2007-04-20  Arnaud Charlet  <charlet@adacore.com>

	* s-secsta.adb (Chunk): Ensure this object has a static size known at
	compile time, to avoid dynamic memory allocation
	(Elaboration code): Only use dynamic memory allocation when needed.

From-SVN: r125464
2007-06-06 12:48:07 +02:00
Ed Schonberg 0c1edb5680 sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for exceptions.
2007-04-20  Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
	exceptions.
	(Write_Itype): Handle case of string literal subtype, which
	comes up in this context.
	(Update_Itype): when debugging expanded code, update sloc of itypes
	associated with defining_identifiers and ranges, for gdb use.
	(Sprint_Node_Actual): Add static keyword to object or exception
	declaration output if Is_Statically_Allocated is True.
	(Sprint_End_Label): Set entity of end marker for a subprogram, package,
	or task body, so that the tree carries the proper Sloc information for
	debugging use.
	(Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes

From-SVN: r125463
2007-06-06 12:47:54 +02:00
Robert Dewar 0600d9bc83 sinput-l.ads, [...]: implement a new pragma No_Body
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* sinput-l.ads, sinput-l.adb: implement a new pragma No_Body

From-SVN: r125462
2007-06-06 12:47:30 +02:00
Ed Schonberg ff68219171 sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion.
2007-04-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
	to prevent subsequent expansion.

From-SVN: r125461
2007-06-06 12:47:17 +02:00
Robert Dewar 13f34a3ff1 sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an illegal aggregate and the type is still...
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
	illegal aggregate and the type is still Any_Composite.
	(Subtypes_Statically_Match): Fix problem of empty discriminant list

From-SVN: r125460
2007-06-06 12:47:02 +02:00
Thomas Quinot 79e448454b s-finroo.ads, [...] (Read, Write): Use null procedure declarations instead of an explicit null body, for conciseness.
2007-04-20  Thomas Quinot  <quinot@adacore.com>

	* s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
	declarations instead of an explicit null body, for conciseness.

From-SVN: r125459
2007-06-06 12:46:39 +02:00
Jose Ruiz 72fb810db9 s-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed.
2007-04-20  Jose Ruiz  <ruiz@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* s-taprob.adb (Unlock): Change the ceiling priority of the underlying
	lock, if needed.

	* s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
	priority associated to a lock.

	* s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
	assertion to take into account case of no abort restriction.
	(Initialize_Protection_Entries): Add initialization for the field
	New_Ceiling associated to the protected object.
	(Unlock_Entries): Change the ceiling priority of the underlying lock, if
	needed.

	* s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
	since this function needs to be set consistently with Update_Exception.

	* s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
	since this function needs to be set consistently with Update_Exception.

	* s-taskin.ads: Update comments on
	Interrupt_Server_Blocked_On_Event_Flag.
	(Unbind_Handler): Fix handling of server_task wakeup
	(Server_Task): Set self's state so that Unbind_Handler can take
	appropriate actions.
	(Common_ATCB): Now use a constant from System.Parameters to determine
	the max size of the Task_Image field.

	* s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
	Initialize_Analyzer function.
	([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
	take into account case of no abort restriction.
	([Vulnerable_]Complete_Master): Modify assertion.

	* s-tataat.adb (Finalize): Use the nestable versions of
	Defer/Undefer_Abort.

	* s-tpobop.adb (Protected_Entry_Call): Relax assertion.

	* s-tpobop.ads: Update comments.

	* s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
	of locking the object manually, to avoid inconsistencies between
	Lock/Unlock_Entry assertions.

	* s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
	terminating
	application and System.Parameters.No_Abort is True.
	Update comments on Interrupt_Server_Blocked_On_Event_Flag.
	(Unbind_Handler): Fix handling of server_task wakeup
	(Server_Task): Set self's state so that Unbind_Handler can take
	appropriate actions.

From-SVN: r125458
2007-06-06 12:46:22 +02:00
Thomas Quinot b9f3a4b07d 2007-04-20 Thomas Quinot <quinot@adacore.com>
Olivier Hainque  <hainque@adacore.com>

	* a-except-2005.ads, a-except-2005.adb
	(Raise_From_Controlled_Operation): New procedure in
	(private part of) Ada.Exceptions (standard runtime version). Used to
	provide informational exception message when Program_Error is raised as
	a result of an Adjust or Finalize operation propagating an exception.
	(Rmsg_28): Fix description for E.4(18) check.
	(Raise_Current_Excep): Call Debug_Raise_Exception just before
	propagation starts, to let debuggers know about the event in a reliable
	fashion.
	Take the address of E and dereference to make sure it is homed on stack
	and prevent the stores from being deleted, necessary for proper
	debugger behavior on "break exception" hits.
	(Local_Raise): Moved to System.Exceptions

	* s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
	exception message from the current occurrence and raise Program_Error
	has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.

From-SVN: r125457
2007-06-06 12:46:09 +02:00
Thomas Quinot 1c8e4e2e55 socket.c (__gnat_close_signalling_fd): New function.
2007-04-20  Thomas Quinot  <quinot@adacore.com>

	* socket.c (__gnat_close_signalling_fd): New function.
	(__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
	__gnat_safe_getservbyname, __gnat_safe_getservbyport):
	New supporting functions for task safe Netdb operations.

From-SVN: r125456
2007-06-06 12:45:42 +02:00
Olivier Hainque 2e60399433 raise-gcc.c (__gnat_eh_personality): Tweak the signature and add special code on ia64-vms to handle major...
2007-04-20  Olivier Hainque  <hainque@adacore.com>

	* raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
	special code on ia64-vms to handle major incompatibilities between the
	GCC unwinding ABI and the VMS Condition Handling Facility, both calling
	this routine with a very different set of arguments and expectations on
	the return value.

From-SVN: r125455
2007-06-06 12:45:25 +02:00
Robert Dewar e090bc755c sem_elab.adb (Check_A_Call): Specialize elaboration warnings on elaboration model
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
	elaboration model
	(Check_A_Call): Add check for entry call which was causing blowup

From-SVN: r125454
2007-06-06 12:45:10 +02:00
Hristian Kirtchev f377c995c3 sem_util.ads, [...] (May_Be_Lvalue): A prefix of an attribute reference acts as an lvalue when...
2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
	reference acts as an lvalue when the attribute name modifies the prefix
	(Is_Coextension_Root): New routine.
	(Mark_Static_Coextensions): New routine.
	(Type_Access_Level): Revise code for checking the level of the
	anonymous access type of a return object.
	(Safe_To_Capture_Value): Not safe to capture if Address_Taken
	(Matches_Prefixed_View_Profile): Remove the no longer necessary
	retrieval of the corresponding controlling record type.
	(Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
	concurrent types declared within a generic as well as class wide types.
	Emit a mode incompatibility error whenever a protected entry or routine
	override an interface routine whose first parameter is not of mode
	"out", "in out" or access to variable.
	(Overrides_Synchronized_Primitive): Rename to
	Find_Overridden_Synchronized_Primitive.
	(Collect_Interface_Components): New subprogram that collects all the
	components of a tagged record containing tags of secondary dispatch
	tables.
	(Add_Global_Declaration): New procedure
	(Abstract_Interface_List): Handle properly the case of a subtype of a
	private extension.
	(Type_Access_Level): In the case of a type whose parent scope is a
	return statement, call Type_Access_Level recursively on the enclosing
	function's result type to determine the level of the return object's
	type.
	(Build_Elaboration_Entity): Build name of elaboration entity from the
	scope chain of the entity, rather than the unit name of the file name.
	(Check_Nested_Access): New procedure.
	(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
	(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
	(Get_Renamed_Entity): Utility routine for performing common operation
	of chasing the Renamed_Entity field of an entity.

From-SVN: r125453
2007-06-06 12:44:43 +02:00
Robert Dewar 495d6dd6da sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
2007-04-20  Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
	(Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
	overriding of an inherited private subprogram now there is no need to
	inherit its dispatching slot and reduce the size of the dispatch table.
	Set_All_DT_Position now ensures that the same slot is now assigned to
	both entities. This is required to statically build the dispatch table.
	(Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
	of calling Set_All_DT_Position to re-evaluate the position of the
	entries in the dispatch table. Such reevaluation is not desired if
	the tagged type is already frozen.

From-SVN: r125452
2007-06-06 12:44:24 +02:00
Hristian Kirtchev b7d1f17ff2 sem_res.ads, [...] (Process_Allocator): Do not propagate the chain of coextensions when...
2007-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
	chain of coextensions when an allocator serves as the root of such a
	chain.
	(Propagate_Coextensions): Remove the test for the root being an
	allocator.
	(Resolve_Allocator): Add condition to ensure that all future decoration
	occurs on an allocator node. Add processing and cleanup for static
	coextensions.
	(Valid_Conversion): If the operand type is the limited view of a
	class-wide type, use the non-limited view is available to determine
	legality of operation.
	(Ambiguous_Character): move to spec, for use elsewhere.
	(Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
	(Resolve_Range): Diagnose properly an ambiguous range whose bounds are
	character literals.
	(Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
	Do_Division_Check flag explicitly.
	(Resolve_Actuals): If the actual is of a synchronized type, and the
	formal is of the corresponding record type, this is a call to a
	primitive operation of the type, that is declared outside of the type;
	the actual must be unchecked-converted to the type of the actual
	(Resolve_Call): Kill all current values for any subprogram call if
	flag Suppress_Value_Tracking_On_Call is set.
	(Resolve_Type_Conversion): Generate error message the the operand
	or target of interface conversions come from a limited view.
	(Check_Infinite_Recursion): Ignore generated calls
	(Check_Allocator_Discrim_Accessibility): New procedure for checking
	that an expression that constrains an access discriminant in an
	allocator does not denote an object with a deeper level than the
	allocator's access type.
	(Resolve_Allocator): In the case of an allocator initialized by an
	aggregate of a discriminated type, check that associations for any
	access discriminants satisfy accessibility requirements by calling
	Check_Allocator_Discrim_Accessibility.
	(Resolve_Equality_Op): Handle comparisons of anonymous access to
	subprogram types in the same fashion as other anonymous access types.
	(Resolve_Concatenation_Arg): Remove initial character '\' in an error
	message that is not a continuation message.
	(Resolve_Type_Conversion): Add missing support for conversion to
	interface type.
	(Resolve_Actuals): Introduce a transient scope around the call if an
	actual is a call to a function returning a limited type, because the
	resulting value must be finalized after the call.
	(Resolve_Actuals): If the call was given in prefix notations, check
	whether an implicit 'Access reference or implicit dereference must be
	added to make the actual conform to the controlling formal.

From-SVN: r125451
2007-06-06 12:43:57 +02:00
Robert Dewar 27c489df75 2007-04-20 Robert Dewar <dewar@adacore.com>
Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb
	(Find_Var): Do not consider function call in test for infinite loop
	warning if warnings set off for function entity.
	(One_Bound): Do not create a temporary for a loop bound if it is a
	character literal.
	(Analyze_Assignment): Traverse the right hand side of an assignment and
	mark all allocators as static coextensions.
	(Analyze_Assignment): Exempt assignments involving a dispatching call
	to a function with a controlling access result from the check requiring
	the target to be class-wide.

From-SVN: r125450
2007-06-06 12:43:37 +02:00
Robert Dewar 8f7770f9f8 sem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): Check for restriction No_Implementation_Attributes if in Ada 95 mode.
2007-04-20  Robert Dewar  <dewar@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
	Check for restriction No_Implementation_Attributes if in Ada 95 mode.
	(Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
	(Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
	message when using a VM, since this attribute is not supported.
	(Analyze_Record_Representation_Clause): Give unrepped component warnings

	* usage.adb: Add new warning for renaming of function return objects
	Indicate that -gnatwp and -gnatwP concern front-end inlining
	Add line for -gnatyg
	Add usage information for -gnatw.c/C

From-SVN: r125449
2007-06-06 12:43:09 +02:00
Javier Miranda 8909e1edc6 sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity Exception_Occurrence if...
2007-04-20  Javier Miranda  <miranda@adacore.com>
	    Hristian Kirtchev  <kirtchev@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
	use of entity Exception_Occurrence if it is not available in the
	target run-time.

	* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
	concurrent types are declared within an Ada 2005 generic, build their
	corresponding record types since they are needed for overriding-related
	semantic checks.
	(Analyze_Protected_Type): Rearrange and simplify code for testing that a
	protected type does not implement a task interface or a nonlimited
	interface.
	(Analyze_Task_Type): Rearrange and simplify code for testing that a task
	type does not implement a protected interface or a nonlimited interface.
	(Single_Task_Declaration, Single_Protected_Declaration): use original
	entity for variable declaration, to ensure that debugging information
	is correcty generated.
	(Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
	routines if the expander is not active.
	(Analyze_Task_Body): Mark all handlers to stop optimization of local
	raise, since special things happen for task exception handlers.

	* sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
	concurrent types declared within a generic.
	(Check_Dispatching_Operation): Do not emit warning about late interface
	operations in the context of an instance.
	(Check_Dispatching_Call): Remove restriction against calling a
	dispatching operation with a limited controlling result.
	(Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
	Register_Interface_DT_Entry by calls to Register_Primitive.
	(Check_Dispatching_Formals): Handle properly a function with a
	controlling access result.

From-SVN: r125448
2007-06-06 12:42:51 +02:00
Javier Miranda fcd1d957e5 sem_ch10.ads, [...] (Analyze_Compilation_Unit): Disable check on obsolescent withed unit in case of limited-withed units.
2007-04-20  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
	on obsolescent withed unit in case of limited-withed units.
	(Analyze_Compilation_Unit): Add guard to code that removed an
	instantiation from visibility, to prevent compiler aborts when
	instantiation is abandoned early on.
	(Install_Limited_Withed_Unit): Recognize a limited-with clause on the
	current unit being analyzed, and Distinguish local incomplete types
	from limited views of types declared elsewhere.
	(Build_Limited_Views.Decorate_Tagged_Type): Add documentation
	to state that the class-wide entity is shared by the limited-view
	and the full-view.
	(Analyze_With_Clause): Improve placement of flag for case of
	unimplemented unit.
	(Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
	manner similar to GNAT.Current_Exception. This is a violation of
	restriction (No_Exception_Propagation), and also inhibits the
	optimization of local raise to goto.
	(Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
	and if so set Most_Recent_Exception_Used flag in Opt, and also check
	for violation of restriction No_Exception_Propagation.

From-SVN: r125447
2007-06-06 12:42:36 +02:00
Robert Dewar 9f0d9574d3 sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names Remove no longer used nodes.
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
	Remove no longer used nodes.

From-SVN: r125446
2007-06-06 12:42:10 +02:00
Robert Dewar 0e701488e1 scng.adb: (Check_End_Of_Line): Deal with very long lines
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* scng.adb: (Check_End_Of_Line): Deal with very long lines

From-SVN: r125445
2007-06-06 12:41:57 +02:00
Arnaud Charlet b06f1f839c s-bitops.adb: Get rid of System.Pure_Exceptions.
2007-04-20  Arnaud Charlet  <charlet@adacore.com>

	* s-bitops.adb: Get rid of System.Pure_Exceptions.
	Replace UC by Ada.UC

From-SVN: r125444
2007-06-06 12:41:35 +02:00
Arnaud Charlet 6790c86527 restrict.ads, [...] (No_Exception_Handlers_Set): Only return true if configurable run-time or No_Run_Time is set.
2007-04-20  Arnaud Charlet  <charlet@adacore.com>

	* restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
	true if configurable run-time or No_Run_Time is set.
	(Set_Restriction): Avoid setting restriction No_Elaboration_Code when
	processing an unit which is not the one being compiled.

From-SVN: r125443
2007-06-06 12:41:12 +02:00
Vincent Celier 38c2fd0ca9 prj.adb (Project_Empty): Gives default value for new component Libgnarl_Needed
2007-04-20  Vincent Celier  <celier@adacore.com>

	* prj.adb (Project_Empty): Gives default value for new component
	Libgnarl_Needed

	* prj-attr.ads: Minor reformatting

	* prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
	directory using the untouched casing.
	(For_All_Source_Dirs): Idem.

	* prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
	directories specified with switches -aP.
	(Add_Search_Project_Directory): New procedure
	(Initialize_Project_Path): Put the directories in table
	Search_Directories in the project search path.
	(Initialize_Project_Path): For VMS, transform into canonical form the
	project path.

From-SVN: r125442
2007-06-06 12:40:57 +02:00
Vincent Celier f95fd3b225 prep.ads, prep.adb (Expression): New Boolean parameter Complemented, defaulted to False.
2007-04-20  Vincent Celier  <celier@adacore.com>

	* prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
	defaulted to False.
	In the "not" case, recursive call with Complemented set to True.
	Do not allow "or" or "and" operators when Complemented is True.

From-SVN: r125441
2007-06-06 12:40:36 +02:00
Robert Dewar af1a7c8879 par-ch4.adb: (P_Name): Recover from literal used as name
2007-04-20  Robert Dewar  <dewar@adacore.com>

	* par-ch4.adb: (P_Name): Recover from literal used as name

From-SVN: r125440
2007-06-06 12:40:24 +02:00