Commit Graph

69767 Commits

Author SHA1 Message Date
Aaron Luchko 2d95cce3c9 StringReferenceCommandSet.java: New file.
* gnu/classpath/jdwp/processor/StringReferenceCommandSet.java:
        New file.

From-SVN: r101628
2005-07-05 17:26:38 +00:00
Paolo Bonzini ef3303124e Makefile.in: Adjust dependencies.
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in: Adjust dependencies.
	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
	* alias.c (rest_of_handle_cfg, pass_cfg): New.
	* bb-reorder.c (duplicate_computed_gotos): Make it static.
	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
	rest_of_compilation.

	* bb-reorder.c (gate_duplicate_computed_gotos,
	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
	rest_of_handle_reorder_blocks, pass_reorder_blocks,
	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
	pass_partition_blocks): New.
	* bt-load.c (gate_handle_branch_target_load_optimize,
	rest_of_handle_branch_target_load_optimize,
	pass_branch_target_load_optimize): New.
	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
	pass_jump2): New.
	* cfglayout.c (pass_insn_locators_initialize): New.
	* cfgrtl.c (pass_free_cfg): New.
	* combine.c (gate_handle_combine, rest_of_handle_combine,
	pass_combine): New.
	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
	* except.c (pass_set_nothrow_function_flags,
	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
	pass_rtl_eh): New.
	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
	rest_of_handle_shorten_branches, pass_shorten_branches,
	rest_of_clean_state, pass_clean_state): New.
	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
	rest_of_handle_remove_death_notes, pass_remove_death_notes,
	rest_of_handle_life, pass_life, rest_of_handle_flow2,
	pass_flow2): New.
	* function.c (pass_instantiate_virtual_regs, pass_init_function,
	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
	pass_gcse): New.
	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
	pass_rtl_ifcvt, gate_handle_if_after_combine,
	rest_of_handle_if_after_combine, pass_if_after_combine,
	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
	pass_if_after_reload): New.
	* integrate.c (pass_initial_value_sets): New.
	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
	pass_purge_lineno_notes): New.
	* mode-switching.c (rest_of_handle_mode_switching,
	pass_mode_switching): New.
	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
	pass_loop2): New.
	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
	pass_loop_optimize): New.
	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
	pass_sms): New.
	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
	pass_gcse2): New.
	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
	pass_postreload_cse): New.
	* profile.c (gate_handle_profiling, pass_profiling,
	rest_of_handle_branch_prob, pass_branch_prob): New.
	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
	pass_split_before_regstack, gate_handle_split_before_regstack,
	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
	rest_of_handle_split_all_insns, pass_split_all_insns): New.
	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
	pass_stack_regs): New.
	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
	pass_stack_adjustments): New.
	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
	pass_regrename): New.
	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
	pass_delay_slots, gate_handle_machine_reorg,
	rest_of_handle_machine_reorg, pass_machine_reorg): New.
	* rtl.h (extern void purge_line_number_notes): New.
	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
	pass_sched2): New.
	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
	pass_tracer): New.
	* value-prof.c (gate_handle_value_profile_transformations,
	rest_of_handle_value_profile_transformations,
	pass_value_profile_transformations): New.
	* var-tracking.c (gate_handle_var_tracking,
	pass_variable_tracking): New.
	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.

	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
	rest_of_handle_old_regalloc, rest_of_handle_regrename,
	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
	rest_of_handle_gcse2, rest_of_handle_regmove,
	rest_of_handle_tracer, rest_of_handle_if_conversion,
	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
	rest_of_handle_web, rest_of_handle_branch_prob,
	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
	rest_of_handle_jump_bypass, rest_of_handle_combine,
	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
	rest_of_handle_gcse, rest_of_handle_loop_optimize,
	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
	rest_of_handle_mode_switching, rest_of_handle_jump,
	rest_of_handle_eh, rest_of_handle_stack_adjustments,
	rest_of_handle_flow2, rest_of_handle_jump2,
	rest_of_handle_peephole2, rest_of_handle_postreload,
	rest_of_handle_shorten_branches, rest_of_clean_state,
	rest_of_compilation): Remove.

	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
	* passes.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
	from tree-optimize.c.
	(init_optimization_passes): Moved from tree-optimize.c,
	adding the RTL optimizations.
	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
	all_ipa_passes, all_lowering_passes, register_one_dump_file,
	register_dump_files, next_pass_1, last_verified, execute_todo,
	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
	init_tree_optimization_passes, ipa_passes): Delete.
	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
	the RTL dumps.
	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
	from tree.h.
	(ipa_passes): Remove.
	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
	(dump_info_p, dump_flag): Moved to tree-dump.h.

	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
	cgraph.c, opts.c.
	* passes.c (finish_optimization_passes): Use dump_begin
	and dump_end, TDI_end.
	(gate_rest_of_compilation): New.
	(pass_rest_of_compilation): Use it.
	(gate_postreload, pass_postreload): New.
	* toplev.c (general_init): Rename init_tree_optimization_passes.
	* toplev.h (init_tree_optimization_passes): Rename to
	init_optimizations_passes.
	* tree-dump.c (dump_flag): Make static.
	(dump_files): Remove RTL dumps.
	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
	pass_cleanup_cfg, pass_free_cfg_annotations,
	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
	pass_init_datastructures, pass_fixup_cfg): Make non-static.
	* tree-pretty-print.c: Include tree-pass.h.
	* cgraph.c: Include tree-dump.h.

