1. 14 Apr, 2010 10 commits
  2. 13 Apr, 2010 28 commits
    • configure: Regenerate after change to elf.m4. · 3591b8e2
      2010-04-13  Steve Ellcey  <sje@cup.hp.com>
      
      	* configure: Regenerate after change to elf.m4.
      
      In config subdir:
      
      2010-04-13  Steve Ellcey  <sje@cup.hp.com>
      
      	* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
      
      From-SVN: r158285
      Steve Ellcey committed
    • hash_map: Don't #include "backward_warning.h" if _GLIBCXX_PERMIT_BACKWARD_HASH is defined. · 896e7917
      	* include/backward/hash_map: Don't #include "backward_warning.h"
      	if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
      	* include/backward/hash_set: Likewise.
      
      From-SVN: r158281
      Ian Lance Taylor committed
    • gsocket.h: Run-time can no longer be built without network OS headers available. · 014edf49
      2010-04-13  Joel Sherrill <joel.sherrill@oarcorp.com>
      
      	* gsocket.h: Run-time can no longer be built without network
      	OS headers available.  Changing RTEMS GNAT build procedure to
      	reflect this and letting run-time build use network .h files.
      
      From-SVN: r158279
      Joel Sherrill committed
    • ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting of optimized out static functions. · 1ce18dc8
      
      	* ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
      	of optimized out static functions.
      	(cgraph_edge_badness): Add DUMP parameter and dump reasons for the
      	cost computation.  Also sanity check for overflows.
      	(update_caller_keys): Update cgraph_edge_badness call; properly
      	update fibheap and sanity check that it is up to date.
      	(add_new_edges_to_heap): Update cgraph_edge_badness.
      	(cgraph_decide_inlining_of_small_function): Likewise;
      	add sanity checking that badness in heap is up to date;
      	improve dumping of reason; Update badness of calls to the
      	offline copy of function currently inlined; dump badness
      	of functions not inlined because of unit growth limits.
      
      From-SVN: r158278
      Jan Hubicka committed
    • call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of CLASS_TYPE_P. · 44b2dc6c
      	* call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
      	CLASS_TYPE_P.
      	* parser.c (cp_parser_lambda_expression): Complain about lambda in
      	unevaluated context.
      	* pt.c (iterative_hash_template_arg): Don't crash on lambda.
      
      From-SVN: r158277
      Jason Merrill committed
    • Commit gcc/testsuite/ChangeLog for revision 158275. · 4867a0c6
      	
      2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
      	* g++.dg/dg.exp: Likewise.
      	* gcc.dg/cpp/warning-directive-1.c: Move to ...
      	* c-c++-common/cpp/warning-directive-1.c: ... here.
      	* gcc.dg/cpp/warning-directive-2.c: Move to ...
      	* c-c++-common/cpp/warning-directive-2.c: ... here.
      	* gcc.dg/cpp/warning-directive-3.c: Move to ...
      	* c-c++-common/cpp/warning-directive-3.c: ... here.
      	* gcc.dg/cpp/warning-directive-4.c: Move to ...
      	* c-c++-common/cpp/warning-directive-4.c: ... here.
      	* g++.dg/cpp/warning-directive-1.C: Delete.
      	* g++.dg/cpp/warning-directive-2.C: Delete.
      	* g++.dg/cpp/warning-directive-3.C: Delete.
      	* g++.dg/cpp/warning-directive-4.C: Delete.
      	* gcc.dg/cpp/normalised-3.c: Delete.
      	* g++.dg/cpp/normalised-1.C: Rename as ...
      	* c-c++-common/cpp/normalised-3.c: ... this.
      
      From-SVN: r158276
      Manuel López-Ibáñez committed
    • cpp.exp: Test also c-c++-common/cpp. · 97a3f2bd
      2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
      	* g++.dg/dg.exp: Likewise.
      	* gcc.dg/cpp/warning-directive-1.c: Move to ...
      	* c-c++-common/cpp/warning-directive-1.c: ... here.
      	* gcc.dg/cpp/warning-directive-2.c: Move to ...
      	* c-c++-common/cpp/warning-directive-2.c: ... here.
      	* gcc.dg/cpp/warning-directive-3.c: Move to ...
      	* c-c++-common/cpp/warning-directive-3.c: ... here.
      	* gcc.dg/cpp/warning-directive-4.c: Move to ...
      	* c-c++-common/cpp/warning-directive-4.c: ... here.
      	* g++.dg/cpp/warning-directive-1.C: Delete.
      	* g++.dg/cpp/warning-directive-2.C: Delete.
      	* g++.dg/cpp/warning-directive-3.C: Delete.
      	* g++.dg/cpp/warning-directive-4.C: Delete.
      	* gcc.dg/cpp/normalised-3.c: Delete.
      	* g++.dg/cpp/normalised-1.C: Rename as ...
      	* c-c++-common/cpp/normalised-3.c: ... this.
      
      From-SVN: r158275
      Manuel López-Ibáñez committed
    • re PR middle-end/32628 (bogus integer overflow warning) · 9e9ef331
      	PR middle-end/32628
      	* c-common.c (pointer_int_sum): Disregard overflow that occured only
      	because of sign-extension change when converting to sizetype here...
      	* fold-const.c (fold_convert_const_int_from_int): ...and not here.
      
      	* fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
      	the folding to constants.  Remove redundant final conversion.
      	(fold_binary) <associate>: Do not associate if the re-association of
      	constants alone overflows.
      	(fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
      	to the end of the list.
      	(multiple_of_p) <COND_EXPR>: New case.
      
      From-SVN: r158274
      Eric Botcazou committed
    • opt-functions.awk (opt_sanitized_name): New. · 9db94baa
      2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* opt-functions.awk (opt_sanitized_name): New.
      	(opt_enum): New.
      	* optc-gen.awk: Use it
      	* opth-gen.awk: Use it.
      
      From-SVN: r158272
      Manuel López-Ibáñez committed
    • tree-sra.c (replace_uses_with_default_def_ssa_name): New function. · 0f2ffb9a
      2010-04-13  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
      	(sra_modify_assign): Delete stmts loading dead data even if racc has no
      	children.  Call replace_uses_with_default_def_ssa_name to handle
      	SSA_NAES on lhs.
      
      	* testsuite/gcc.dg/tree-ssa/sra-9.c: New test.
      
      From-SVN: r158271
      Martin Jambor committed
    • re PR middle-end/43730 (internal compiler error: in… · f78b86c0
      re PR middle-end/43730 (internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313)
      
      	PR middle-end/43730
      	* builtins.c (expand_builtin_interclass_mathfn): Also create
      	a register if the predicate doesn't match.
      
      testsuite/
      	* gcc.dg/pr43730.c: New test.
      
      From-SVN: r158268
      Michael Matz committed
    • Add CL entry · 0e6229c2
      From-SVN: r158267
      Diego Novillo committed
    • Makefile.in (c-pch.o, [...]): Depend on timevar.h. · 10d43c2d
      2010-04-12  Diego Novillo  <dnovillo@google.com>
      
      	* Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
      	* c-pch.c: Include timevar.h.
      	(c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
      	(c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE
      	timers.
      	* ggc-common.c: Include timevar.h.
      	(gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT
      	timers.
      	* timevar.def (TV_PCH_SAVE): Define.
      	(TV_PCH_CPP_SAVE): Define.
      	(TV_PCH_PTR_REALLOC): Define.
      	(TV_PCH_PTR_SORT): Define.
      	(TV_PCH_RESTORE): Define.
      	(TV_PCH_CPP_RESTORE): Define.
      
      From-SVN: r158266
      Diego Novillo committed
    • tree-ssa-reassoc.c (repropagate_negates): Merge negates also into MINUS_EXPRs. · 143597ff
      	* tree-ssa-reassoc.c (repropagate_negates): Merge negates also
      	into MINUS_EXPRs.
      	(can_reassociate_p): New function.
      	(break_up_subtract_bb, reassociate_bb): Use it.
      
      testsuite/
      	* gcc.dg/tree-ssa/negate.c: New testcase.
      
      From-SVN: r158265
      Michael Matz committed
    • re PR bootstrap/43737 (Bootstrap broken at -O3) · 54c5ec4f
      2010-04-13  Richard Guenther  <rguenther@suse.de>
      
      	PR bootstrap/43737
      	* builtins.c (c_readstr): Fix assert.
      
      From-SVN: r158264
      Richard Guenther committed
    • re PR middle-end/43735 (FAIL: gcc.dg/guality/inline-params.c) · 9d7b53cc
      2010-04-13  Richard Guenther  <rguenther@suse.de>
      
      	PR testsuite/43735
      	* gcc.dg/guality/inline-params.c: Remove -fwhopr XPASS.
      
      From-SVN: r158263
      Richard Guenther committed
    • re PR other/31400 (enable static linking of support libraries through -static-libXY) · 5f1c83e1
      gcc/fortran:
      2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>
      
      	PR bootstrap/31400
      	* gfortranspec.c (lookup_option): Check for -static and return
      	OPTION_static.
      	(lang_specific_driver): Break when OPTION_static is discovered.
      
      From-SVN: r158262
      Iain Sandoe committed
    • i386.md (extendsidi2 splitter): Also check for DX_REG when generating cltd insn. · 719938ae
      	* config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
      	when generating cltd insn.
      
      	(*ashl<mode>3_1): Remove special handling for register operand 2.
      	(*ashlsi3_1_zext): Ditto.
      	(*ashlhi3_1): Ditto.
      	(*ashlhi3_1_lea): Ditto.
      	(*ashlqi3_1): Ditto.
      	(*ashlqi3_1_lea): Ditto.
      	(*<shiftrt_insn><mode>3_1): Ditto.
      	(*<shiftrt_insn>si3_1_zext): Ditto.
      	(*<shiftrt_insn>qi3_1_slp): Ditto.
      	(*<rotate_insn><mode>3_1): Ditto.
      	(*<rotate_insn>si3_1_zext): Ditto.
      	(*<rotate_insn>qi3_1_slp): Ditto.
      
      From-SVN: r158261
      Uros Bizjak committed
    • tree-ssa-structalias.c (callused_id): Remove. · 3e8542ca
      2010-04-13  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (callused_id): Remove.
      	(call_stmt_vars): New.
      	(get_call_vi): Likewise.
      	(lookup_call_use_vi): Likewise.
      	(lookup_call_clobber_vi): Likewise.
      	(get_call_use_vi): Likewise.
      	(get_call_clobber_vi): Likewise.
      	(make_transitive_closure_constraints): Likewise.
      	(handle_const_call): Adjust to do per-call call-used handling.
      	(handle_pure_call): Likewise.
      	(find_what_var_points_to): Remove general callused handling.
      	(init_base_vars): Likewise.
      	(init_alias_vars): Initialize call_stmt_vars.
      	(compute_points_to_sets): Process call-used and call-clobbered
      	vars for call statements.
      	(delete_points_to_sets): Free call_stmt_vars.
      
      From-SVN: r158260
      Richard Guenther committed
    • tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only add RW dependence… · 777e1f09
      tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only add RW dependence for dependence distance zero.
      
      2010-04-13  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
      	Only add RW dependence for dependence distance zero.
      	Adjust maximal vectorization factor according to dependences.
      	Move alignment handling ...
      	(vect_find_same_alignment_drs): ... here.  New function.
      	(vect_analyze_data_ref_dependences): Adjust.
      	(vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
      	(vect_analyze_data_refs): Adjust minimal vectorization factor
      	according to data references.
      	* tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
      	dependences before determining the vectorization factor.
      	Analyze alignment after determining the vectorization factor.
      	* tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
      	dependences before alignment.
      	* tree-vectorizer.h (vect_analyze_data_ref_dependences):
      	Adjust prototype.
      	(vect_analyze_data_refs): Likewise.
      	(MAX_VECTORIZATION_FACTOR): New define.
      
      	* gcc.dg/vect/no-vfa-vect-depend-1.c: Adjust.
      
      From-SVN: r158259
      Richard Guenther committed
    • Remove lang_eh_type_covers, which is dead, and the corresponding · 1a710808
      Ada routine gnat_eh_type_covers.
      
      From-SVN: r158258
      Duncan Sands committed
    • s390.md: Replace TARGET_64BIT with TARGET_ZARCH. · 9602b6a1
      2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
                  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	
      	* gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
      	* gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
      	UNITS_PER_LONG where it is ABI relevant.	
      	(s390_return_addr_rtx): Likewise.
      	(s390_back_chain_rtx): Likewise.
      	(s390_frame_area): Likewise.
      	(s390_frame_info): Likewise.
      	(s390_initial_elimination_offset): Likewise.
      	(save_gprs): Likewise.
      	(s390_emit_prologue): Likewise.
      	(s390_emit_epilogue): Likewise.
      	(s390_function_arg_advance): Likewise.
      	(s390_function_arg): Likewise.
      	(s390_va_start): Likewise.
      	(s390_gimplify_va_arg): Likewise.
      	(s390_function_profiler): Likewise.
      	(s390_optimize_prologue): Likewise.
      	(s390_rtx_costs): Likewise.
      	(s390_secondary_reload): Likewise.
      	(s390_promote_function_mode): Likewise.
      	(s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
      	(s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
      	registers available.
      	(s390_unwind_word_mode): New function.
      	(s390_function_value): Split 64 bit values into register pair if
      	used as return value.
      	(s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
      	function call parameters.  Handle parallels.
      	(TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
      	(HARD_REGNO_CALL_PART_CLOBBERED): New macro.
      	(DWARF_CIE_DATA_ALIGNMENT): New macro.
      	(s390_expand_setmem): Remove unused variable src_addr.
      	* gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
      	deal with 64 bit registers.	
      	* gcc/config/s390/s390.h: Define __zarch__ predefined macro.
      	Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
      	(UNITS_PER_LONG): New macro.
      	* libjava/include/s390-signal.h: Define extended ucontext
      	structure containing the upper halfs of the 64 bit registers.
      
      
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r158257
      Andreas Krebbel committed
    • cfgexpand.c (gimple_expand_cfg): Clarify warning message text. · 3b123595
      	
      	* cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
      
      From-SVN: r158256
      Simon Baldwin committed
    • gigi.h (standard_datatypes): Add ADT_parent_name_id. · 76af763d
      	* gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
      	(parent_name_id): New macro.
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
      	* gcc-interface/trans.c (gigi): Initialize it.
      	(lvalue_required_p) <N_Type_Conversion>: New case.
      	<N_Qualified_Expression>: Likewise.
      	<N_Allocator>: Likewise.
      	* gcc-interface/utils.c (convert): Try to properly upcast tagged types.
      
      From-SVN: r158255
      Eric Botcazou committed
    • gimple.c (walk_gimple_op): Do not request a pure rvalue on the RHS if the LHS is… · cb3d597d
      gimple.c (walk_gimple_op): Do not request a pure rvalue on the RHS if the LHS is of a non-renamable type.
      
      	* gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
      	rvalue on the RHS if the LHS is of a non-renamable type.
      	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
      ada/
      	* gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
      	(DECL_CONST_ADDRESS_P): New macro.
      	(SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
      	(SAME_FIELD_P): Likewise.
      	* gcc-interface/decl.c (constructor_address_p): New static function.
      	(gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
      	the return value of above function.
      	(gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
      	passed by reference.
      	<E_Record_Subtype>: Likewise.
      	Set TREE_ADDRESSABLE on the type if it passed by reference.
      	(make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
      	(create_field_decl_from): Likewise.
      	(substitute_in_type): Likewise.
      	(purpose_member_field): Use SAME_FIELD_P.
      	* gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
      	* gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
      	parameter and adjust recursive calls.
      	<N_Explicit_Dereference>: New case.
      	<N_Object_Declaration>: Return 1 if the object is of a class-wide type.
      	Adjust calls to lvalue_required_p.  Do not return the initializer of a
      	DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
      	(call_to_gnu): Delay issuing error message for a misaligned actual and
      	avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
      	(gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
      	* gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
      	type is passed by reference.
      	(convert) <CONSTRUCTOR>: Convert in-place in more cases.
      	* gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
      	(build_simple_component_ref): Use SAME_FIELD_P.
      
      From-SVN: r158254
      Eric Botcazou committed
    • [multiple changes] · b7e75771
      2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* array.c (extract_element): Restore function from trunk.
      	(gfc_get_array_element): Restore function from trunk.
      	(gfc_expand_constructor): Restore check against
      	flag_max_array_constructor.
      	* constructor.c (node_copy_and_append): Delete unused.
      	* gfortran.h: Delete comment and extra include.
      	* constructor.h: Bump copyright and clean up TODO comments.
      	* resolve.c: Whitespace.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
      	* simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
      	with direct access access to elements. Adjusted prototype, fixed all
      	callers.
      	(gfc_simplify_dot_product): Removed duplicate check for zero-sized
      	array.
      	(gfc_simplify_matmul): Removed usage of ADVANCE macro.
      	(gfc_simplify_spread): Removed workaround, directly insert elements
      	at a given array position.
      	(gfc_simplify_transpose): Likewise.
      	(gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
      	function calls.
      	(gfc_simplify_unpack): Likewise.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
      	* simplify.c (only_convert_cmplx_boz): Renamed to ...
      	(convert_boz): ... this and moved to start of file.
      	(gfc_simplify_abs): Whitespace fix.
      	(gfc_simplify_acos): Whitespace fix.
      	(gfc_simplify_acosh): Whitespace fix.
      	(gfc_simplify_aint): Whitespace fix.
      	(gfc_simplify_dint): Whitespace fix.
      	(gfc_simplify_anint): Whitespace fix.
      	(gfc_simplify_and): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_dnint): Whitespace fix.
      	(gfc_simplify_asin): Whitespace fix.
      	(gfc_simplify_asinh): Moved creation of result-expr out of switch.
      	(gfc_simplify_atan): Likewise.
      	(gfc_simplify_atanh): Whitespace fix.
      	(gfc_simplify_atan2): Whitespace fix.
      	(gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
      	(gfc_simplify_bessel_j1): Likewise.
      	(gfc_simplify_bessel_jn): Likewise.
      	(gfc_simplify_bessel_y0): Likewise.
      	(gfc_simplify_bessel_y1): Likewise.
      	(gfc_simplify_bessel_yn): Likewise.
      	(gfc_simplify_ceiling): Reorderd statements.
      	(simplify_cmplx): Use convert_boz(), check for constant arguments.
      	Whitespace fix.
      	(gfc_simplify_cmplx): Use correct default kind. Removed check for
      	constant arguments.
      	(gfc_simplify_complex): Replaced if-gate. Removed check for
      	constant arguments.
      	(gfc_simplify_conjg): Whitespace fix.
      	(gfc_simplify_cos): Whitespace fix.
      	(gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_dcmplx): Removed check for constant arguments.
      	(gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
      	(gfc_simplify_digits): Whitespace fix.
      	(gfc_simplify_dim): Whitespace fix.
      	(gfc_simplify_dprod): Reordered statements.
      	(gfc_simplify_erf): Whitespace fix.
      	(gfc_simplify_erfc): Whitespace fix.
      	(gfc_simplify_epsilon): Whitespace fix.
      	(gfc_simplify_exp): Whitespace fix.
      	(gfc_simplify_exponent): Use convert_boz().
      	(gfc_simplify_floor): Reorderd statements.
      	(gfc_simplify_gamma): Whitespace fix.
      	(gfc_simplify_huge): Whitespace fix.
      	(gfc_simplify_iand): Whitespace fix.
      	(gfc_simplify_ieor): Whitespace fix.
      	(simplify_intconv): Use gfc_convert_constant().
      	(gfc_simplify_int): Use simplify_intconv().
      	(gfc_simplify_int2): Reorderd statements.
      	(gfc_simplify_idint): Reorderd statements.
      	(gfc_simplify_ior): Whitespace fix.
      	(gfc_simplify_ishftc): Removed duplicate type check.
      	(gfc_simplify_len): Use range_check() instead of manual range check.
      	(gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
      	(gfc_simplify_log): Whitespace fix.
      	(gfc_simplify_log10): Whitespace fix.
      	(gfc_simplify_minval): Whitespace fix.
      	(gfc_simplify_maxval): Whitespace fix.
      	(gfc_simplify_mod): Whitespace fix.
      	(gfc_simplify_modulo): Whitespace fix.
      	(simplify_nint): Reorderd statements.
      	(gfc_simplify_not): Whitespace fix.
      	(gfc_simplify_or): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
      	(gfc_simplify_range): Removed unused result-variable. Whitespace fix.
      	(gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
      	(gfc_simplify_realpart): Whitespace fix.
      	(gfc_simplify_selected_char_kind): Removed unused result-variable.
      	(gfc_simplify_selected_int_kind): Removed unused result-variable.
      	(gfc_simplify_selected_real_kind): Removed unused result-variable.
      	(gfc_simplify_sign): Whitespace fix.
      	(gfc_simplify_sin): Whitespace fix.
      	(gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
      	(gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
      	(gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
      	* gfortran.h (gfc_start_constructor): Removed.
      	(gfc_get_array_element): Removed.
      	* array.c (gfc_start_constructor): Removed, use gfc_get_array_expr 
      	instead. Fixed all callers.
      	(extract_element): Removed.
      	(gfc_expand_constructor): Temporarily removed check for
      	max-array-constructor. Will be re-introduced later if still required.
      	(gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
      	instead. Fixed all callers.
      	* expr.c (find_array_section): Replaced manual lookup of elements
      	by gfc_constructor_lookup.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
              * gfortran.h (gfc_get_null_expr): New prototype.
              (gfc_get_operator_expr): New prototype.
              (gfc_get_character_expr): New prototype.
              (gfc_get_iokind_expr): New prototype.
              * expr.c (gfc_get_null_expr): New.
              (gfc_get_character_expr): New.
              (gfc_get_iokind_expr): New.
              (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
              * matchexp.c (build_node): Renamed and moved to
              expr.c (gfc_get_operator_expr). Reordered arguments to match 
              other functions. Fixed all callers.
              (gfc_get_parentheses): Use specific function to build expr.
              * array.c (gfc_match_array_constructor): Likewise.
              * arith.c (eval_intrinsic): Likewise.
              (gfc_hollerith2int): Likewise.
              (gfc_hollerith2real): Likewise.
              (gfc_hollerith2complex): Likewise.
              (gfc_hollerith2logical): Likewise.
              * data.c (create_character_intializer): Likewise.
              * decl.c (gfc_match_null): Likewise.
              (enum_initializer): Likewise.
              * io.c (gfc_match_format): Likewise.
              (match_io): Likewise.
              * match.c (gfc_match_nullify): Likewise.
              * primary.c (match_string_constant): Likewise.
              (match_logical_constant): Likewise.
              (build_actual_constructor): Likewise.
              * resolve.c (build_default_init_expr): Likewise.
              * symbol.c (generate_isocbinding_symbol): Likewise.
              (gfc_build_class_symbol): Likewise.
              (gfc_find_derived_vtab): Likewise.
              * simplify.c (simplify_achar_char): Likewise.
              (gfc_simplify_adjustl): Likewise.
              (gfc_simplify_adjustr): Likewise.
              (gfc_simplify_and): Likewise.
              (gfc_simplify_bit_size): Likewise.
              (gfc_simplify_is_iostat_end): Likewise.
              (gfc_simplify_is_iostat_eor): Likewise.
              (gfc_simplify_isnan): Likewise.
              (simplify_bound): Likewise.
              (gfc_simplify_leadz): Likewise.
              (gfc_simplify_len_trim): Likewise.
              (gfc_simplify_logical): Likewise.
              (gfc_simplify_maxexponent): Likewise.
              (gfc_simplify_minexponent): Likewise.
              (gfc_simplify_new_line): Likewise.
              (gfc_simplify_null): Likewise.
              (gfc_simplify_or): Likewise.
              (gfc_simplify_precision): Likewise.
              (gfc_simplify_repeat): Likewise.
              (gfc_simplify_scan): Likewise.
              (gfc_simplify_size): Likewise.
              (gfc_simplify_trailz): Likewise.
              (gfc_simplify_trim): Likewise.
              (gfc_simplify_verify): Likewise.
              (gfc_simplify_xor): Likewise.
              * trans-io.c (build_dt): Likewise.
              (gfc_new_nml_name_expr): Removed.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
      	* arith.h (gfc_constant_result): Removed prototype.
      	* constructor.h (gfc_build_array_expr): Removed prototype.
      	(gfc_build_structure_constructor_expr): Removed prototype.
      	* gfortran.h (gfc_int_expr): Removed prototype.
      	(gfc_logical_expr): Removed prototype.
      	(gfc_get_array_expr): New prototype.
      	(gfc_get_structure_constructor_expr): New prototype.
      	(gfc_get_constant_expr): New prototype.
      	(gfc_get_int_expr): New prototype.
      	(gfc_get_logical_expr): New prototype.
      	* arith.c (gfc_constant_result): Moved and renamed to
      	expr.c (gfc_get_constant_expr). Fixed all callers.
      	* constructor.c (gfc_build_array_expr): Moved and renamed to
      	expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
      	and kind. Fixed all callers.
      	(gfc_build_structure_constructor_expr): Moved and renamed to
      	expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
      	to type and kind. Fixed all callers.
      	* expr.c (gfc_logical_expr): Renamed to ...
      	(gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
      	(gfc_int_expr): Renamed to ...
      	(gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
      	callers.
      	(gfc_get_constant_expr): New.
      	(gfc_get_array_expr): New.
      	(gfc_get_structure_constructor_expr): New.
      	* simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
      	instead.
      
      2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
      
      	* constructor.h: New.
      	* constructor.c: New.
      	* Make-lang.in: Add new files to F95_PARSER_OBJS.
      	* arith.c (reducy_unary): Use constructor API.
      	(reduce_binary_ac): Likewise.
      	(reduce_binary_ca): Likewise.
      	(reduce_binary_aa): Likewise.
      	* check.c (gfc_check_pack): Likewise.
      	(gfc_check_reshape): Likewise.
      	(gfc_check_unpack): Likewise.
      	* decl.c (add_init_expr_to_sym): Likewise.
      	(build_struct): Likewise.
      	* dependency.c (gfc_check_dependency): Likewise.
      	(contains_forall_index_p): Likewise.
      	* dump-parse-tree.c (show_constructor): Likewise.
      	* expr.c (free_expr0): Likewise.
      	(gfc_copy_expr): Likewise.
      	(gfc_is_constant_expr): Likewise.
      	(simplify_constructor): Likewise.
      	(find_array_element): Likewise.
      	(find_component_ref): Likewise.
      	(find_array_section): Likewise.
      	(find_substring_ref): Likewise.
      	(simplify_const_ref): Likewise.
      	(scalarize_intrinsic_call): Likewise.
      	(check_alloc_comp_init): Likewise.
      	(gfc_default_initializer): Likewise.
      	(gfc_traverse_expr): Likewise.
      	* iresolve.c (check_charlen_present): Likewise.
      	(gfc_resolve_reshape): Likewise.
      	(gfc_resolve_transfer): Likewise.
      	* module.c (mio_constructor): Likewise.
      	* primary.c (build_actual_constructor): Likewise.
      	(gfc_match_structure_constructor): Likewise.
      	* resolve.c (resolve_structure_cons): Likewise.
      	* simplify.c (is_constant_array_expr): Likewise.
      	(init_result_expr): Likewise.
      	(transformational_result): Likewise.
      	(simplify_transformation_to_scalar): Likewise.
      	(simplify_transformation_to_array): Likewise.
      	(gfc_simplify_dot_product): Likewise.
      	(simplify_bound): Likewise.
      	(simplify_matmul): Likewise.
      	(simplify_minval_maxval): Likewise.
      	(gfc_simplify_pack): Likewise.
      	(gfc_simplify_reshape): Likewise.
      	(gfc_simplify_shape): Likewise.
      	(gfc_simplify_spread): Likewise.
      	(gfc_simplify_transpose): Likewise.
      	(gfc_simplify_unpack): Likewise.q
      	(gfc_convert_constant): Likewise.
      	(gfc_convert_char_constant): Likewise.
      	* target-memory.c (size_array): Likewise.
      	(encode_array): Likewise.
      	(encode_derived): Likewise.
      	(interpret_array): Likewise.
      	(gfc_interpret_derived): Likewise.
      	(expr_to_char): Likewise.
      	(gfc_merge_initializers): Likewise.
      	* trans-array.c (gfc_get_array_constructor_size): Likewise.
      	(gfc_trans_array_constructor_value): Likewise.
      	(get_array_ctor_strlen): Likewise.
      	(gfc_constant_array_constructor_p): Likewise.
      	(gfc_build_constant_array_constructor): Likewise.
      	(gfc_trans_array_constructor): Likewise.
      	(gfc_conv_array_initializer): Likewise.
      	* trans-decl.c (check_constant_initializer): Likewise.
      	* trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
      	(gfc_apply_interface_mapping_to_cons): Likewise.
      	(gfc_trans_structure_assign): Likewise.
      	(gfc_conv_structure): Likewise.
      	* array.c (check_duplicate_iterator): Likewise.
      	(match_array_list): Likewise.
      	(match_array_cons_element): Likewise.
      	(gfc_match_array_constructor): Likewise.
      	(check_constructor_type): Likewise.
      	(check_constructor): Likewise.
      	(expand): Likewise.
      	(expand_constructor): Likewise.
      	(extract_element): Likewise.
      	(gfc_expanded_ac): Likewise.
      	(resolve_array_list): Likewise.
      	(gfc_resolve_character_array_constructor): Likewise.
      	(copy_iterator): Renamed to ...
      	(gfc_copy_iterator): ... this.
      	(gfc_append_constructor): Removed.
      	(gfc_insert_constructor): Removed unused function.
      	(gfc_get_constructor): Removed.
      	(gfc_free_constructor): Removed.
      	(qgfc_copy_constructor): Removed.
      	* gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
      	Removed all references. Replaced constructor list by splay-tree.
      	(struct gfc_constructor): Removed member 'next', moved 'offset' from
      	the inner struct, added member 'base'.
      	(gfc_append_constructor): Removed prototype.
      	(gfc_insert_constructor): Removed prototype.
      	(gfc_get_constructor): Removed prototype.
      	(gfc_free_constructor): Removed prototype.
      	(qgfc_copy_constructor): Removed prototype.
      	(gfc_copy_iterator): New prototype.
      	* trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
      
      From-SVN: r158253
      Jerry DeLisle committed
    • Daily bump. · 57408aaf
      From-SVN: r158252
      GCC Administrator committed
    • elf: Remove empty directory. · da125f6f
      2010-04-13  Matthias Klose  <doko@ubuntu.com>
      
              * elf: Remove empty directory.
      
      From-SVN: r158248
      Matthias Klose committed
  3. 12 Apr, 2010 2 commits
    • gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec. · 4adbd5dd
      gcc/
      
      2010-04-13  Matthias Klose  <doko@ubuntu.com>
      
      	* gcc.c (cc1_options): Handle -iplugindir before processing
      	the cc1 spec. Only add -iplugindir once.
      	(cpp_unique_options): Add -iplugindir option if -fplugin* options
      	found.
      	* common.opt (iplugindir): Remove `Separate' property, initialize.
      	* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
      	option.
      	* Makefile.in (check-%, check-parallel-%): Create plugin dir.
      	(distclean): Remove plugin dir.
      
      2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
      
      	* doc/plugins.texi (Loading Plugins): Document short
      	-fplugin=foo option.
      	(Plugin API): Mention default_plugin_dir_name function.
      
      	* gcc.c (find_file_spec_function): Add new declaration.
      	(static_spec_func): Use it for "find-file".
      	(find_file_spec_function): Add new function.
      	(cc1_options): Add -iplugindir option if -fplugin* options found.
      
      	* gcc-plugin.h (default_plugin_dir_name): Added new declaration.
      
      	* plugin.c (add_new_plugin): Updated comment, and handle short
      	plugin name.
      	(default_plugin_dir_name): Added new function.
      
      	* common.opt (iplugindir): New option to set the plugin
      	directory.
      
      gcc/testsuite/
      
      2010-04-13  Matthias Klose  <doko@ubuntu.com>
      
      	* gcc.dg/plugindir1.c: New testcase.
      	* gcc.dg/plugindir2.c: New testcase.
      	* gcc.dg/plugindir3.c: New testcase.
      	* gcc.dg/plugindir4.c: New testcase.
      
      From-SVN: r158247
      Matthias Klose committed
    • i386.md (any_rotate): New code iterator. · e0db9cc6
      	* config/i386/i386.md (any_rotate): New code iterator.
      	(rotate_insn): New code attribute.
      	(rotate): Ditto.
      	(SWIM124): New mode iterator.
      	(<rotate_insn>ti3): New expander.
      	(<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
      	any_rotate code iterator.
      	(<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
      	using any_rotate code iterator and SWIM124 mode iterator.
      	(ix86_rotlti3): New insn_and_split pattern.
      	(ix86_rotrti3): Ditto.
      	(ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
      	ix86_rotl{di,ti}3 patterns.
      	(ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
      	(*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
      	and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
      	*{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
      	code iterator and SWI mode iterator.
      	(*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
      	Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
      	code iterator.
      	(*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
      	Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
      	(bswap rotatert splitter): Add splitter.
      	(bswap splitter): Macroize splitter using any_rotate code iterator.
      	Add insn predicate to split only for TARGET_USE_XCHGB or when
      	optimizing function for size.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/rotate-2.c: New test.
      
      From-SVN: r158243
      Uros Bizjak committed