1. 28 May, 2011 4 commits
  2. 27 May, 2011 36 commits
    • future: Use noexcept. · 84b63c01
      2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* include/std/future: Use noexcept.
      	* src/future.cc: Likewise.
      
      From-SVN: r174368
      Jonathan Wakely committed
    • Change export code to use the backend interface. · 76aa42d2
      	* go-backend.c: Include "output.h".
      	(go_write_export_data): New function.
      	* go-c.h (go_write_export_data): Declare.
      	* Make-lang.in (go/go-backend.o): Depend on output.h.
      	(go/export.o): Depend on $(GO_C_H).  Do not depend on
      	$(MACHMODE_H), output.h, or $(TARGET_H).
      
      From-SVN: r174366
      Ian Lance Taylor committed
    • thread (this_thread::sleep_until): Move after sleep_for. · d1129441
      2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* include/std/thread (this_thread::sleep_until): Move after sleep_for.
      
      From-SVN: r174365
      Jonathan Wakely committed
    • re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays]) · 5aacb11e
      2011-05-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * check.c (gfc_check_associated, gfc_check_null): Add coindexed
              * check.
              * match.c (gfc_match_nullify): Ditto.
              * resolve.c (resolve_deallocate_expr): Ditto.
              * trans-types.c (gfc_get_nodesc_array_type): Don't set
              * restricted
              for nonpointers.
      
      2011-05-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.dg/coarray_22.f90: New.
      
      From-SVN: r174364
      Tobias Burnus committed
    • re PR other/48981 (bootstrap-lto -O3 produces miscompiled, broken gcc) · fc64b448
      2011-05-27  Andrew Pinski  <pinskia@gmail.com>
      
      	PR middle-end/48981
      	* gengtype.c (vec_prefix_type): New function.
      	(note_def_vec): Use vec_prefix_type and change the length
      	attribute to be based on the prefix.
      	* vec.c: Include coretypes.h before vec.h.
      	(struct vec_prefix): Remove.
      	(vec_gc_p_reserve): Change the offsetof to sizeof.
      	(vec_gc_p_reserve_exact): Likewise.
      	(vec_heap_p_reserve): Likewise.
      	(vec_heap_p_reserve_exact): Likewise.
      	(vec_stack_o_reserve_1): Copy from +1 instead of from vec.
      	(vec_stack_p_reserve): Change the offsetof to sizeof.
      	(vec_stack_p_reserve_exact): Likewise.
      	* vec.h (struct vec_prefix): New struct definition.
      	(VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
      	(VEC_T_GTY(T,B)): Likewise.
      	(DEF_VEC_FUNC_P(T)): Use prefix field.
      	(DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
      	(DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
      
      From-SVN: r174359
      Andrew Pinski committed
    • re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc) · 226855f0
      2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/46728
      	* gcc.target/powerpc/pr46728-1.c: New.
      	* gcc.target/powerpc/pr46728-2.c: New.
      	* gcc.target/powerpc/pr46728-3.c: New.
      	* gcc.target/powerpc/pr46728-4.c: New.
      	* gcc.target/powerpc/pr46728-5.c: New.
      	* gcc.dg/pr46728-6.c: New.
      	* gcc.target/powerpc/pr46728-7.c: New.
      	* gcc.target/powerpc/pr46728-8.c: New.
      	* gcc.dg/pr46728-9.c: New.
      	* gcc.target/powerpc/pr46728-10.c: New.
      	* gcc.target/powerpc/pr46728-11.c: New.
      	* gcc.dg/pr46728-12.c: New.
      	* gcc.target/powerpc/pr46728-13.c: New.
      	* gcc.target/powerpc/pr46728-14.c: New.
      	* gcc.target/powerpc/pr46728-15.c: New.
      	* gcc.target/powerpc/pr46728-16.c: New.
      
      From-SVN: r174358
      Bill Schmidt committed
    • re PR c++/47132 ([C++0x] decltype can't deduce some operator return types when… · a47d328f
      re PR c++/47132 ([C++0x] decltype can't deduce some operator return types when defining an auto function's return)
      
      	PR c++/47132
      	* mangle.c (write_expression): Handle MODOP_EXPR.
      
      From-SVN: r174357
      Jason Merrill committed
    • re PR c++/49176 ([c++0x] valid code rejected with "error: uninitialized const") · 69cf9a1c
      	PR c++/49176
      	* g++.dg/template/const5.C: New.
      
      From-SVN: r174356
      Jason Merrill committed
    • re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler… · 1fbbe7d6
      re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x)
      
      	PR c++/47277
      	* parser.c (cp_parser_unqualified_id): Don't check
      	constructor_name_p for enums.
      
      From-SVN: r174355
      Jason Merrill committed
    • re PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using std::function)) · 6d258f31
      	PR c++/47687
      	* pt.c (dependent_type_p_r): Avoid infinite recursion.
      
      From-SVN: r174354
      Jason Merrill committed
    • re PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic) · 87fd3cf1
      	PR c++/48284
      	* error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
      	with INDIRECT_REF of REFERENCE_TYPE.
      
      From-SVN: r174353
      Jason Merrill committed
    • re PR c++/49181 ([C++0x] Error reporting routines re-entered) · 04536942
      	PR c++/49181
      	* pt.c (get_mostly_instantiated_function_type): Use push_access_scope.
      
      From-SVN: r174352
      Jason Merrill committed
    • re PR c++/49165 (ICE on for-loop/throw combination) · 4cc4f2f4
      	PR c++/49165
      	* c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
      	C++ don't call c_common_truthvalue_conversion on void type arms.
      
      	* g++.dg/eh/cond6.C: New test.
      
      From-SVN: r174350
      Jakub Jelinek committed
    • re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc) · ba869341
      2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/46728
      	* tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
      	(powi_as_mults): Add gimple_set_location.
      	(build_and_insert_call): New.
      	(gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
      	0.5, 0.25, 0.75, 1./3., or 1./6.
      
      From-SVN: r174349
      Bill Schmidt committed
    • re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3) · 2514987f
      2011-05-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/48820
              * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
              * intrinsic.c (add_functions): Add rank intrinsic.
              (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
              * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add
              * prototypes.
              * simplify.c (gfc_simplify_rank): New function.
              * intrinsic.texi (RANK): Add description for rank intrinsic.
              * check.c (gfc_check_rank): New function.
      
      2011-05-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/48820
              * gfortran.dg/rank_3.f90: New.
              * gfortran.dg/rank_4.f90: New.
      
      From-SVN: r174348
      Tobias Burnus committed
    • contrib.texi: Update copyright years. · d296760d
      2011-05-27  Alexander Monakov  <amonakov@ispras.ru>
      
      	* doc/contrib.texi: Update copyright years.
      	(Contributors): Add Zdenek Sojka.
      
      From-SVN: r174344
      Alexander Monakov committed
    • move TS_STATEMENT_LIST to be a substructure of TS_TYPED · 38e01f9e
      move TS_STATEMENT_LIST to be a substructure of TS_TYPED
      gcc/
      	* c-decl.c (c_push_function_context): Copy the current statement
      	list stack.
      	(add_stmt): Check building_stmt_list_p and push_stmt if necessary.
      	(finish_struct): Call building_stmt_list_p instead of checking
      	cur_stmt_list.
      	* c-parser.c (c_parser_postfix_expression): Likewise.
      	* c-typeck.c (c_end_compound_stmt): Likewise.
      	* print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
      	* tree-iterator.c (stmt_list_cache): Change to a VEC.
      	(alloc_stmt_list): Adjust for stmt_list_cache's new type.
      	(free_stmt_list): Likewise.
      	* tree.h (struct tree_statement_list): Include typed_tree instead
      	of tree_common.
      	* tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
      	as TS_TYPED instead of TS_COMMON.
      
      gcc/c-family/
      	* c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
      	(stmt_list_stack): Define.
      	(cur_stmt_list): Adjust for new type of x_cur_stmt_list.
      	* c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
      
      gcc/cp/
      	* cp-tree.h (building_stmt_tree): Delete.
      	* decl.c (save_function_data): Tweak initializer for x_cur_stmt_list.
      	(build_aggr_init_full_exprs): Call building_stmt_list_p
      	instead of building_stmt_tree.
      	(initialize_local_var): Likewise.
      	(finish_function): Likewise.
      	* decl2.c (finish_anon_union): Likewise.
      	* init.c (begin_init_stmts): Likewise.
      	(finish_init_stmts): Likewise.
      	(expand_aggr_init_1): Likewise.
      	* name-lookup.c (do_local_using_decl): Likewise.
      	(do_namespace_alias): Likewise.
      	(do_using_directive): Likewise.
      	(cp_emit_debug_info_for_using): Likewise.
      	* semantics.c (add_stmt): Assert that stmt_list_stack is non-empty.
      
      From-SVN: r174343
      Nathan Froyd committed
    • re PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected)) · e330aa5b
      2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/49187
      	* include/parallel/losertree.h: Add missing using declarations
      	of _Base::_M_comp.
      	* include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
      	* include/parallel/multiway_merge.h: Include <parallel/
      	multiseq_selection.h>, forward declare __merge_advance.
      	* include/parallel/multiseq_selection.h: Don't include <parallel/
      	sort.h> here.
      	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
      	qualification of upper_bound.
      
      	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
      	Use dg-require-debug-mode.
      	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
      	Likewise.
      	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
      	Likewise.
      
      	* include/parallel/algo.h: Minor uglification fixes.
      
      From-SVN: r174342
      Paolo Carlini committed
    • tree-ssa-pr43411.C: Rename function to be inlined and replace dump search. · 0219becc
      	* g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and
      	replace dump search.
      
      From-SVN: r174341
      Janis Johnson committed
    • configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt · 8950516e
      2011-05-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      	    Uros Bizjak <ubizjak@gmail.com>
      
      	* configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
      	(HAVE_AS_IX86_TLSGDPTL): Define.
      	(gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
      	(HAVE_AS_IX86_TLSLDMPLT): Define.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/i386/i386.c (ix86_print_operand): Handle code 'p'.
      	* config/i386/i386.md (*tls_global_dynamic_32_gnu): If
      	TARGET_SUN_TLS, use @tlsgdplt or @plt.
      	(*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
      	(*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
      	@tlsldmplt or @plt.
      	(*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
      
      Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
      
      From-SVN: r174340
      Rainer Orth committed
    • 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