cp:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (class.o, decl2.o): Adjust dependencies.
	* class.c: Include tree-dump.h.
	* decl2.c: Include tree-dump.h.

java:
2005-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (parse.o): Adjust dependencies.
	* parse.y: Include tree-dump.h.

From-SVN: r101627
2005-07-05 16:20:53 +00:00
Daniel Berlin 47bcb538b4 tree-ssa-structalias.c (get_constraint_exp_from_ssa_var): Only fall back to saying it points to readonly memory if we can't do better.
2005-07-04  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
	Only fall back to saying it points to readonly memory if
	we can't do better.

From-SVN: r101625
2005-07-05 15:31:17 +00:00
Kazuhiro Inaoka cdc9bfe6aa m32r-protos.h: Remove m32r_finalize_pic.
* config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
	* config/m32r/m32r.c (m32r_compute_frame_size,
	m32r_expand_prologue): Take current_function_profile into
	account whenever we reference
	current_function_uses_pic_offset_table.
	(m32r_finalize_pic): Remove.
	* config/m32r/m32r.h (FINALIZE_PIC): Likewise.

From-SVN: r101624
2005-07-05 14:16:06 +00:00
Paolo Bonzini 064be44503 ChangeLog for January-June 2005 rotated into ChangeLog-2005.
From-SVN: r101623
2005-07-05 12:14:51 +00:00
Kazu Hirata 96f527526a Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<.
* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
	instead of $<.  Don't remove ./as if it already exists.

From-SVN: r101621
2005-07-05 06:57:40 +00:00
Kazu Hirata e21ba9318a Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<.
* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
	instead of $<.  Don't remove ./as if it already exists.

