1. 24 Apr, 2009 31 commits
    • [multiple changes] · 04f33e7b
      2009-04-24  Arnaud Charlet  <charlet@adacore.com>
      
      	* mlib-prj.adb: Use friendlier english identifier.
      
      	* gnatcmd.adb, make.adb: Use better english identifiers.
      
      2009-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* clean.adb: Minor reformatting
      
      From-SVN: r146715
      Arnaud Charlet committed
    • einfo.adb (OK_To_Rename): New flag · d1f453b7
      2009-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.adb (OK_To_Rename): New flag
      
      	* einfo.ads (OK_To_Rename): New flag
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
      	OK_To_Rename set.
      
      	* exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
      
      	* sem_ch7.adb (Uninstall_Declarations): Allow for renames from
      	OK_To_Rename.
      
      From-SVN: r146714
      Robert Dewar committed
    • loop-iv.c (simple_rhs_p): Allow expressions that are function_invariant_p. · ce72fe6c
      	* loop-iv.c (simple_rhs_p): Allow expressions that are
      	function_invariant_p.
      
      From-SVN: r146701
      Bernd Schmidt committed
    • loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes... · f63426af
      	* loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes;
      	follow chains of regs with a single definition, and allow expressions
      	that are function_invariant_p.
      
      From-SVN: r146700
      Bernd Schmidt committed
    • prj-proc.adb, [...] (Project_Data.Seen): field removed. · 8b9890fa
      2009-04-24  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
      	clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
      	field removed. This is not a property of the
      	project, just a boolean used to traverse the project tree, and storing
      	it in the structure prevents doing multiple traversal in parallel.
      	(Project_Data.Checked): also removed, since it was playing the same role
      	as Seen when we had two nested loops, and this is no longer necessary
      	(For_All_Imported_Projects): removed, since in fact there was already
      	the equivalent in For_Every_Project_Imported. The latter was rewritten
      	to use a local hash table instead of Project_Data.Seen
      	Various loops were rewritten to use For_Every_Project_Imported, thus
      	removing the need for Project_Data.Seen. This avoids a lot of code
      	duplication
      
      From-SVN: r146699
      Emmanuel Briot committed
    • [multiple changes] · 76e776e5
      2009-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): Do not create blocks around code
      	statements, even though the actual of the call is a concatenation,
      	because the argument is static, and we want to preserve warning
      	messages  about sequences of code statements that are not marked
      	volatile.
      
      	* sem_warn.adb: remove obsolete comment about warning being obsolete
      
      	* s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
      	requeued and the delay has expired while within the accept statement
      	that executes the requeue, do not perform the requeue and indicate that
      	the timed call has been aborted.
      
      2009-04-24  Emmanuel Briot  <briot@adacore.com>
      
      	* mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
      	(Has_Ada_Sources, Has_Foreign_Sources): new subprograms
      	(Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
      	since they can be computed from the above.
      
      From-SVN: r146698
      Arnaud Charlet committed
    • Minor reformatting. · e3dd53ec
      From-SVN: r146697
      Arnaud Charlet committed
    • gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree · 481f29eb
      2009-04-24  Vincent Celier  <celier@adacore.com>
      
      	* gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
      
      	* prj-env.adb: Move all global variables to the private part of the
      	project tree data.
      	Access these new components instead of the global variables no longer
      	in existence.
      	(Add_To_Path): New Project_Tree_Ref parameter, to access the new
      	components that were previously global variables.
      
      	* prj-env.ads (Initialize): New Project_Tree_Ref parameter
      	(Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
      	parameter.
      
      	* prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
      	be able to call Set_Mapping_File_Initial_State_To_Empty with it.
      
      	* prj.adb (Initialize): Do not call Prj.Env.Initialize
      	(Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
      	components in the private part of the project tree data.
      
      	* prj.ads (Private_Project_Tree_Data): new components moved from
      	Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
      	Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
      	Ada_Prj_Objects_File_Set, Fill_Mapping_File.
      
      From-SVN: r146696
      Vincent Celier committed
    • re PR middle-end/39867 (Wrong result of conditional operator exp < 2 ? 2U : (unsigned int) exp) · 30349c74
      2009-04-24  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR middle-end/39867
      	* fold-const.c (fold_cond_expr_with_comparison): When folding
      	> and >= to MAX, make sure the MAX uses the same type as the
      	comparison operands.
      
      testsuite:
      2009-04-24  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR middle-end/39867
      	* gcc.dg/pr39867.c: New.
      
      From-SVN: r146695
      Paolo Bonzini committed
    • frv.c (frv_frame_access): Do not use reg+reg addressing for DImode accesses. · 8d8256c1
              * config/frv/frv.c (frv_frame_access): Do not use reg+reg
              addressing for DImode accesses.
              (frv_print_operand_address): Handle PLUS case.
              * config/frv/frv.h (FIXED_REGISTERS): Mark link register as
              fixed.
      
      From-SVN: r146694
      Nick Clifton committed
    • [multiple changes] · c54ab0b5
      2009-04-24  Vincent Celier  <celier@adacore.com>
      
      	* opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
      
      	* prj-nmsc.adb (Check_Library): No error for imports by shared library
      	projects, when --unchecked-shared-lib-imports is used.
      
      2009-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch7.adb: Minor reformatting
      
      From-SVN: r146693
      Arnaud Charlet committed
    • [multiple changes] · b3520ca0
      2009-04-24  Tristan Gingold  <gingold@adacore.com>
      
      	* s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
      	mach thread id.
      
      2009-04-24  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
      	Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
      	(For_All_Imported_Projects): new procedure
      	(For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
      	above rather than duplicating code.
      
      From-SVN: r146692
      Arnaud Charlet committed
    • 2009-04-24 Emmanuel Briot <briot@adacore.com> · 5d07d0cf
      	* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
      	(Source_Id, Source_Data): use a real list to store sources rather than
      	using an external table to store the elements. This makes code more
      	efficient and more readable.
      
      From-SVN: r146691
      Emmanuel Briot committed
    • 2009-04-24 Emmanuel Briot <briot@adacore.com> · 5eed512d
      	* prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
      	(Source_Iterator): new type.
              This removes the need for having the sources on three different
              lists at the project tree, project and language level. They are now
              on a single list.
      
      From-SVN: r146689
      Emmanuel Briot committed
    • gnatcmd.adb, [...]: Remove unused entities · 5876578b
      2009-04-24  Emmanuel Briot  <briot@adacore.com>
      
      	* gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
      
      From-SVN: r146688
      Emmanuel Briot committed
    • sem_warn.adb: Add comment on obsolete warning · a9d17e32
      2009-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_warn.adb: Add comment on obsolete warning
      
      From-SVN: r146687
      Ed Schonberg committed
    • * prj.ads (Language_Ptr): Make a general access type. · fb891c87
      From-SVN: r146686
      Arnaud Charlet committed
    • s-tassta.adb (Create_Task): Fix violation of locking rule. · 144c034d
      2009-04-24  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-tassta.adb (Create_Task): Fix violation of locking rule.
      
      From-SVN: r146685
      Arnaud Charlet committed
    • prj.adb, [...] (Language_Index): renamed to Language_Ptr to better reflect its new implementation. · e0697153
      2009-04-24  Emmanuel Briot  <briot@adacore.com>
      
      	* prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
      	to Language_Ptr to better reflect its new implementation.
      	(Project_Data.First_Languages_Processing): renamed to Languages now
      	that the field with that name is no longer used
      	(Project_Data.Languages): removed, no longer used, and duplicates
      	information already available through First_Language_Processing.
      	(Prj.Language_Index): now an actual pointer, instead of an index into
      	a table. This makes the list somewhat more obvious, but more importantly
      	removes the need to pass a pointer to the project_tree_data in a few
      	places, and makes accessing the attributes of a languages more
      	efficient.
      
      From-SVN: r146684
      Emmanuel Briot committed
    • array (at): Do not use builtin_expect. · e762c6f4
      	* include/tr1_impl/array (at): Do not use builtin_expect.
      	* include/ext/throw_allocator.h (allocate): Likewise.
      	* include/ext/pool_allocator.h (allocate): Likweise.
      	* include/ext/bitmap_allocator.h (allocate): Likewise.
      	* include/ext/rc_string_base.h (_S_construct): Likewise.
      	* include/ext/malloc_allocator.h (allocate): Likewise.
      	* include/ext/mt_allocator.h (allocate): Likewise.
      	* include/ext/sso_string_base.h (_M_construct): Likewise.
      	* include/bits/basic_string.tcc (_S_construct): Likewise.
      
      From-SVN: r146681
      Jan Hubicka committed
    • Fix nit · aa829fa1
      From-SVN: r146679
      Eric Botcazou committed
    • fe.h (Set_Identifier_Casing): Add const to second parameter. · 18e6d56a
      	* fe.h (Set_Identifier_Casing): Add const to second parameter.
      	* gcc-interface/misc.c (internal_error_function): Make copy of retur
      	from pp_formatted_text before assigning BUFFER to it.
      	(gnat_init): Likewise for main_input_filename and gnat_argv.
      	(gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
      
      Co-Authored-By: Thomas Quinot <quinot@adacore.com>
      
      From-SVN: r146678
      Richard Kenner committed
    • re PR fortran/39861 (ICE with INTRINSIC in module: write_symbol(): bad module symbol) · 87526ff1
      2009-04-24  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39861
      	PR fortran/39864
      	* symbol.c (gfc_copy_formal_args_intr): Set attr.flavor and attr.dummy
      	for the formal arguments.
      
      
      2009-04-24  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39861
      	PR fortran/39864
      	* gfortran.dg/intrinsic_1.f90: New.
      
      From-SVN: r146677
      Janus Weil committed
    • Fix nits · e6e15ec9
      From-SVN: r146676
      Eric Botcazou committed
    • ttypes.ads (Target_Double_Float_Alignment): New variable. · caa9d12a
      	* ttypes.ads (Target_Double_Float_Alignment): New variable.
      	(Target_Double_Scalar_Alignment): Likewise.
      	* get_targ.ads (Get_Strict_Alignment): Adjust external name.
      	(Get_Double_Float_Alignment): New imported function.
      	(Get_Double_Scalar_Alignment): Likewise.
      	* layout.adb (Set_Elem_Alignment): Take into account specific caps for
      	the alignment of "double" floating-point types and "double" or larger
      	scalar types, as parameterized by Target_Double_Float_Alignment and
      	Target_Double_Scalar_Alignment respectively.
      	* gcc-interface/gigi.h (double_float_alignment): Declare.
      	(double_scalar_alignment): Likewise.
      	(is_double_float_or_array): Likewise.
      	(is_double_scalar_or_array): Likewise.
      	(get_target_double_float_alignment): Likewise.
      	(get_target_double_scalar_alignment): Likewise.
      	* gcc-interface/targtyps.c (get_strict_alignment): Rename into...
      	(get_target_strict_alignment): ...this.
      	(get_target_double_float_alignment): New function.
      	(get_target_double_scalar_alignment): Likewise.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
      	Test the presence of an alignment clause for under-aligned integer
      	types.  Take into account specific caps for the alignment of "double"
      	floating-point types and "double" or larger scalar types, as
      	parameterized by Target_Double_Float_Alignment and
      	Target_Double_Scalar_Alignment respectively.
      	(validate_alignment): Likewise.
      	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
      	(gigi): Initialize double_float_alignment and double_scalar_alignment.
      	* gcc-interface/utils.c (double_float_alignment): New global variable.
      	(double_scalar_alignment): Likewise.
      	(is_double_float_or_array): New predicate.
      	(is_double_scalar_or_array): Likewise.
      
      From-SVN: r146675
      Eric Botcazou committed
    • utils2.c (build_cond_expr): Move SAVE_EXPR ahead of the conditional expression only if... · 1275de7d
      	* gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
      	the conditional expression only if it is common to both arms.
      
      From-SVN: r146673
      Eric Botcazou committed
    • gigi.h (build_call_alloc_dealloc): Update comment. · 6f61bd41
      	* gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
      	arguments to build_allocator.
      	* gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
      	Remove code handling special allocator and assert its uselessness.
      
      From-SVN: r146671
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): If an alignment is specified, do not promote that… · 0d858698
      decl.c (gnat_to_gnu_entity): If an alignment is specified, do not promote that of the component type beyond it.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
      	alignment is specified, do not promote that of the component type
      	beyond it.
      	<E_Array_Subtype>: Likewise.
      
      From-SVN: r146670
      Eric Botcazou committed
    • re PR rtl-optimization/39794 (Miscompile with -O2 -funroll-loops) · 6216f94e
      	PR rtl-optimization/39794
      	* alias.c (canon_true_dependence): Add x_addr argument.
      	* rtl.h (canon_true_dependence): Adjust prototype.
      	* cse.c (check_dependence): Adjust canon_true_dependence callers.
      	* cselib.c (cselib_invalidate_mem): Likewise.
      	* gcse.c (compute_transp): Likewise.
      	* dse.c (scan_reads_nospill): Likewise.
      	(record_store, check_mem_read_rtx): Likewise.  For non-const-or-frame
      	addresses pass base->val_rtx as mem_addr, for const-or-frame addresses
      	canon_base_addr of the group, plus optional offset.
      	(struct group_info): Rename canon_base_mem to
      	canon_base_addr.
      	(get_group_info): Set canon_base_addr to canon_rtx of base, not
      	canon_rtx of base_mem.
      
      	* gcc.dg/pr39794.c: New test.
      
      From-SVN: r146669
      Jakub Jelinek committed
    • sh.c (sh_expand_prologue, [...]): Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS. · 6de7a512
      2009-04-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
      	Use memory_address_p instead of GO_IF_LEGITIMATE_ADDRESS.
      
      From-SVN: r146668
      Paolo Bonzini committed
    • Daily bump. · bb1a1907
      From-SVN: r146667
      GCC Administrator committed
  2. 23 Apr, 2009 9 commits
    • spu-builtins.h: Delete file. · 4a3a2376
      	* config/spu/spu-builtins.h: Delete file.
      
      	* config/spu/spu.h (enum spu_builtin_type): Move here from
      	spu-builtins.h.
      	(struct spu_builtin_description): Likewise.  Add GTY marker.
      	Do not use enum spu_function_code or enum insn_code.
      	(spu_builtins): Add extern declaration.
      
      	* config/spu/spu.c: Do not include "spu-builtins.h".
      	(enum spu_function_code, enum spu_builtin_type_index,
      	V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
      	V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
      	unsigned_V8HI_type_node, unsigned_V4SI_type_node,
      	unsigned_V2DI_type_node): Move here from spu-builtins.h.
      	(spu_builtin_types): Make static.  Add GTY marker.
      	(spu_builtins): Add extern declaration with GTY marker.
      	Include "gt-spu.h".
      
      	* config/spu/spu-c.c: Do not include "spu-builtins.h".
      	(spu_resolve_overloaded_builtin): Do not use spu_function_code.
      	Check programmatically whether all parameters are scalar.
      
      	* config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
      
      From-SVN: r146660
      Ulrich Weigand committed
    • gimplify.c (gimplify_modify_expr_rhs): Do not do a direct assignment from the… · bbaba73f
      gimplify.c (gimplify_modify_expr_rhs): Do not do a direct assignment from the constructor either if the target is volatile.
      
      	* gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
      	assignment from the constructor either if the target is volatile.
      ada/
      	* einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
      	* sinfo.ads (Object Declaration): Likewise.
      	(Assignment Statement): Likewise.
      	* freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
      	Do not force Is_True_Constant to false on the temporary.
      	(Freeze_Entity): Do not force Is_True_Constant to false on names on
      	the RHS of object declarations.
      	* gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
      	New case.  Return 1 if the object is atomic.
      	<N_Assignment_Statement>: Likewise.
      
      From-SVN: r146652
      Eric Botcazou committed
    • re PR testsuite/39632 (Revision 145497 caused extra failures on Linux/ia64) · 3682dc97
      	PR testsuite/39623
      	* gcc.dg/vect/no-vfa-vect-57.c: XFAIL when vect_no_align.
      	* gcc.dg/vect/no-vfa-vect-61.c: Ditto.
      
      From-SVN: r146650
      Steve Ellcey committed
    • * config/arm/arm.md (insv): Do not share operands[0]. · ee93c1c6
      From-SVN: r146649
      Daniel Jacobowitz committed
    • * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype> · 4fd78fe6
      	For packed array types, make the original array type a parallel type
      	for the modular type and its JM wrapper if the type is bit-packed.
      	<E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
      	record type for packed array types.  Remove kludge.
      
      From-SVN: r146647
      Eric Botcazou committed
    • re PR c++/38228 (ICE with invalid use of bound member function) · 111a28c2
          gcc/cp/ChangeLog:
          	PR c++/38228
          	* pt.c (unify): Do not allow the result of a template argument
          	deduction to be a METHOD_TYPE.
          	* cvt.c (cp_convert): Report a meaningful error for non-valid use
          	of pointer to member functions during conversions.
          	* call.c (build_new_op): Report a meaningful error for non-valid
          	use of pointer to member functions in binary expressions.
          	* typeck.c (invalid_nonstatic_memfn_p): Do not crash when EXPR is
          	NULL;
          
          gcc/testsuite/ChangeLog:
          	PR c++/38228
          	* g++.dg/expr/bound-mem-fun.C: New test.
      
      From-SVN: r146646
      Dodji Seketeli committed
    • gigi.h (create_index_type): Adjust head comment. · c1abd261
      	* gcc-interface/gigi.h (create_index_type): Adjust head comment.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
      	Use front-end predicates to compute signedness and precision.
      	<E_String_Literal_Subtype>: Fold range type.
      	Make sure to set longest_float_type_node to a scalar type.
      	(elaborate_entity): Use consistent Constraint_Error spelling.
      	(substitute_in_type) <INTEGER_TYPE>: Always copy the type.
      	* gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
      	output for the modulus, if any.
      	<ENUMERAL_TYPE>: Likewise for the RM size.
      	* gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
      	spelling.
      	* gcc-interface/utils.c (finish_record_type): Really test the alignment
      	of BLKmode bit-fields to compute their addressability.
      	(create_index_type): Adjust comments.
      	(create_param_decl): Create the biased subtype manually.
      	* gcc-interface/utils2.c (build_component_ref): Use consistent
      	Constraint_Error spelling.
      
      From-SVN: r146644
      Eric Botcazou committed
    • cuintp.c: Clean up include directives. · 8713b7e4
      	* gcc-interface/cuintp.c: Clean up include directives.
      	* gcc-interface/targtyps.c: Likewise.
      	* gcc-interface/decl.c: Likewise.
      	* gcc-interface/misc.c: Likewise.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      	* gcc-interface/Make-lang.in: Adjust dependencies accordingly.
      
      From-SVN: r146643
      Eric Botcazou committed