1. 19 Dec, 2007 23 commits
    • freeze.adb (Freeze_Record_Type, [...]): Implement properly the Ada2005 rules concerning when... · 32c760e6
      2007-12-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
      	properly the Ada2005 rules concerning when the current instance of a
      	record type is aliased.
      
      From-SVN: r131076
      Ed Schonberg committed
    • exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type in complex… · e5aa8dd3
      exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type in complex case where array is Volatile.
      
      2007-12-19  Robert Dewar  <dewar@adacore.com>
      
      	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
      	in complex case where array is Volatile.
      
      From-SVN: r131075
      Robert Dewar committed
    • exp_ch9.adb (Null_Statements): Moved to library level · 6625fbd0
      2007-12-19  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb (Null_Statements): Moved to library level
      	(Trivial_Accept_OK): New function
      	(Expand_Accept_Declaration): Use Trivial_Accept_OK
      	(Expand_N_Accept_Statement): Use Trivial_Accept_OK
      
      From-SVN: r131074
      Robert Dewar committed
    • exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry that forces… · 5be0911d
      exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry that forces the construction of static dispatch tables...
      
      2007-12-19  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
      	that forces the construction of static dispatch tables in case of
      	record subtypes.
      
      From-SVN: r131073
      Javier Miranda committed
    • exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in handling… · cf284c75
      exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in handling compile time known size of record or array (case of front...
      
      2007-12-19  Robert Dewar  <dewar@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
      	handling compile time known size of record or array (case of front end
      	layout active, e.g. in GNAAMP).
      
      From-SVN: r131072
      Robert Dewar committed
    • exp_aggr.adb (Not_OK_For_Backend): A component of a private type with… · 4a76b687
      exp_aggr.adb (Not_OK_For_Backend): A component of a private type with discriminants forces expansion of the...
      
      2007-12-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
      	discriminants forces expansion of the aggregate into assignments.
      	(Init_Record_Controller):  If the type of the aggregate is untagged and
      	is not inherently limited, the record controller is not limited either.
      
      From-SVN: r131071
      Ed Schonberg committed
    • atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the… · 10303118
      atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the resulting tail recursion by hand.
      
      2007-12-19  Bob Duff  <duff@adacore.com>
      
      	* atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
      	the resulting tail recursion by hand. This prevents running out of
      	memory on deeply nested concatenations, since Field2 is where the left
      	operand of concatenations is stored.
      	Fix bug (was returning OK_Orig in some cases). Fix return subtype to
      	clarify that it can only return OK or Abandon.
      
      	* sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
      	operand by iteration, in order to avoid running out of memory on
      	deeply-nested concatenations. Use the Parent pointer to get back up the
      	tree.
      	(Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
      	 Resolve_Op_Concat_Rest): New procedures split out of
      	Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
      	clearer.
      
      	* checks.adb (Remove_Checks): Use Traverse_Proc instead of
      	Traverse_Func, because the former already takes care of discarding the
      	result.
      
      	* errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
      	because the former already takes care of discarding the result.
      	(Remove_Warning_Messages): Use appropriate subtype for Status and
      	Discard
      
      From-SVN: r131070
      Bob Duff committed
    • 2007-12-19 Eric Botcazou <ebotcazou@adacore.com> · 160df979
      	* targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
      	system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
      	system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
      	system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
      	system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
      	system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
      	system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
      	system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
      	system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
      	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
      	(Dynamic_Trampolines_Used): Delete.
      
      	* system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
      	Turn on stack probing mechanism on LynxOS.
      
      From-SVN: r131069
      Eric Botcazou committed
    • g-expect-vms.adb, [...]: Add pragma Warnings (Off) for unassigned IN OUT arguments · 9d77af56
      2007-12-19  Robert Dewar  <dewar@adacore.com>
      
      	* g-expect-vms.adb, g-expect.adb, s-poosiz.adb: 
      	Add pragma Warnings (Off) for unassigned IN OUT arguments
      
      	* sem_warn.adb (Output_Reference): Suppress messages for internal names
      	(Check_References): Extensive changes to tune up warnings
      	(Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
      	(Has_Pragma_Unmodifed_Check_Spec): New function
      	(Check_References): Implement pragma Unmodified
      	(Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
      
      	* par-prag.adb: Dummy entry for pragma Unmodified
      
      	* sem_prag.adb: Implement pragma Unmodified
      
      	* einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
      	(Proc_Next_Component_Or_Discriminant): Fix typo.
      	Update comments.
      
      	* sem_util.adb (Note_Possible_Modification): Add processinng for pragma
      	Unmodified.
      	(Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
      	because the former already takes care of discarding the result.
      	(Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
      	Add comment.
      
      	* snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
      
      From-SVN: r131068
      Robert Dewar committed
    • Make type limited as per Ada 2005 rules. · 41d4f4a7
      From-SVN: r131067
      Arnaud Charlet committed
    • Update test to follow Ada 2005 rules. · 1a52e565
      From-SVN: r131066
      Arnaud Charlet committed
    • omp-low.c (build_omp_regions_1): Recognition of combined parallels moved ... · 068e1875
      	* omp-low.c (build_omp_regions_1): Recognition of combined parallels
      	moved ...
      	(expand_omp): ... here.
      	* gcc.dg/gomp/combined-1.c: New test.
      
      From-SVN: r131064
      Zdenek Dvorak committed
    • re PR tree-optimization/34355 (ICE: invariant not recomputed when ADDR_EXPR… · 8a171a59
      re PR tree-optimization/34355 (ICE: invariant not recomputed when ADDR_EXPR changed with -ftree-parallelize-loops)
      
      	PR tree-optimization/34355
      	* tree-parloops.c (take_address_of): Handle expresions
      	instead of just variables.
      	(eliminate_local_variables_1): Force whole invariant
      	address to ssa name.
      
      	* g++.dg/tree-ssa/pr34355.C: New test.
      
      From-SVN: r131063
      Zdenek Dvorak committed
    • re PR target/30572 (target libraries links against /libgcc_s.1.dylib instead of… · 89deeaff
      re PR target/30572 (target libraries links against /libgcc_s.1.dylib instead of $(prefix)/lib/libgcc_s.1.dylib)
      
      2007-12-19  Etsushi Kato  <ek.kato@gmail.com>
      	    Paolo Bonzini  <bonzini@gnu.org>
      
      	PR target/30572
      	* Makefile.in: Use @shlib_slibdir@ substitution to get correct install name
      	on darwin.
      	* config/t-slibgcc-darwin: Use @shlib_slibdir@ for -install_name.
      				
      
      Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
      
      From-SVN: r131062
      Etsushi Kato committed
    • Fix generation of reg-moves · 1a46d33d
      From-SVN: r131060
      Revital Eres committed
    • re PR c++/34513 (static variable not found for C++ OpenMP) · 5259c813
      	PR c++/34513
      	* parser.c (cp_parser_omp_parallel): For non-combined parallel
      	call cp_parser_statement rather than
      	cp_parser_already_scoped_statement.
      
      	* testsuite/libgomp.c/pr34513.c: New test.
      	* testsuite/libgomp.c++/pr34513.C: New test.
      
      From-SVN: r131059
      Jakub Jelinek committed
    • tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter. · 5141868d
      gcc/
      	* tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
      	* emit-rtl.c (set_decl_incoming_rtl): Likewise.  Don't set the
      	rtl's register attributes when the parameter is true.
      	* function.c (assign_parms_unsplit_complex, assign_parms)
      	(expand_function_start): Update calls to set_decl_incoming_rtl.
      
      From-SVN: r131056
      Richard Sandiford committed
    • rtl.def (SUBREG): Update comments. · 38ae7651
      gcc/
      	* rtl.def (SUBREG): Update comments.
      	* rtl.h (reg_attrs): Be explicit about the type of offset used.
      	(set_reg_attrs_from_mem): Rename to...
      	(set_reg_attrs_from_value): ...this.
      	(adjust_reg_mode, byte_lowpart_offset): Declare.
      	* emit-rtl.c (byte_lowpart_offset): New function.
      	(update_reg_offset): Remove special offset handling for big-endian
      	targets.
      	(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
      	offset parameter is added to REG_OFFSET.
      	(adjust_reg_mode): New function.
      	(set_reg_attrs_for_mem): Rename to...
      	(set_reg_attrs_for_value): ...this and generalize to all values.
      	If the register is a lowpart of the value, adjust the offset
      	accordingly.
      	(set_reg_attrs_for_parm): Update after the above renaming.
      	(set_reg_attrs_for_decl_rtl): New function, split out from
      	set_decl_incoming_rtl.  Set the offset of plain REGs to the
      	offset of the REG's mode from the decl's.  Assert that all
      	subregs are lowparts and handle their inner registers in the
      	same way as plain REGs.
      	(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
      	(subreg_lowpart_offset): Explicitly say that the returned offset
      	is a SUBREG_BYTE.
      	* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
      	instead of PUT_MODE.
      	* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
      	* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
      	* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
      	* reload.c (find_reloads_subreg_address): Call set_mem_offset
      	when offseting a MEM.
      	* var-tracking.c (offset_valid_for_tracked_p): Delete.
      	(mode_for_reg_attrs): Replace with...
      	(track_loc_p): ...this new function.  Return the mode and offset
      	to the caller, checking that the latter is valid.  If the rtx is
      	a paradoxical lowpart of the decl, use the decl's mode instead.
      	Do the same when storing to a register that contains the entire decl.
      	(var_lowpart): Use byte_lowpart_offset rather than
      	subreg_lowpart_offset when adjusting the offset attribute.
      	(count_uses, add_uses, add_stores): Use track_reg_p instead of
      	REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
      	offset_valid_for_tracked_p and mode_for_reg_attrs.  Generate
      	lowparts for MEMs as well as REGs.
      	(vt_add_function_parameters): When obtaining the information from
      	the decl_rtl, adjust the offset to match incoming.  Use track_loc_p
      	and var_lowpart.
      
      From-SVN: r131055
      Richard Sandiford committed
    • Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target. · 43779dea
          gcc/ada/
      	* Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
      
      From-SVN: r131054
      Samuel Tardieu committed
    • re PR fortran/34325 (Wrong error message for syntax error) · 366547f0
      2007-12-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/34325
      	* gfortran.dg/missing_parens_1.f90: New.
      	* gfortran.dg/missing_parens_1.f90: New.
      
      From-SVN: r131053
      Jerry DeLisle committed
    • re PR fortran/34325 (Wrong error message for syntax error) · f9b9fb82
      2007-12-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/34325
      	* match.h: New function declaration.
      	* match.c (gfc_match_parens): New function to look for mismatched
      	parenthesis. (gfc_match_if): Use new function to catch missing '('.
      
      From-SVN: r131052
      Jerry DeLisle committed
    • Daily bump. · c2cc7922
      From-SVN: r131050
      GCC Administrator committed
  2. 18 Dec, 2007 17 commits