From-SVN: r101620
2005-07-05 06:56:55 +00:00
Eric Botcazou 9bae279793 Add due credit.
From-SVN: r101619
2005-07-05 06:30:27 +00:00
John David Anglin 47971fa72d re PR target/21723 (ICE while building libgfortran)
PR target/21723
	* pa.md: Remove fcpy alternative from movhi and movqi patterns.
	* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
	for complex modes when generating code for PA 1.0.
	(VALID_FP_MODE_P): New macro.
	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
	sets for all general and floating point modes.  Align wide floating
	point modes to even register boundaries to comply with architectural
	requirements.
	(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
	* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
	(VALID_FP_MODE_P): New macro.
	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
	sets for all general and floating point modes.  Align wide floating
	point modes to even register boundaries to comply with architectural
	requirements.

From-SVN: r101613
2005-07-05 01:57:01 +00:00
Diego Novillo f94ac7b644 tree-dump.c (dump_files): Initialize dump number for .cgraph to 0.
* tree-dump.c (dump_files): Initialize dump number for .cgraph
	to 0.

From-SVN: r101612
2005-07-04 21:26:47 -04:00
Kazu Hirata 3d7686f944 compare1.c: Add -fno-short-enums.
* gcc.dg/compare1.c: Add -fno-short-enums.  Don't skip on any
	target.
	* gcc.dg/compare9.c: Use -fshort-enums instead of
	-fno-short-enums.  Change the last test to dg-bogus.

From-SVN: r101611
2005-07-05 00:52:42 +00:00
Kazu Hirata 5935bec391 compare1.c: Add -fno-short-enums.
* gcc.dg/compare1.c: Add -fno-short-enums.  Don't skip on any
	target.
	* gcc.dg/compare9.c: Use -fshort-enums instead of
	-fshort-enums.  Change the last test to dg-bogus.

From-SVN: r101610
2005-07-05 00:47:25 +00:00
Diego Novillo 4e89ef6bb4 * tree-ssa-structalias.c: Don't include expr.h.
From-SVN: r101609
2005-07-04 20:32:36 -04:00
GCC Administrator 4b7c5b3a91 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101607.2
2005-07-05 00:16:33 +00:00
Diego Novillo 00b847e32e tree-iterator.h (TSI_NEW_STMT, [...]): Fix comments.
* tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
	comments.

From-SVN: r101605
2005-07-04 14:34:14 -04:00
Kazu Hirata c6f3fbf13e compare1.c: Skip on arm*-*-eabi* arm*-*-symbianelf*.
* gcc.dg/compare1.c: Skip on arm*-*-eabi* arm*-*-symbianelf*.
	* gcc.dg/compare9.c: New.

From-SVN: r101604
2005-07-04 18:17:26 +00:00
Daniel Berlin 2238c11d7f re PR tree-optimization/22279 (ICE in first_vi_for_offset, at tree-ssa-structalias.c:2566)
2005-07-04  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/22279

	* tree-ssa-structalias.c (offset_overlaps_with_access): Use
	correct operator.

From-SVN: r101603
2005-07-04 17:49:17 +00:00
Francois-Xavier Coudert 0f8417e9b5 * gfortran.dg/io_invalid_1.f90: Fix expected error message.
From-SVN: r101602
2005-07-04 16:46:43 +00:00
Aaron Luchko 3bea4ad0e9 CommandSet.java: New file.
* gnu/classpath/jdwp/processor/CommandSet.java: New file.
        * gnu/classpath/jdwp/processor/PacketProcessor.java: Use
        CommandSets to handle JdwpCommandPackets.
        * gnu/classpath/jdwp/transport/JdwpReplyPacket.java: New
        Constructor.

From-SVN: r101601
2005-07-04 16:08:16 +00:00
J"orn Rennecke 9fd0c419ab * sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
From-SVN: r101600
2005-07-04 15:49:42 +01:00
Arnaud Charlet 7d300a99e3 resync
From-SVN: r101599
2005-07-04 15:59:49 +02:00
Arnaud Charlet 4edb2be07d [multiple changes]
2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
	    Thomas Quinot  <quinot@adacore.com>

	* Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
	new target gen-soccon.

2005-07-04  Robert Dewar  <dewar@adacore.com>

	* s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting

2005-07-04  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads (Check_Selector): Minor rewording of comment.

2005-07-04  Vincent Celier  <celier@adacore.com>

	* vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=

2005-07-04  Thomas Quinot  <quinot@adacore.com>

	* gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.

2005-07-04  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Add description of --eol gnatpp option

2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>

        * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
	if the user wants all calls of a subprogram to be flagged,
	independently of whether they are made from within the same unit or
	another unit.
        Mention restriction for pragma Linker_Alias on some platforms.
        Document pragma Linker_Constructor and Linker_Destructor.
        Rewrite documentation of Weak_External, Linker_Section and
        Linker_Alias pragmas.

From-SVN: r101598
2005-07-04 15:31:43 +02:00
Matthew Heaney d43d5ef7b5 a-convec.ads, [...]: Declaration of subtype Extended_Index was changed.
2005-07-04  Matthew Heaney  <heaney@adacore.com>

	* a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
	was changed.
	* a-coinve.adb: Perform constraint checks explicitly.

From-SVN: r101597
2005-07-04 15:31:24 +02:00
Vincent Celier c8effb4f39 makegpr.adb (Build_Global_Archive): Make sure the list of sources is correctly computed and the main project data...
2005-07-04  Vincent Celier  <celier@adacore.com>

	* makegpr.adb (Build_Global_Archive): Make sure the list of sources is
	correctly computed and the main project data is not modified while
	doing so.
	(Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
	(Choose_C_Plus_Plus_Link_Process): Do not generate shell script
	c++linker as this does not work on some platforms.

From-SVN: r101596
2005-07-04 15:31:15 +02:00
Vincent Celier 65d5180d8c vms_conv.adb (Initialize): Allow multiple ALI files to be given to the GNAT BIND command...
2005-07-04  Vincent Celier  <celier@adacore.com>

	* vms_conv.adb (Initialize): Allow multiple ALI files to be given to
	the GNAT BIND command, as gnatbind accepts multiples ALI files with
	the -L or -n switches.

From-SVN: r101595
2005-07-04 15:31:04 +02:00
Matthew Gingell 55d4360971 tracebak.c: Enable tracebacks on ia64 platforms
2005-07-04  Matthew Gingell  <gingell@adacore.com>

	* tracebak.c: Enable tracebacks on ia64 platforms

From-SVN: r101594
2005-07-04 15:30:55 +02:00
Robert Dewar ef82b92b13 re PR ada/22039 (special functions for string concat of 3/4/5 args doc'ed to concat two)
2005-07-04  Robert Dewar  <dewar@adacore.com>

	PR ada/22039

	* s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix

From-SVN: r101593
2005-07-04 15:30:45 +02:00
Ed Schonberg ac0ed7268a sem_util.adb (Is_Object_Reference): An indexed or selected component whose prefix is an implicit dereference is an...
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Object_Reference): An indexed or selected component
	whose prefix is an implicit dereference is an object reference. Removes
	spurious errors when compiling with -gnatc.

From-SVN: r101592
2005-07-04 15:30:32 +02:00
Ed Schonberg 21ff92b4e3 sem_type.adb (Covers): Verify that Corresponding_Record_Type is present before checking whether an...
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Covers): Verify that Corresponding_Record_Type is
	present before checking whether an interface type covers a synchronized
	type.

From-SVN: r101591
2005-07-04 15:30:21 +02:00
Thomas Quinot 16397eff06 sem_res.adb (Resolve_Actuals): Do not resolve the expression of an actual that is a view conversion of a bit...
2005-07-04  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
	actual that is a view conversion of a bit packed array reference.

From-SVN: r101590
2005-07-04 15:30:10 +02:00
Gary Dismukes c2bf339e6b sem_eval.adb (Subtypes_Statically_Match): Use the discriminant constraint of full view of a private view T1 if present...
2005-07-04  Gary Dismukes  <dismukes@adacore.com>

	* sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
	constraint of full view of a private view T1 if present, when T2 is a
	discriminated full view.

From-SVN: r101589
2005-07-04 15:29:58 +02:00
Ed Schonberg 9dcb52e145 sem_ch6.adb (Conforming_Types): If the types are anonymous access types check whether some designated type is a...
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Conforming_Types): If the types are anonymous access
	types check whether some designated type is a limited view, and use
	the non-limited view if available.

