aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-07-05StringReferenceCommandSet.java: New file.Aaron Luchko2-0/+103
* gnu/classpath/jdwp/processor/StringReferenceCommandSet.java: New file. From-SVN: r101628
2005-07-05Makefile.in: Adjust dependencies.Paolo Bonzini60-2205/+3394
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-05tree-ssa-structalias.c (get_constraint_exp_from_ssa_var): Only fall back to ↵Daniel Berlin3-3/+36
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-05m32r-protos.h: Remove m32r_finalize_pic.Kazuhiro Inaoka4-27/+14
* 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-05ChangeLog for January-June 2005 rotated into ChangeLog-2005.Paolo Bonzini2-22734/+22735
From-SVN: r101623
2005-07-05Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<.Kazu Hirata1-1/+1
* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<. Don't remove ./as if it already exists. From-SVN: r101621
2005-07-05Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<.Kazu Hirata2-4/+13
* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET) instead of $<. Don't remove ./as if it already exists. From-SVN: r101620
2005-07-05Add due credit.Eric Botcazou1-0/+1
From-SVN: r101619
2005-07-05re PR target/21723 (ICE while building libgfortran)John David Anglin4-32/+104
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-04tree-dump.c (dump_files): Initialize dump number for .cgraph to 0.Diego Novillo2-1/+6
* tree-dump.c (dump_files): Initialize dump number for .cgraph to 0. From-SVN: r101612
2005-07-05compare1.c: Add -fno-short-enums.Kazu Hirata1-1/+1
* 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-05compare1.c: Add -fno-short-enums.Kazu Hirata3-10/+15
* 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-04* tree-ssa-structalias.c: Don't include expr.h.Diego Novillo2-1/+4
From-SVN: r101609
2005-07-05Daily bump.GCC Administrator1-1/+1
[[Split portion of a mixed commit.]] From-SVN: r101607.2
2005-07-04tree-iterator.h (TSI_NEW_STMT, [...]): Fix comments.Diego Novillo2-2/+7
* tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix comments. From-SVN: r101605
2005-07-04compare1.c: Skip on arm*-*-eabi* arm*-*-symbianelf*.Kazu Hirata3-0/+50
* gcc.dg/compare1.c: Skip on arm*-*-eabi* arm*-*-symbianelf*. * gcc.dg/compare9.c: New. From-SVN: r101604
2005-07-04re PR tree-optimization/22279 (ICE in first_vi_for_offset, at ↵Daniel Berlin3-1/+51
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* gfortran.dg/io_invalid_1.f90: Fix expected error message.Francois-Xavier Coudert2-1/+5
From-SVN: r101602
2005-07-04CommandSet.java: New file.Aaron Luchko4-33/+197
* 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* sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".J"orn Rennecke2-1/+6
From-SVN: r101600
2005-07-04resyncArnaud Charlet1-0/+303
From-SVN: r101599
2005-07-04[multiple changes]Arnaud Charlet8-59/+271
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-04a-convec.ads, [...]: Declaration of subtype Extended_Index was changed.Matthew Heaney3-479/+602
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-04makegpr.adb (Build_Global_Archive): Make sure the list of sources is ↵Vincent Celier1-56/+27
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-04vms_conv.adb (Initialize): Allow multiple ALI files to be given to the GNAT ↵Vincent Celier1-1/+1
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-04tracebak.c: Enable tracebacks on ia64 platformsMatthew Gingell1-0/+11
2005-07-04 Matthew Gingell <gingell@adacore.com> * tracebak.c: Enable tracebacks on ia64 platforms From-SVN: r101594
2005-07-04re PR ada/22039 (special functions for string concat of 3/4/5 args doc'ed to ↵Robert Dewar3-6/+6
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-04sem_util.adb (Is_Object_Reference): An indexed or selected component whose ↵Ed Schonberg1-2/+6
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-04sem_type.adb (Covers): Verify that Corresponding_Record_Type is present ↵Ed Schonberg1-47/+49
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-04sem_res.adb (Resolve_Actuals): Do not resolve the expression of an actual ↵Thomas Quinot1-8/+12
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-04sem_eval.adb (Subtypes_Statically_Match): Use the discriminant constraint of ↵Gary Dismukes1-7/+22
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-04sem_ch6.adb (Conforming_Types): If the types are anonymous access types ↵Ed Schonberg1-8/+16
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-04sem_ch4.adb (Transform_Object_Operation): For an actual that is an ↵Thomas Quinot1-1/+13
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-04sem_ch10.adb (Build_Limited_Views): A type declared with a private type ↵Ed Schonberg1-7/+37
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-04scng.adb: Do not consider Mod used as an attribute to be a keywordRobert Dewar1-4/+8
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-04par-load.adb: Load the context items in two rounds.Javier Miranda1-58/+87
2005-07-04 Javier Miranda <miranda@adacore.com> * par-load.adb: Load the context items in two rounds. From-SVN: r101584
2005-07-04par-ch9.adb (P_Task, [...]): Indicate that single task and single protected ↵Ed Schonberg1-2/+9
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-04mlib-prj.adb (Auto_Initialize): New constant StringVincent Celier4-15/+39
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-04Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adbMatthew Gingell2-11/+13
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-04make.adb (Change_To_Object_Directory): When unable to change the current dir ↵Vincent Celier1-1/+5
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-04exp_intr.adb (Expand_Unc_Deallocation): If the designated type is controlled...Ed Schonberg1-1/+10
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-04exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for Itypes.Thomas Quinot1-13/+2
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-04exp_attr.adb (Mod): Evaluate condition expression with checks off, to ↵Ed Schonberg1-2/+6
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-04decl.c (prepend_attributes): New case.Eric Botcazou12-731/+846
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-04checks.adb (Null_Exclusion_Static_Checks): In the case of ↵Gary Dismukes3-15/+53
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-04a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.Joel Brobecker1-36/+59
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-04mlib-tgt-tru64.adb, [...] (Build_Dynamic_Library): Remove all ↵Vincent Celier14-337/+120
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-04s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a ↵Eric Botcazou2-7/+32
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-042005-07-04 Thomas Quinot <quinot@adacore.com>Thomas Quinot3-21/+201
* 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* s-stausa.ads, s-stausa.adb: New files.Arnaud Charlet1-0/+4
From-SVN: r101570