1. 13 Dec, 2007 40 commits
    • struct: New directory with tests for struct-reorg optimizaion. · 65e79ca2
      2007-11-26  Olga Golovanevsky  <olga@il.ibm.com>
      
      	* gcc.dg/struct: New directory with tests 
      	for struct-reorg optimizaion.
      	* gcc.dg/struct/struct-reorg.exp: New script.
      	* gcc.dg/struct/wo_prof_array_through_pointer.c: New test.
      	* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_mult_field_peeling.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
      	* gcc.dg/struct/wo_prof_global_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_global_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_local_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_local_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
      	* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
      	* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
      	* gcc.dg/struct/wo_prof_single_str_pointer.c: Likewise.
      	* gcc.dg/struct/w_prof_two_strs.c: Likewise.
      	* gcc.dg/struct/w_prof_global_array.c: Likewise.
      	* gcc.dg/struct/w_prof_global_var.c: Likewise.
      	* gcc.dg/struct/w_prof_local_array.c: Likewise.
      	* gcc.dg/struct/w_prof_local_var.c: Likewise.
      	* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
      	* gcc.dg/struct/w_ratio_cold_str.c: Likewise.
      
      From-SVN: r130893
      Olga Golovanevsky committed
    • (Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code restriction. · 78185974
      	(Attribute_to_gnu): Check for violations of the No_Implicit_Dynamic_Code
       	restriction. This checking used to be done in the front end, but is
      	moved here so we can make it more accurate.
      
      From-SVN: r130892
      Bob Duff committed
    • Resync · e9b54d64
      From-SVN: r130891
      Arnaud Charlet committed
    • invoke.texi (Optimiza Options): Document new -fipa-struct-reorg option and… · 5bb06e18
      invoke.texi (Optimiza Options): Document new -fipa-struct-reorg option and struct-reorg-cold-struct-ratio parameter.
      
      2007-12-13  Golovanevsky Olga  <olga@il.ibm.com>
      
      	* doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
      	option and struct-reorg-cold-struct-ratio parameter.
      
      From-SVN: r130890
      Golovanevsky Olga committed
    • re PR libfortran/34427 (Revision 130708 breaks namelist input) · b446725a
      2007-12-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34427
              * io/list_read.c (read_real): Fix unwinding for namelists.
      
      2007-12-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34427
              * gfortran.dg/namelist_42.f90: New.
      
      From-SVN: r130889
      Tobias Burnus committed
    • Update comments. · 014c0095
      Minor reformatting.
      Kill new warnings.
      
      From-SVN: r130888
      Arnaud Charlet committed
    • (Nkind_In): New functions. · 14b7d74b
      Add support for new flags.
      
      From-SVN: r130887
      Arnaud Charlet committed
    • Removed, no longer used · c5765b24
      From-SVN: r130886
      Arnaud Charlet committed
    • New file. · 0ecf24f3
      From-SVN: r130885
      Arnaud Charlet committed
    • New file. · 70e4fcc4
      From-SVN: r130884
      Arnaud Charlet committed
    • sem_ch3.ads, [...] (Check_Abstract_Overriding): Avoid generation of spurious… · 7d7af38a
      sem_ch3.ads, [...] (Check_Abstract_Overriding): Avoid generation of spurious error if parent is an interface type...
      
      2007-12-06  Javier Miranda  <miranda@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
      	generation of spurious error if parent is an interface type; caused
      	because predefined primitive bodies will be generated later by
      	Freeze_Record_Type.
      	(Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
      	flag.
      	(Derive_Subprograms): Handle derivations of predefined primitives
      	after all the user-defined primitives to ensure that they are
      	found in proper order in instantiations.
      	(Add_Interface_Tag_Components, Inherit_Components): Update occurrences
      	of Related_Interface to Related_Type.
      	(Record_Type_Declaration): Minor reordering of calls to decorate the
      	Tag component because the entity must have set its Ekind attribute
      	before setting its Is_Tag attribute.
      	(Analyze_Subtype_Declaration): In the case of subtypes with
      	Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
      
      From-SVN: r130883
      Javier Miranda committed
    • i-vxwork.ads: Kill new warning on Convention C, since changing the spec would break code. · 2242f4dd
      	* i-vxwork.ads: Kill new warning on Convention C, since changing the
      	spec would break code.
      
      From-SVN: r130882
      Arnaud Charlet committed
    • s-parame-vxworks.adb: Update comments to reflect usage of this package by Nucleus. · 4f9720e0
      2007-12-06  Geert Bosch  <bosch@adacore.com>
      
      	* s-parame-vxworks.adb: 
      	Update comments to reflect usage of this package by Nucleus.
      
      From-SVN: r130881
      Geert Bosch committed
    • symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure · 405fc8e9
      2007-12-06  Vincent Celier  <celier@adacore.com>
      
      	* symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
      	(Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
      
      From-SVN: r130880
      Vincent Celier committed
    • make.adb (Scan_Make_Arg): Add test for -aamp_target switch... · f5552c89
      2007-12-06  Gary Dismukes  <dismukes@adacore.com>
      	    Arnaud Charlet  <charlet@adacore.com>
      
      	* make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
      	it to the front end and setting the aamp_target environment variable
      	to the switch's argument to ensure that gnaampbind and gnaamplink will
      	take the specified library into account.
      	(Make): Only set Check_Object_Consistency to False for JVM, not for CIL
      	target, since the CIL compiler supports an "object" file (.il files).
      
      From-SVN: r130879
      Gary Dismukes committed
    • itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram types... · 4b790886
      2007-12-06  Bob Duff  <duff@adacore.com>
      
      	* itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
      	types, set Can_Use_Internal_Rep appropriately, based on
      	Always_Compatible_Rep_On_Target.
      
      From-SVN: r130878
      Bob Duff committed
    • impunit.adb: Add entries for missing units · d776fae4
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* impunit.adb: Add entries for missing units
      
      	* Makefile.rtl: Add new run-time units.
      
      	* Make-lang.in:  Update dependencies.
      
      From-SVN: r130877
      Robert Dewar committed
    • g-socthi-vms.ads (Fd_Set_Access): make it 32-bit. · 1e22f442
      2007-12-06  Vasiliy Fofanov  <fofanov@adacore.com>
      	    Tristan Gingold  <gingold@adacore.com>
      
      	* g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
      
      	* s-osprim-vms.adb,
      	a-calend-vms.adb: Remove pragma warning off and add pragma
      	unreferenced.
      
      From-SVN: r130876
      Vasiliy Fofanov committed
    • s-os_lib.ads, [...] (Normalize_Pathname): Do not compute Reference_Dir unless we actually need it. · aee21c6f
      2007-12-06  Emmanuel Briot  <briot@adacore.com>
      
      	* s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
      	Reference_Dir unless we actually need it.
      
      From-SVN: r130875
      Emmanuel Briot committed
    • tb-gcc.c (uw_data_t, [...]): Only define if not GCC-SJLJ eh. · 566b591e
      2007-12-06  Olivier Hainque  <hainque@adacore.com>
      
      	* tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
      	(__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
      
      From-SVN: r130874
      Olivier Hainque committed
    • a-cohase.ads, [...]: Document which generic formal operations are called for each operation. · 8236f027
      2007-12-06  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
      	which generic formal operations are called for each operation.
      
      From-SVN: r130873
      Matthew Heaney committed
    • gnat_ugn.texi: Dcoument new rules for style check comment alignment Document that suffixes may... · a2ad1f79
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      	    Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Dcoument new rules for style check comment alignment
      	Document that suffixes may be terminations of each others
      	Add doc for -gnatw.a and -gnatw.A
      	Document gnatbind -Wx switch
      	Document BOM recognition
      	Document pragma Implemented_By_Entry.
      	Document new units.
      
      	* gnat_rm.texi: (Favor_Top_Level): Document new pragma.
      	Add doc for pragma Unreferenced suppressing no entities referenced msg
      	Add documentation of GNAT.Directory_Operations.Iteration
      	Add documentation of GNAT.Random_Numbers
      	Add documentation for pragma Shared.
      	Correct documentation for Bit_Order
      	Add documentation for the Pool_Address attribute.
      	Fix and improve documentation of pragma machine_attribute.
      	New pragma Fast_Math
      	Document BOM recognition
      
      	* vms_data.ads: Add entries for -gnatw.a -gnatw.A
      	Add /Wide_Character_Encoding for binder
      	Add qualifier for the new gnatpp option --no-separate-loop-then
      
      From-SVN: r130872
      Robert Dewar committed
    • a-direct.adb (Create_Path): Always take '/' as a directory separator, even on Windows · b1c6645b
      2007-12-06  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.adb (Create_Path): Always take '/' as a directory separator,
      	even on Windows
      
      From-SVN: r130871
      Vincent Celier committed
    • xeinfo.adb: Remove warnings · 34a343e6
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* xeinfo.adb: Remove warnings
      	* xnmake.adb: Remove warnings
      	* xsinfo.adb: Remove warnings
      	* xtreeprs.adb: Remove warnings
      	* xsnames.adb: Remove warnings
      
      	* a-ngcoar.adb: Fix typo.
      	* s-interr.adb: Minor reformatting
      	* env.c: Minor reformatting.
      	* g-bytswa.adb: Minor reformatting.
      	* g-rannum.ads: Minor documentation improvements
      	* s-tasinf-mingw.adb: Minor header fix
      	* a-clrefi.adb: Minor reformatting
      	* g-sttsne.ads: Minor documentation improvement
      	* g-sttsne-locking.ads: Minor documentation improvement
      	* g-soliop-solaris.ads: Minor documentation improvement
      	* g-soliop-mingw.ads: Minor documentation improvement
      	* g-soliop.ads: Minor documentation improvement
      	* exp_aggr.ads: Minor reformatting
      	* debug.adb: Add documentation for the gprbuild debug flags
      	* exp_ch2.adb: Use Nkind_In to simplify code throughout
      	* exp_pakd.adb: Minor reformatting
      
      	* g-altive.ads, g-alleve.adb: Remove assertions.
      	Add comment about minor differences between targets regarding
      	floating-point operations.
      
      	* g-thread.adb: Remove pragma unreferenced.
      	* lib.ads: Minor reformatting
      	* par-ch9.adb: Minor reformatting of error messages
      	* sem_case.adb: Minor reformatting
      	* s-fileio.adb: Minor reformattinng
      	* s-vmexta.ads: Minor typo
      	* vxaddr2line.adb: 
      	Take into account 'Success' value as per new GNAT warning.
      
      From-SVN: r130870
      Robert Dewar committed
    • treepr.ads, treepr.adb: (pl): implement use of positive value shorthands · 9b998381
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* treepr.ads, treepr.adb: (pl): implement use of positive value
      	shorthands
      
      From-SVN: r130869
      Robert Dewar committed
    • tbuild.ads, tbuild.adb: Fix location of flag for unrecognized pragma message · c1e0259c
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* tbuild.ads, tbuild.adb: 
      	Fix location of flag for unrecognized pragma message
      
      From-SVN: r130868
      Robert Dewar committed
    • tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value… · 543b4428
      tb-alvms.c (struct tb_entry_t, [...]): Revert back to use of Procedure Value instead of Frame Pointer as the...
      
      2007-12-06  Olivier Hainque  <hainque@adacore.com>
      
      	* tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
      	of Procedure Value instead of Frame Pointer as the invocation
      	identifier associated with the instruction pointer in each traceback
      	entry.
      
      	* g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
      	TB_Entry_For): Revert back to use of Procedure Value instead of Frame
      	Pointer as the invocation identifier passed to tbk$symbolize.
      
      	* s-traent-vms.ads, s-traent-vms.adb
      	(Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
      	Procedure Value instead of Frame Pointer as the invocation identifier
      	passed to tbk$symbolize.
      
      From-SVN: r130867
      Olivier Hainque committed
    • styleg.adb (Check_Comment): More liberal rules for comment placement · 46edcdb1
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* styleg.adb (Check_Comment): More liberal rules for comment placement
      
      From-SVN: r130866
      Robert Dewar committed
    • s-tassta.adb (Create_Task): Take into account tasks created by foreign threads. · 31eee11b
      	* s-tassta.adb (Create_Task): Take into account tasks created by
      	foreign threads.
      	Code clean up: use constants instead of hard coded values.
      
      From-SVN: r130865
      Arnaud Charlet committed
    • s-stoele.adb ("mod"): mod negative value raises Constraint_Error · e4b55122
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      
      	* s-stoele.adb ("mod"): mod negative value raises Constraint_Error
      
      From-SVN: r130864
      Robert Dewar committed
    • s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with… · 4981ffcc
      s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant with Stack_Grows_Down in System.Parameters.
      
      2007-12-06  Olivier Hainque  <hainque@adacore.com>
      
      	* s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
      	with Stack_Grows_Down in System.Parameters. Rename Array_Address into
      	Stack_Overlay_Address and document that we are using an internal
      	abstraction.
      	(Byte_Size, Unsigned_32_Size): Remove, now useless.
      	(Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
      	consistently throughout the various implementation pieces.
      
      	* s-stausa.adb (Stack_Slots): New type, abstraction for the stack
      	overlay we are using to fill the stack area with patterns.
      	(Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
      	(Push_Index_Step_For, Pop_Index_Step_For): Likewise.
      	(Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
      
      From-SVN: r130863
      Olivier Hainque committed
    • s-soflin.ads: Apply new pragma Favor_Top_Level to all access-to-subprogram types in this package. · 90de1450
      2007-12-06  Bob Duff  <duff@adacore.com>
      
      	* s-soflin.ads: Apply new pragma Favor_Top_Level to all
      	access-to-subprogram types in this package.
      
      From-SVN: r130862
      Bob Duff committed
    • sinput-l.adb (Load_File): Disable style checks when preprocessing. · d82d3baa
      2007-12-06  Thomas Quinot  <quinot@adacore.com>
      
      	* sinput-l.adb (Load_File): Disable style checks when preprocessing.
      
      From-SVN: r130861
      Thomas Quinot committed
    • sinput.adb (Get_Source_File_Index): Add assertion to guard against an invalid… · 968d9db3
      sinput.adb (Get_Source_File_Index): Add assertion to guard against an invalid access to an uninitialized slot in...
      
      2007-12-06  Thomas Quinot  <quinot@adacore.com>
      
      	* sinput.adb (Get_Source_File_Index): Add assertion to guard against
      	an invalid access to an uninitialized slot in the
      	Source_File_Index_Table.
      
      From-SVN: r130860
      Thomas Quinot committed
    • sem_util.ads, [...] (Is_Concurrent_Interface): New routine. · 7f0e4cdb
      2007-12-06  Bob Duff  <duff@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
      	(Set_Convention): New procedure to set the Convention flag, and in
      	addition make sure the Favor_Top_Level flag is kept in sync (all
      	foreign-language conventions require Favor_Top_Level = True).
      	(Collect_Abstract_Interfaces): Update occurrences of Related_Interface
      	to Related_Type.
      	(Collect_Interfaces_Info): Minor update to handle the two secondary
      	dispatch tables. Update occurrence of Related_Interface to Related_Type.
      	(Generate_Parent_Ref): Add parameter to specify entity to check
      	(Is_Preelaborable_Expression): Allow the name of a discriminant to
      	initialize a component of a type with preelaborable initialization.
      	This includes the case of a discriminal used in such a context.
      	(Is_Dependent_Component_Of_Mutable_Object): Take into account the
      	latest Ada 2005 rules about renaming and 'Access of
      	discriminant-dependent components.
      	(Check_Nested_Access): Add handling when there are no enclosing
      	subprograms (e.g. case of a package body).
      	(Find_Parameter_Type): Factor routine from several other compiler files.
      	Remove routine from Find_Overridden_Synchronized_Primitive.
      
      From-SVN: r130859
      Bob Duff committed
    • sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether… · 8a4444e8
      sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check whether formal E is an entity which may have parameters.
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
      	whether formal E is an entity which may have parameters.
      
      From-SVN: r130858
      Hristian Kirtchev committed
    • sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so… · a1980be8
      sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static context, so do not call Check_Non_Static_Context.
      
      2007-12-06  Geert Bosch  <bosch@adacore.com>
      
      	* sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
      	context, so do not call Check_Non_Static_Context.
      
      From-SVN: r130857
      Geert Bosch committed
    • sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an inherited… · d215a13c
      sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an inherited operation is a defaulted...
      
      2007-12-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
      	inherited operation is a defaulted tag-indeterminate call, and there is
      	a statically tagged actual, use the static tag as a controlling actual
      	for the defaulted actual.
      
      From-SVN: r130856
      Ed Schonberg committed
    • sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue… · 3ccd9410
      sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a requeue statement is dispatching.
      
      2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>
      	    Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
      	requeue statement is dispatching. Do not emit an error when the name is
      	not an entry and the context is a dispatching select. Add code to
      	perform subtype conformance between the formals of the current entry
      	and those of the target interface primitive.
      	(Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
      	Timed_Entry_Call): Analyze the triggering statement as the first step of
      	the processing. If this is a dispatching select, postpone the analysis
      	of all select statements until the Expander transforms the select. This
      	approach avoids generating duplicate identifiers after the Expander has
      	replicated some of the select statements. In case the Expander is
      	disabled, perform regular analysis.
      	(Check_Triggering_Statement): New routine.
      	(Analyze_Requeue): Exclude any interpretations that are not entries when
      	checking overloaded names in a requeue. Also test type conformance for
      	matching interpretations rather than requiring subtype conformance at
      	that point to conform with the RM's resolution rule for requeues.
      
      From-SVN: r130855
      Hristian Kirtchev committed
    • sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for renaming… · 294ccb21
      sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for renaming entry as subprogram using rename-as-body if...
      
      2007-12-06  Robert Dewar  <dewar@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
      	renaming entry as subprogram using rename-as-body if subprogram spec
      	frozen.
      	(Use_One_Type): The clause is legal on an access type whose designated
      	type has a limited view.
      	(Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
      	(Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
      	(Analyze_Renamed_Primitive_Operation): new procedure to determine the
      	operation denoted by a selected component.
      	(Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
      	it can be an expression, possibly overloaded, that returns a task or
      	an access to one.
      
      From-SVN: r130854
      Robert Dewar committed