From-SVN: r101588
2005-07-04 15:29:47 +02:00
Thomas Quinot d3e65aad2c sem_ch4.adb (Transform_Object_Operation): For an actual that is an overloaded function call...
2005-07-04  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb (Transform_Object_Operation): For an actual that is an
	overloaded function call, carry interpretations from the original tree
	to the copy.

From-SVN: r101587
2005-07-04 15:29:36 +02:00
Ed Schonberg d5f09c91bf sem_ch10.adb (Build_Limited_Views): A type declared with a private type extension needs a limited view.
2005-07-04  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch10.adb (Build_Limited_Views): A type declared with a private
	type extension needs a limited view.
	Remove previous restriction on private types available through the
	limited-view (only tagged private types were previously allowed).
	(Install_Withed_Unit): In the code that implements the
	legality rule given in AI-377, exclude a child unit with the name
	Standard, because it is a homonym of the Standard environment package.

From-SVN: r101586
2005-07-04 15:29:19 +02:00
Robert Dewar 323b59c470 scng.adb: Do not consider Mod used as an attribute to be a keyword
2005-07-04  Robert Dewar  <dewar@adacore.com>

	* scng.adb: Do not consider Mod used as an attribute to be a keyword

From-SVN: r101585
2005-07-04 15:29:08 +02:00
Javier Miranda 60050a2df1 par-load.adb: Load the context items in two rounds.
2005-07-04  Javier Miranda  <miranda@adacore.com>

	* par-load.adb: Load the context items in two rounds.

