1. 27 May, 2011 16 commits
    • bit_packed_array5.ads: Move dg directive to... · fd5dbe4f
      	* gnat.dg/bit_packed_array5.ads: Move dg directive to...
      	* gnat.dg/bit_packed_array5.adb: ...here.
      
      From-SVN: r174338
      Eric Botcazou committed
    • re PR c++/42056 (ICE with invalid use of auto in template) · efaa76b3
      /cp
      2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/42056
      	* typeck2.c (build_functional_cast): Complain early for invalid uses
      	of 'auto' and set type to error_mark_node.
      
      /testsuite
      2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/42056
      	* testsuite/g++.dg/cpp0x/auto25.C: New.
      
      From-SVN: r174337
      Paolo Carlini committed
    • sched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond. · b0bd15f7
      	* sched-int.h (struct _haifa_deps_insn_data): New members cond
      	and reverse_cond.
      	(INSN_COND, INSN_REVERSE_COND): New macros.
      	* sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
      	once.
      	(sched_get_condition_with_rev): Cache the results, and look them up
      	if possible.
      	(sched_analyze_insn): Destroy INSN_COND of previous insns if they
      	are clobbered by the current insn.
      	* target.def (exposed_pipline): New sched data hook.
      	* doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r174336
      Bernd Schmidt committed
    • 920711-1.x: Add -fwrapv. · f90aae43
      2011-05-27  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.c-torture/execute/920711-1.x: Add -fwrapv.
      
      From-SVN: r174335
      Richard Guenther committed
    • 920612-1.x: Add -fwrapv. · 224d42d5
      2011-05-27  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.c-torture/execute/920612-1.x: Add -fwrapv.
      
      From-SVN: r174334
      Richard Guenther committed
    • Index... · fa65a9cf
      Index: gcc/ChangeLog
      ===================================================================
      --- gcc/ChangeLog	(revision 174330)
      +++ gcc/ChangeLog	(working copy)
      @@ -1,3 +1,9 @@
      +2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      +
      +	PR tree-optimization/49170
      +	* tree-ssa-math-opts.c (execute_cse_sincos):  Add checks for
      +	sincos or cexp.
      +	
       2011-05-27  Richard Guenther  <rguenther@suse.de>
       
       	PR middle-end/49189
      Index: gcc/tree-ssa-math-opts.c
      ===================================================================
      --- gcc/tree-ssa-math-opts.c	(revision 174330)
      +++ gcc/tree-ssa-math-opts.c	(working copy)
      @@ -1093,6 +1093,10 @@ execute_cse_sincos (void)
       		CASE_FLT_FN (BUILT_IN_COS):
       		CASE_FLT_FN (BUILT_IN_SIN):
       		CASE_FLT_FN (BUILT_IN_CEXPI):
      +		  /* Make sure we have either sincos or cexp.  */
      +		  if (!TARGET_HAS_SINCOS && !TARGET_C99_FUNCTIONS)
      +		    break;
      +
       		  arg = gimple_call_arg (stmt, 0);
       		  if (TREE_CODE (arg) == SSA_NAME)
       		    cfg_changed |= execute_cse_sincos_1 (arg);
      
      From-SVN: r174331
      Bill Schmidt committed
    • re PR middle-end/49189 (infinite recursion in constant folder) · c2299dfe
      2011-05-27  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/49189
      	* fold-const.c (fold_unary_loc): Do not re-fold folding conversions
      	of comparisons.
      
      	* gnat.dg/bit_packed_array5.adb: New testcase.
      	* gnat.dg/bit_packed_array5.ads: Likewise.
      
      From-SVN: r174330
      Richard Guenther committed
    • haifa-sched.c (sched_scan_info): Remove. · a95b23b4
      	* haifa-sched.c (sched_scan_info): Remove.
      	(schedule_block): Call sched_extend_luids rather than sched_init_luids
      	with NULL args.
      	(extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
      	Remove functions.
      	(sched_scan): Remove.
      	(sched_extend_luids): Renamed from luids_extend_insn and no longer
      	static.  All callers changed.
      	(sched_init_insn_luid): Renamed from luids_init_insn and no longer
      	static.  All callers changed.
      	(sched_init_luids): Remove all arguments except the first.  All
      	callers changed.  Don't use sched_scan.
      	(haifa_init_h_i_d): Likewise.
      	(haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
      	manually rather than using sched_init_luids.  Likewise with
      	extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
      	* sel-sched.c (sel_region_target_finish): Call sched_extend_luids
      	rather than sched_init_luids with NULL args.
      	* sel-sched-ir.c (new_insns): Remove variable.
      	(sched_scan): New static function, previously in haifa-sched.c.  Remove
      	all arguments but the first two; all callers changed.
      	(sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
      	rather than sched_init_luids.
      	(sel_init_bbs): Remove second argument.  All callers changed.
      	(sel_add_bb): Call sched_extend_luids rather than sched_init_luids
      	with NULL arguments.
      	(create_insn_rtx_from_pattern): Likewise.
      	* sel-sched-ir.h (sel_init_bbs): Adjust declaration.
      	* sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
      	(sched_init_insn_luid, sched_extend_luids): Declare.
      	(sched_scan_info_def, sched_scan_info, sched_scan): Remove
      	declarations.
      
      From-SVN: r174327
      Bernd Schmidt committed
    • re PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c) · f8f972fc
      2011-05-27  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/49177
      	* fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
      	A CMP B ? (T) true : (T) false for non-integral types T again.
      
      From-SVN: r174326
      Richard Biener committed
    • lto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means NULL string. · 51a9ed47
      	* lto-streamer-out.c (lto_string_index): break out from...; offset by 1
      	so 0 means NULL string.
      	(lto_output_string_with_length): ... here.
      	(lto_output_string, output_string_cst, output_identifier): Update handling
      	of NULL strings.
      	(lto_output_location_bitpack): New function.
      	(lto_output_location): Use it.
      	(lto_output_tree_ref): Use output_record_start.
      	(pack_ts_type_common_value_fields): Pack aliagn & alias set in var len values.
      	* lto-streamer-in.c (string_for_index): Break out from ...; offset values by 1.
      	(input_string_internal): ... here; 
      	(input_string_cst, input_identifier, lto_input_string): Update handling of
      	NULL strings.
      	(lto_input_location_bitpack): New function
      	(lto_input_location): Use it.
      	(unpack_ts_type_common_value_fields): Pack align & alias in var len values.
      	* lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
      	bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
      	(bp_pack_value): Sanity check the value range.
      	* lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
      	New functions.
      	* lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
      	New functions.
      
      From-SVN: r174325
      Jan Hubicka committed
    • picochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down the floor. · dc38fc2e
              * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
              call_arg_location instructions down the floor.
      
      From-SVN: r174322
      Hariharan Sandanagobalane committed
    • re PR bootstrap/49173 (No rule to make target… · ad5f3d7b
      re PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc-std.ver', needed by `libgcc.map'.)
      
      	PR bootstrap/49173
      	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
      	libgcc-std.ver in the build directory.
      	* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/sh/t-linux (SHLIB_MAPFILES): Likewise.
      
      From-SVN: r174321
      Bernd Schmidt committed
    • re PR c++/47721 ([C++0x] Updated friendship rules?) · 866e4146
      	PR c++/47721
      	* parser.c (cp_parser_member_declaration): Allow friend T.
      	* friend.c (make_friend_class): Ignore non-classes.
      	* pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM.
      
      From-SVN: r174319
      Jason Merrill committed
    • DR 1004 · 5ac537d7
      	DR 1004
      	* pt.c (convert_template_argument): Don't complain about using
      	injected-class-name as template template argument.
      
      From-SVN: r174318
      Jason Merrill committed
    • re PR c++/47956 ([C++0x] gcc accepts static data member declaration with… · 7c999b57
      re PR c++/47956 ([C++0x] gcc accepts static data member declaration with initializer for non-const literal type if type-specifier is auto)
      
      	PR c++/47956
      	* decl.c (check_static_variable_definition): Now static.
      	(cp_finish_decl): Call it here.
      	(grokdeclarator): Not here.
      	* pt.c (instantiate_class_template_1): Or here.
      	* cp-tree.h: Don't declare it.
      
      From-SVN: r174317
      Jason Merrill committed
    • Daily bump. · 8fd1dd14
      From-SVN: r174315
      GCC Administrator committed
  2. 26 May, 2011 24 commits
    • * gcc.dg/march.c: Ignore a note for some targets. · 206a00ec
      From-SVN: r174310
      Janis Johnson committed
    • re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in… · 574e418a
      re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
      
      2011-05-26  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/49154
      	* ira.c (setup_pressure_classes): Process class without sublcasses
      	as a candidate for pressure classes.
      
      From-SVN: r174309
      Vladimir Makarov committed
    • detect C++ errors to fix 2288 and 18770 · 1eb2a14d
      detect C++ errors to fix 2288 and 18770
      gcc/cp/
      	PR c++/2288
      	PR c++/18770
      	* name-lookup.h (enum scope_kind): Add sk_cond.
      	* name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
      	Detect and report error for redeclaration from for-init or if
      	or switch condition.
      	(begin_scope): Handle sk_cond.
      	* semantics.c (begin_if_stmt): Use sk_cond.
      	(begin switch_stmt): Ditto.
      gcc/testsuite/
      	PR c++/2288
      	PR c++/18770
      	* g++.old-deja/g++.jason/cond.C: Remove xfails.
      	* g++.dg/parse/pr18770.C: New test.
      	* g++.dg/cpp0x/range-for5.C: Add dg-error marker.
      
      Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
      
      From-SVN: r174307
      Janis Johnson committed
    • re PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements) · 6a1a787e
      gcc/
      	PR rtl-optimization/48575
      	* genrecog.c (position_type): New enum.
      	(position): New structure.
      	(decision): Use position structure instead of a string.
      	(root_pos, peep2_insn_pos_list): New variables.
      	(next_position, compare_positions): New functions.
      	(new_decision): Use position structures instead of strings.
      	(maybe_both_true): Likewise.
      	(change_state): Likewise.
      	(write_tree): Likewise.
      	(make_insn_sequence): Likewise.
      
      From-SVN: r174305
      Richard Sandiford committed
    • re PR c++/48211 ([C++0x] Segment Fault When Compiling) · f256f612
      	PR c++/48211
      	* name-lookup.h (cp_class_binding): Make base a pointer.
      	* name-lookup.c (new_class_binding): Adjust.
      	(poplevel_class): Adjust.
      
      From-SVN: r174303
      Jason Merrill committed
    • [multiple changes] · aed5574e
      2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
      	    Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48955
      	* trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
      	changed to GFC_ENABLE_REVERSE.
      	* trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
      	to GFC_INHIBIT_REVERSE.
      	* gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
      	GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
      	* dependency.c (gfc_dep_resolver): Change names for elements of
      	gfc_reverse as necessary. Change the logic so that forward
      	dependences are remembered as well as backward ones. When both
      	have appeared, force a temporary.
      
      2011-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48955
      	* gfortran.dg/dependency_40.f90 : New test.
      
      From-SVN: r174302
      Paul Thomas committed
    • re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays]) · b8ff4e88
      2011-05-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
              * trans-decl.c (has_coarray_vars, caf_init_block,
              gfor_fndecl_caf_register): New file-global variables.
              (gfc_finish_var_decl): Make sure that coarrays in main are static.
              (gfc_build_qualified_array): Generate coarray token variable.
              (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
              (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
              (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
              static coarrays.
              (generate_local_decl): Check for local coarrays.
              (create_main_function): SYNC ALL before calling MAIN.
              (generate_coarray_sym_init): Register static coarray.
              (generate_coarray_init): Generate CAF registering constructor
              function.
              (gfc_generate_function_code): Call it, if needed, do not create
              cgraph twice.
              (gfc_generate_module_vars, gfc_process_block_locals): Call
              generate_coarray_init.
              * trans-types.c (gfc_get_nodesc_array_type): Generate pointers
              * for
              -fcoarray=lib.
              * trans.h (gfor_fndecl_caf_register): New variable.
              (lang_type): New element caf_token.
              (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
      
      2011-05-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.dg/coarray/registering_1.f90: New.
      
      From-SVN: r174301
      Tobias Burnus committed
    • make TS_BLOCK a substructure of TS_BASE · 92e948a8
      make TS_BLOCK a substructure of TS_BASE
      gcc/
      	* tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
      	TS_BASE instead of TS_COMMON.
      	(find_decls_types_r): Check for TS_TYPED structure before looking at
      	TREE_TYPE.
      	* tree.h (struct tree_block): Inherit from tree_base, not tree_common.
      	Add chain field.
      	(BLOCK_CHAIN): Use new chain field.
      
      gcc/c-family/
      	* c-common.c (warning_candidate_p): Check for BLOCKs.
      
      gcc/java/
      	* decl.c (poplevel): Don't access TREE_TYPE of BLOCKs.
      	* expr.c (build_jni_stub): Likewise.
      
      From-SVN: r174300
      Nathan Froyd committed
    • lto.c (uniquify_nodes): Fix bug in one of the previous changes. · d74be317
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	lto/
      	* lto.c (uniquify_nodes): Fix bug in one of the previous changes.
      
      From-SVN: r174296
      Richard Guenther committed
    • list.cc: Use noexcept per the FDIS. · d3677132
      2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* src/list.cc: Use noexcept per the FDIS.
      	* src/compatibility-list-2.cc: Likewise.
      	* include/debug/set.h: Likewise.
      	* include/debug/unordered_map: Likewise.
      	* include/debug/multiset.h: Likewise.
      	* include/debug/forward_list: Likewise.
      	* include/debug/unordered_set: Likewise.
      	* include/debug/vector: Likewise.
      	* include/debug/map.h: Likewise.
      	* include/debug/deque: Likewise.
      	* include/debug/list: Likewise.
      	* include/debug/multimap.h: Likewise.
      	* include/profile/set.h: Likewise.
      	* include/profile/unordered_map: Likewise.
      	* include/profile/multiset.h: Likewise.
      	* include/profile/forward_list: Likewise.
      	* include/profile/vector: Likewise.
      	* include/profile/unordered_set: Likewise.
      	* include/profile/map.h: Likewise.
      	* include/profile/deque: Likewise.
      	* include/profile/list: Likewise.
      	* include/profile/multimap.h: Likewise.
      	* include/bits/hashtable.h: Likewise.
      	* include/bits/stl_list.h: Likewise.
      	* include/bits/stl_map.h: Likewise.
      	* include/bits/hashtable_policy.h: Likewise.
      	* include/bits/stl_set.h: Likewise.
      	* include/bits/forward_list.h: Likewise.
      	* include/bits/stl_multimap.h: Likewise.
      	* include/bits/stl_vector.h: Likewise.
      	* include/bits/stl_deque.h: Likewise.
      	* include/bits/stl_multiset.h: Likewise.
      	* include/bits/stl_bvector.h: Likewise.
      	* include/bits/stl_tree.h: Likewise.
      
      From-SVN: r174295
      Paolo Carlini committed
    • rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also. · c61e40d3
              * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
              moves expensive on Power7 also.
      
      From-SVN: r174292
      Pat Haugen committed
    • fold-const.c (fold_unary_loc): Remove bogus code. · 1f498652
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (fold_unary_loc): Remove bogus code.
      
      From-SVN: r174290
      Richard Guenther committed
    • fix pr marker · 298942dc
      From-SVN: r174288
      Jason Merrill committed
    • make TS_IDENTIFIER be a substructure of TS_TYPED · a2fc3e63
      make TS_IDENTIFIER be a substructure of TS_TYPED
      gcc/
      	* tree.h (struct tree_identifier): Inherit from tree_typed, not
      	tree_common.
      	(HT_IDENT_TO_GCC_IDENT): Adjust for said change.
      	* tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
      	TS_BASE instead of TS_COMMON.
      	* varasm.c (assemble_name): Remove assert.
      
      gcc/c-family/
      	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
      	not tree_common.
      
      From-SVN: r174286
      Nathan Froyd committed
    • re PR c++/48424 (C++0x parameter packs expansion problem) · b6139926
      	PR c++/48424
      	* decl.c (grokparms): Function parameter packs don't need to
      	go at the end.
      	* pt.c (type_unification_real): But they aren't deduced otherwise.
      
      From-SVN: r174285
      Jason Merrill committed
    • Makefile.in (srcdirify): Change order so that libgcc_objdir is substituted first. · d11bf18f
      	* Makefile.in (srcdirify): Change order so that libgcc_objdir is
      	substituted first.
      	* libgcc-std.ver: Delete file.
      
      From-SVN: r174284
      Bernd Schmidt committed
    • re PR tree-optimization/48702 (optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu) · ac8e1875
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/48702
      	* tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
      	only when we know the base address is within bounds.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
      	assume the base address of TARGET_MEM_REFs is in bounds.
      
      	* gcc.dg/torture/pr48702.c: New testcase.
      
      From-SVN: r174282
      Richard Guenther committed
    • re PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ declared… · 7e32e652
      re PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ declared ‘static’ but never defined)
      
      	PR target/49099
      	* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
      	declaration in TARGET_SOLARIS.
      
      From-SVN: r174279
      Rainer Orth committed
    • picochip.md (cbranchhi4): No :CC for match_operator. · 43660e0b
              * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
                The instruction is then expanded explicitly. 
              (supported_compare): Callable instruction.
              (compare): Likewise.
      
      From-SVN: r174277
      Hariharan Sandanagobalane committed
    • Fixed one of my last ChangeLog entries · 7f344fab
      From-SVN: r174276
      Nicola Pero committed
    • tree-prof.exp: Check for -fprofile-generate support. · 3f5cb251
       gcov-profile/48845
      	* g++.dg/tree-prof/tree-prof.exp: Check for -fprofile-generate
      	support.
      	* gcc.dg/matrix/matrix.exp: Likewise.
      	* gcc.dg/tree-prof/tree-prof.exp: Likewise.
      	* lib/target-supports-dg.exp (dg-require-profiling): Don't pass
      	line number to check_profiling_available.
      	* lib/target-supports.exp (check_profiling_available): Account for
      	this.
      	Require TLS runtime support with -fprofile-generate.
      	* lib/profopt.exp (profopt-execute): Add TLS options for
      	-fprofile-generate.
      	* gcc.dg/pr47793.c: Add dg-require-profiling "-fprofile-generate".
      
      From-SVN: r174275
      Rainer Orth committed
    • re PR c++/49165 (ICE on for-loop/throw combination) · 1537737f
      	PR c++/49165
      	* gimplify.c (shortcut_cond_r): Don't special case
      	COND_EXPRs if they have void type on one of their arms.
      
      	* g++.dg/eh/cond5.C: New test.
      
      From-SVN: r174273
      Jakub Jelinek committed
    • haifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce duplication... · 7b1ac803
      	* haifa-sched.c (schedule-block): Reorder the inner scheduling loop
      	to reduce duplication, and to achieve a slightly more logical order
      	of operations.
      
      From-SVN: r174271
      Bernd Schmidt committed
    • re PR tree-optimization/49161 (Fix VRP on switch stmts) · 1aa9438f
      	PR tree-optimization/49161
      	* tree-vrp.c (struct case_info): New type.
      	(compare_case_labels): Sort case_info structs instead of
      	trees, and not primarily by CASE_LABEL uids but by
      	label_for_block indexes.
      	(find_switch_asserts): Put case labels into struct case_info
      	array instead of TREE_VEC, adjust sorting, compare label_for_block
      	values instead of CASE_LABELs.
      
      	* gcc.c-torture/execute/pr49161.c: New test.
      
      From-SVN: r174270
      Jakub Jelinek committed