From-SVN: r101584
2005-07-04 15:28:59 +02:00
Ed Schonberg c6bbcfff03 par-ch9.adb (P_Task, [...]): Indicate that single task and single protected declarations can have an...
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* par-ch9.adb (P_Task, P_Protected): Indicate that single task and
	single protected declarations can have an interface list.
	(P_Entry_Declaration): Add handler for Error_Resync, which can be raised
	with seriously malformed entry declarations, and lead to compilation
	abandoned messages.

From-SVN: r101583
2005-07-04 15:28:50 +02:00
Vincent Celier df95677353 mlib-prj.adb (Auto_Initialize): New constant String
2005-07-04  Vincent Celier  <celier@adacore.com>

	* mlib-prj.adb (Auto_Initialize): New constant String
	(SALs_Use_Constructors): New Boolean function
	(Build_Library): Call gnatbind with Auto_Initialize switch when
	SALs_Use_Constructors returns True.

	* mlib-tgt.ads: Minor reformatting

	* mlib-utl.ads: Minor reformatting

	* opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag

From-SVN: r101582
2005-07-04 15:28:39 +02:00
Matthew Gingell f4657cf513 Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
2005-07-04  Matthew Gingell  <gingell@adacore.com>

	* Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb

	* indepsw-linux.adb: Replace by...

	* indepsw-gnu.adb: ...this new file

From-SVN: r101581
2005-07-04 15:28:28 +02:00
Vincent Celier ecca38c467 make.adb (Change_To_Object_Directory): When unable to change the current dir to the object directory...
2005-07-04  Vincent Celier  <celier@adacore.com>

	* make.adb (Change_To_Object_Directory): When unable to change the
	current dir to the object directory, output the full path of the
	directory.

From-SVN: r101580
2005-07-04 15:28:11 +02:00
Ed Schonberg 4a2ddf6697 exp_intr.adb (Expand_Unc_Deallocation): If the designated type is controlled...
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
	controlled, indicate the expected type of the dereference that is
	created for the call to Deep_Finalize, to prevent spurious errors when
	the designated type is private and completed with a derivation from
	another private type.

From-SVN: r101579
2005-07-04 15:28:00 +02:00
Thomas Quinot 64dd539571 exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for Itypes.
2005-07-04  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
	Itypes. Itypes are really unexpected there.
	(Build_TypeCode_Function): Generalise special processing for Itypes to
	handle the case of numeric implicit base types as well as enumerated
	ones.

From-SVN: r101578
2005-07-04 15:27:43 +02:00
Ed Schonberg 3b641023b3 exp_attr.adb (Mod): Evaluate condition expression with checks off, to prevent spurious warnings.
2005-07-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Mod): Evaluate condition expression with checks off,
	to prevent spurious warnings.

From-SVN: r101577
2005-07-04 15:27:32 +02:00
Eric Botcazou d9e0a58787 decl.c (prepend_attributes): New case.
2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
	<Pragma_Linker_Destructor>: Likewise.

	* einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
	Pragma_Linker_Destructor.

	* gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
	ATTR_LINK_DESTRUCTOR.
	(static_ctors, static_dtors): New variables.

	* misc.c (gnat_expand_body): Output current function as constructor
	and destructor if requested.

	* par-prag.adb: Add processing for pragma Linker_Constructor and
	Linker_Destructor.

	* sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
	extracted from Check_Interrupt_Or_Attach_Handler.
	(Check_Interrupt_Or_Attach_Handler): Invoke it.
	Implement pragma Linker_Constructor and Linker_Destructor with the
	help of Find_Unique_Parameterless_Procedure.
	Replace Name_Alias with Name_Target for pragma Linker_Alias.

	* snames.h, snames.ads, snames.adb:
	Add Name_Linker_Constructor and Name_Linker_Destructor.
	Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
	* snames.adb: Remove Name_Alias.

	* trans.c: Include cgraph.h.
	(build_global_cdtor): New function.
	(Compilation_Unit_to_gnu): Build global constructor and destructor if
	needed.
	(tree_transform) <N_Identifier>: Substitute renaming of view-conversions
	of objects too.
	(addressable_p) <COMPONENT_REF>: Unconditionally test
	DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.

	* utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
	variable if it is external.

	(static_ctors, static_dtors): New global variables.
	(process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
	<ATTR_LINK_DESTRUCTOR>: Likewise.
	(end_subprog_body): Chain function as constructor and destructor
	if requested.

	* exp_util.adb (Force_Evaluation): Unconditionally invoke
	Remove_Side_Effects with Variable_Ref set to true.
	(Remove_Side_Effects): Handle scalar types first. Use a renaming
	for non-scalar types even if Variable_Ref is true and for class-wide
	expressions.

From-SVN: r101576
2005-07-04 15:27:21 +02:00
Gary Dismukes c73ae90f23 checks.adb (Null_Exclusion_Static_Checks): In the case of N_Object_Declaration...
2005-07-04  Gary Dismukes  <dismukes@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* checks.adb (Null_Exclusion_Static_Checks): In the case of
	N_Object_Declaration, only perform the checks if the Object_Definition
	is not an Access_Definition.

        * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
        where the parent of an the access definition is an N_Object_Declaration
        when determining the Associated_Node_For_Itype and scope of an
        anonymous access-to-subprogram type.

	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
	Corresponding_Spec on the body created for a null procedure. Add ???
	comment. Remove New_Copy_Tree call on body argument to
	Set_Body_To_Inline.

	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
	discriminants, use the type of the actual as well, because the
	discriminants may be read by the called subprogram.

	* sem_ch3.adb (Access_Type_Declaration): If the designated type is an
	access type we do not need to handle non-limited views.
	(Build_Derived_Record_Type): Additional check to check that in case of
	private types, interfaces are only allowed in private extensions.

From-SVN: r101575
2005-07-04 15:26:45 +02:00
Joel Brobecker 3104eb4aac a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
2005-07-04  Joel Brobecker  <brobecker@adacore.com>

	* a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
	This prevents us from hitting a limitation during the debug info
	generation when using stabs.
	(Prims_Ptr): Likewise.

From-SVN: r101574
2005-07-04 15:26:28 +02:00
Vincent Celier b87520cd05 mlib-tgt-tru64.adb, [...] (Build_Dynamic_Library): Remove all auto-initialization code...
2005-07-04  Vincent Celier  <celier@adacore.com>

	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
	mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
	Remove all auto-initialization code, as this is now done through the
	constructor mechanism.

	* adaint.h, adaint.c (__gnat_binder_supports_auto_init,
	__gnat_sals_init_using_constructors): New functions.

	* bindgen.adb (Gen_Output_File_Ada): Generate pragmas
	Linker_Constructor and Linker_Destructor when switch -a is used.

	* bindusg.adb: Add line for new switch -a

	* gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
	(Gnatbind): When switch -a is used, check if it is allowed

	* switch-b.adb (Scan_Binder_Switches): Process new switch -a

From-SVN: r101573
2005-07-04 15:26:18 +02:00
Eric Botcazou 0556b70292 s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a code-range descriptor associated with...
2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
	fetch a code-range descriptor associated with the machine state. On
	failure set the machine state's PC to 0; on success, pass the
	descriptor to exc_virtual_unwind.

	* init.c (Tru64 section): New function __gnat_set_code_loc.

From-SVN: r101572
2005-07-04 15:26:02 +02:00
Thomas Quinot 1a79be3c00 2005-07-04 Thomas Quinot <quinot@adacore.com>
* g-expect-vms.adb, g-expect.ads, g-expect.adb
	(Get_Command_Output): New subprogram to launch a process and get its
	standard output as a string.

From-SVN: r101571
2005-07-04 15:25:47 +02:00
Arnaud Charlet fc64d83c6f * s-stausa.ads, s-stausa.adb: New files.
From-SVN: r101570
2005-07-04 12:11:35 +02:00