platform/upstream/gcc.git
13 years agore PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using std::function))
Jason Merrill [Fri, 27 May 2011 19:32:07 +0000 (15:32 -0400)]
re PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using std::function))

PR c++/47687
* pt.c (dependent_type_p_r): Avoid infinite recursion.

From-SVN: r174354

13 years agore PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic)
Jason Merrill [Fri, 27 May 2011 19:31:59 +0000 (15:31 -0400)]
re PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic)

PR c++/48284
* error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
with INDIRECT_REF of REFERENCE_TYPE.

From-SVN: r174353

13 years agore PR c++/49181 ([C++0x] Error reporting routines re-entered)
Jason Merrill [Fri, 27 May 2011 19:31:51 +0000 (15:31 -0400)]
re PR c++/49181 ([C++0x] Error reporting routines re-entered)

PR c++/49181
* pt.c (get_mostly_instantiated_function_type): Use push_access_scope.

From-SVN: r174352

13 years agore PR c++/49165 (ICE on for-loop/throw combination)
Jakub Jelinek [Fri, 27 May 2011 19:19:36 +0000 (21:19 +0200)]
re PR c++/49165 (ICE on for-loop/throw combination)

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

13 years agore PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on...
Bill Schmidt [Fri, 27 May 2011 19:11:19 +0000 (19:11 +0000)]
re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)

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

13 years agore PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
Tobias Burnus [Fri, 27 May 2011 18:51:31 +0000 (20:51 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)

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

13 years ago* MAINTAINERS (Write After Approval): Update my email address.
Nathan Froyd [Fri, 27 May 2011 18:13:42 +0000 (18:13 +0000)]
* MAINTAINERS (Write After Approval): Update my email address.

From-SVN: r174347

13 years agocontrib.texi: Update copyright years.
Alexander Monakov [Fri, 27 May 2011 17:54:35 +0000 (21:54 +0400)]
contrib.texi: Update copyright years.

2011-05-27  Alexander Monakov  <amonakov@ispras.ru>

* doc/contrib.texi: Update copyright years.
(Contributors): Add Zdenek Sojka.

From-SVN: r174344

13 years agomove TS_STATEMENT_LIST to be a substructure of TS_TYPED
Nathan Froyd [Fri, 27 May 2011 17:43:44 +0000 (17:43 +0000)]
move TS_STATEMENT_LIST to be a substructure of TS_TYPED

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

13 years agore PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))
Paolo Carlini [Fri, 27 May 2011 16:35:36 +0000 (16:35 +0000)]
re PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))

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

13 years agotree-ssa-pr43411.C: Rename function to be inlined and replace dump search.
Janis Johnson [Fri, 27 May 2011 16:11:27 +0000 (16:11 +0000)]
tree-ssa-pr43411.C: Rename function to be inlined and replace dump search.

* g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and
replace dump search.

From-SVN: r174341

13 years agoconfigure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
Rainer Orth [Fri, 27 May 2011 15:45:56 +0000 (15:45 +0000)]
configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt

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

13 years agobit_packed_array5.ads: Move dg directive to...
Eric Botcazou [Fri, 27 May 2011 14:25:39 +0000 (14:25 +0000)]
bit_packed_array5.ads: Move dg directive to...

* gnat.dg/bit_packed_array5.ads: Move dg directive to...
* gnat.dg/bit_packed_array5.adb: ...here.

From-SVN: r174338

13 years agore PR c++/42056 (ICE with invalid use of auto in template)
Paolo Carlini [Fri, 27 May 2011 14:21:33 +0000 (14:21 +0000)]
re PR c++/42056 (ICE with invalid use of auto in template)

/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

13 years agosched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond.
Bernd Schmidt [Fri, 27 May 2011 14:17:36 +0000 (14:17 +0000)]
sched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond.

* 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

13 years ago920711-1.x: Add -fwrapv.
Richard Guenther [Fri, 27 May 2011 14:13:02 +0000 (14:13 +0000)]
920711-1.x: Add -fwrapv.

2011-05-27  Richard Guenther  <rguenther@suse.de>

* gcc.c-torture/execute/920711-1.x: Add -fwrapv.

From-SVN: r174335

13 years ago920612-1.x: Add -fwrapv.
Richard Guenther [Fri, 27 May 2011 14:01:29 +0000 (14:01 +0000)]
920612-1.x: Add -fwrapv.

2011-05-27  Richard Guenther  <rguenther@suse.de>

* gcc.c-torture/execute/920612-1.x: Add -fwrapv.

From-SVN: r174334

13 years agoIndex...
Bill Schmidt [Fri, 27 May 2011 13:29:57 +0000 (13:29 +0000)]
Index...

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

13 years agore PR middle-end/49189 (infinite recursion in constant folder)
Richard Guenther [Fri, 27 May 2011 13:13:28 +0000 (13:13 +0000)]
re PR middle-end/49189 (infinite recursion in constant folder)

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

13 years agohaifa-sched.c (sched_scan_info): Remove.
Bernd Schmidt [Fri, 27 May 2011 10:47:48 +0000 (10:47 +0000)]
haifa-sched.c (sched_scan_info): Remove.

* 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

13 years agore PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c)
Richard Biener [Fri, 27 May 2011 10:32:14 +0000 (10:32 +0000)]
re PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c)

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

13 years agolto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means...
Jan Hubicka [Fri, 27 May 2011 09:57:40 +0000 (11:57 +0200)]
lto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means NULL string.

* 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

13 years agopicochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down...
Hariharan Sandanagobalane [Fri, 27 May 2011 08:27:23 +0000 (08:27 +0000)]
picochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down the floor.

        * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
        call_arg_location instructions down the floor.

From-SVN: r174322

13 years agore PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc...
Bernd Schmidt [Fri, 27 May 2011 07:53:51 +0000 (07:53 +0000)]
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

13 years agore PR c++/47721 ([C++0x] Updated friendship rules?)
Jason Merrill [Fri, 27 May 2011 04:04:40 +0000 (00:04 -0400)]
re PR c++/47721 ([C++0x] Updated friendship rules?)

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

13 years agoDR 1004
Jason Merrill [Fri, 27 May 2011 04:01:56 +0000 (00:01 -0400)]
DR 1004

DR 1004
* pt.c (convert_template_argument): Don't complain about using
injected-class-name as template template argument.

From-SVN: r174318

13 years agore PR c++/47956 ([C++0x] gcc accepts static data member declaration with initializer...
Jason Merrill [Fri, 27 May 2011 04:01:46 +0000 (00:01 -0400)]
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

13 years agoDaily bump.
GCC Administrator [Fri, 27 May 2011 00:17:38 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r174315

13 years ago* gcc.dg/march.c: Ignore a note for some targets.
Janis Johnson [Thu, 26 May 2011 22:22:17 +0000 (22:22 +0000)]
* gcc.dg/march.c: Ignore a note for some targets.

From-SVN: r174310

13 years agore PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressur...
Vladimir Makarov [Thu, 26 May 2011 21:01:57 +0000 (21:01 +0000)]
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

13 years agodetect C++ errors to fix 2288 and 18770
Janis Johnson [Thu, 26 May 2011 20:15:22 +0000 (20:15 +0000)]
detect C++ errors to fix 2288 and 18770

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

13 years agore PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements)
Richard Sandiford [Thu, 26 May 2011 19:16:05 +0000 (19:16 +0000)]
re PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements)

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

13 years agore PR c++/48211 ([C++0x] Segment Fault When Compiling)
Jason Merrill [Thu, 26 May 2011 18:30:13 +0000 (14:30 -0400)]
re PR c++/48211 ([C++0x] Segment Fault When Compiling)

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

13 years ago[multiple changes]
Paul Thomas [Thu, 26 May 2011 18:19:36 +0000 (18:19 +0000)]
[multiple changes]

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

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Thu, 26 May 2011 17:41:34 +0000 (19:41 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

13 years agomake TS_BLOCK a substructure of TS_BASE
Nathan Froyd [Thu, 26 May 2011 17:38:51 +0000 (17:38 +0000)]
make TS_BLOCK a substructure of TS_BASE

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

13 years agolto.c (uniquify_nodes): Fix bug in one of the previous changes.
Richard Guenther [Thu, 26 May 2011 15:53:23 +0000 (15:53 +0000)]
lto.c (uniquify_nodes): Fix bug in one of the previous changes.

2011-05-26  Richard Guenther  <rguenther@suse.de>

lto/
* lto.c (uniquify_nodes): Fix bug in one of the previous changes.

From-SVN: r174296

13 years agolist.cc: Use noexcept per the FDIS.
Paolo Carlini [Thu, 26 May 2011 15:35:02 +0000 (15:35 +0000)]
list.cc: Use noexcept per the FDIS.

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

13 years agors6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also.
Pat Haugen [Thu, 26 May 2011 15:09:31 +0000 (15:09 +0000)]
rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also.

        * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
        moves expensive on Power7 also.

From-SVN: r174292

13 years agofold-const.c (fold_unary_loc): Remove bogus code.
Richard Guenther [Thu, 26 May 2011 13:54:23 +0000 (13:54 +0000)]
fold-const.c (fold_unary_loc): Remove bogus code.

2011-05-26  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_unary_loc): Remove bogus code.

From-SVN: r174290

13 years agofix pr marker
Jason Merrill [Thu, 26 May 2011 13:46:13 +0000 (09:46 -0400)]
fix pr marker

From-SVN: r174288

13 years agomake TS_IDENTIFIER be a substructure of TS_TYPED
Nathan Froyd [Thu, 26 May 2011 13:29:42 +0000 (13:29 +0000)]
make TS_IDENTIFIER be a substructure of TS_TYPED

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

13 years agore PR c++/48424 (C++0x parameter packs expansion problem)
Jason Merrill [Thu, 26 May 2011 13:22:51 +0000 (09:22 -0400)]
re PR c++/48424 (C++0x parameter packs expansion problem)

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

13 years agoMakefile.in (srcdirify): Change order so that libgcc_objdir is substituted first.
Bernd Schmidt [Thu, 26 May 2011 13:12:11 +0000 (13:12 +0000)]
Makefile.in (srcdirify): Change order so that libgcc_objdir is substituted first.

* Makefile.in (srcdirify): Change order so that libgcc_objdir is
substituted first.
* libgcc-std.ver: Delete file.

From-SVN: r174284

13 years agore PR tree-optimization/48702 (optimization regression with gcc-4.6 on x86_64-unknown...
Richard Guenther [Thu, 26 May 2011 13:01:48 +0000 (13:01 +0000)]
re PR tree-optimization/48702 (optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu)

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

13 years agore PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ declared ‘static...
Rainer Orth [Thu, 26 May 2011 12:44:16 +0000 (12:44 +0000)]
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

13 years agopicochip.md (cbranchhi4): No :CC for match_operator.
Hariharan Sandanagobalane [Thu, 26 May 2011 12:21:11 +0000 (12:21 +0000)]
picochip.md (cbranchhi4): No :CC for match_operator.

        * 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

13 years agoFixed one of my last ChangeLog entries
Nicola Pero [Thu, 26 May 2011 10:51:43 +0000 (10:51 +0000)]
Fixed one of my last ChangeLog entries

From-SVN: r174276

13 years agotree-prof.exp: Check for -fprofile-generate support.
Rainer Orth [Thu, 26 May 2011 10:33:06 +0000 (10:33 +0000)]
tree-prof.exp: Check for -fprofile-generate support.

 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

13 years agore PR c++/49165 (ICE on for-loop/throw combination)
Jakub Jelinek [Thu, 26 May 2011 10:25:21 +0000 (12:25 +0200)]
re PR c++/49165 (ICE on for-loop/throw combination)

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

13 years agohaifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce duplicati...
Bernd Schmidt [Thu, 26 May 2011 10:16:03 +0000 (10:16 +0000)]
haifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce duplication...

* 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

13 years agore PR tree-optimization/49161 (Fix VRP on switch stmts)
Jakub Jelinek [Thu, 26 May 2011 10:05:05 +0000 (12:05 +0200)]
re PR tree-optimization/49161 (Fix VRP on switch stmts)

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

13 years agoIn libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Thu, 26 May 2011 09:31:30 +0000 (09:31 +0000)]
In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>

In libobjc/:
2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>

* sendmsg.c: Reindented part of the file.  No non-trivial changes
in code.

From-SVN: r174269

13 years agoIn libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Thu, 26 May 2011 09:13:59 +0000 (09:13 +0000)]
In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com>

In libobjc/:
2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>

* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
not objc_lookupClass.

From-SVN: r174268

13 years agoRemove conflict marker
Eric Botcazou [Thu, 26 May 2011 08:53:05 +0000 (08:53 +0000)]
Remove conflict marker

From-SVN: r174267

13 years agoFix generation of vorn and vbic for Neon.
Ramana Radhakrishnan [Thu, 26 May 2011 08:07:45 +0000 (08:07 +0000)]
Fix generation of vorn and vbic for Neon.

From-SVN: r174266

13 years agore PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array)
Ira Rosen [Thu, 26 May 2011 07:50:09 +0000 (07:50 +0000)]
re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array)

        PR tree-optimization/49038
        * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
        Ensure at least one epilogue iteration if required by data
        accesses with gaps.
        * tree-vectorizer.h (struct _loop_vec_info): Add new field
        to mark loops that require peeling for gaps.
        * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
        (vect_get_known_peeling_cost): Take peeling for gaps into
        account.
        (vect_transform_loop): Generate epilogue if required by data
        access with gaps.
        * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
        loop as requiring an epilogue if there are gaps in the end of
        the strided group.

From-SVN: r174265

13 years agoAdjust gcc/testsuite/ChangeLog
Fabien Chêne [Thu, 26 May 2011 06:09:16 +0000 (08:09 +0200)]
Adjust gcc/testsuite/ChangeLog

From-SVN: r174264

13 years agopr25811-2.C: New.
Fabien Chêne [Thu, 26 May 2011 05:54:08 +0000 (07:54 +0200)]
pr25811-2.C: New.

2011-05-26  Fabien Chene  <fabien@gcc.gnu.org>
* g++.dg/init/pr25811-2.C: New.
* g++.dg/init/pr25811-3.C: New.
* g++.dg/init/pr25811-4.C: New.

From-SVN: r174263

13 years agogodump.c (go_format_type): Output the first field with a usable Go type, if any.
Ian Lance Taylor [Thu, 26 May 2011 04:41:19 +0000 (04:41 +0000)]
godump.c (go_format_type): Output the first field with a usable Go type, if any.

* godump.c (go_format_type): Output the first field with a usable
Go type, if any.

From-SVN: r174262

13 years agofix pr marker
Jason Merrill [Thu, 26 May 2011 02:28:59 +0000 (22:28 -0400)]
fix pr marker

From-SVN: r174259

13 years agore PR c++/48536 ([C++0x] Automatic Enumerator Incrementation is not compliant with...
Jason Merrill [Thu, 26 May 2011 02:23:02 +0000 (22:23 -0400)]
re PR c++/48536 ([C++0x] Automatic Enumerator Incrementation is not compliant with Clause 7.2/5)

PR c++/48536
* decl.c (build_enumerator): If incremented enumerator won't fit in
previous integral type, find one it will fit in.

From-SVN: r174258

13 years agore PR c++/48599 ([C++0x] no diagnostic for invalid use of auto with array declarator)
Jason Merrill [Thu, 26 May 2011 02:22:54 +0000 (22:22 -0400)]
re PR c++/48599 ([C++0x] no diagnostic for invalid use of auto with array declarator)

PR c++/48599
* decl.c (create_array_type_for_decl): Complain about array of auto.

From-SVN: r174257

13 years agore PR c++/49156 ([C++0x] Error reporting routines re-entered)
Jason Merrill [Thu, 26 May 2011 02:22:46 +0000 (22:22 -0400)]
re PR c++/49156 ([C++0x] Error reporting routines re-entered)

PR c++/49156
* error.c (dump_template_bindings): Set processing_template_decl
for a partial instantiation.

From-SVN: r174256

13 years agore PR c++/45401 ([C++0x] reference collapsing and reference qualifiers)
Jason Merrill [Thu, 26 May 2011 02:22:39 +0000 (22:22 -0400)]
re PR c++/45401 ([C++0x] reference collapsing and reference qualifiers)

PR c++/45401
* decl.c (grokdeclarator): Don't change type when adding rvalue ref
to another reference type.

From-SVN: r174255

13 years agostl_queue.h: Use noexcept per the FDIS.
Paolo Carlini [Thu, 26 May 2011 00:36:35 +0000 (00:36 +0000)]
stl_queue.h: Use noexcept per the FDIS.

2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_queue.h: Use noexcept per the FDIS.
* include/bits/stl_stack.h: Likewise.

From-SVN: r174254

13 years agogodump.c (go_format_type): Check for invalid type names, pointer target types, and...
Ian Lance Taylor [Thu, 26 May 2011 00:31:54 +0000 (00:31 +0000)]
godump.c (go_format_type): Check for invalid type names, pointer target types, and struct field types.

* godump.c (go_format_type): Check for invalid type names, pointer
target types, and struct field types.

From-SVN: r174253

13 years agoDaily bump.
GCC Administrator [Thu, 26 May 2011 00:19:16 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r174252

13 years agognu.ver: Correct last change, export instead at the existing @3.4.16.
Paolo Carlini [Thu, 26 May 2011 00:15:22 +0000 (00:15 +0000)]
gnu.ver: Correct last change, export instead at the existing @3.4.16.

2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

* config/abi/pre/gnu.ver: Correct last change, export instead
at the existing @3.4.16.
* configure.ac: Revert last change.
* testsuite/util/testsuite_abi.cc: Likewise.
* configure: Regenerate.

From-SVN: r174246

13 years agodocumentation_hacking.xml: Minor corrections.
Jonathan Wakely [Wed, 25 May 2011 23:56:07 +0000 (23:56 +0000)]
documentation_hacking.xml: Minor corrections.

2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/documentation_hacking.xml: Minor corrections.

From-SVN: r174245

13 years agomutex: Add doxygen comments.
Jonathan Wakely [Wed, 25 May 2011 23:49:11 +0000 (23:49 +0000)]
mutex: Add doxygen comments.

2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/mutex: Add doxygen comments.

From-SVN: r174244

13 years agognu.ver: Export recently added basic_streambuf and basic_stringbuf symbols @3.4.17.
Paolo Carlini [Wed, 25 May 2011 23:45:58 +0000 (23:45 +0000)]
gnu.ver: Export recently added basic_streambuf and basic_stringbuf symbols @3.4.17.

2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

* config/abi/pre/gnu.ver: Export recently added  basic_streambuf
and basic_stringbuf symbols @3.4.17.
* configure.ac: Update.
* testsuite/util/testsuite_abi.cc: Likewise.
* configure: Regenerate.

From-SVN: r174242

13 years agoguard.cc: Fix comments.
Jonathan Wakely [Wed, 25 May 2011 23:43:32 +0000 (23:43 +0000)]
guard.cc: Fix comments.

2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

* libsupc++/guard.cc: Fix comments.

From-SVN: r174241

13 years agore PR libstdc++/49060 (use of deleted memory in __gnu_cxx::hashtable::erase)
Ian Lance Taylor [Wed, 25 May 2011 23:09:14 +0000 (23:09 +0000)]
re PR libstdc++/49060 (use of deleted memory in __gnu_cxx::hashtable::erase)

PR libstdc++/49060
* include/backward/hashtable.h (hashtable::erase): Don't crash if
erasing first and another element with a reference to the other
element.
* testsuite/backward/hash_set/49060.cc: New.

From-SVN: r174240

13 years agoFixed typo in last ChangeLog entry
Nicola Pero [Wed, 25 May 2011 20:33:06 +0000 (20:33 +0000)]
Fixed typo in last ChangeLog entry

From-SVN: r174238

13 years agore PR c++/44311 ([C++0x] no error with switch over enum class and integer case)
Jason Merrill [Wed, 25 May 2011 20:02:41 +0000 (16:02 -0400)]
re PR c++/44311 ([C++0x] no error with switch over enum class and integer case)

PR c++/44311
* decl.c (case_conversion): New.
(finish_case_label): Use it.

From-SVN: r174231

13 years agoprint-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
Jason Merrill [Wed, 25 May 2011 19:52:18 +0000 (15:52 -0400)]
print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.

* print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
* cp/ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT.

From-SVN: r174230

13 years agore PR c++/45698 (C++0x Variadic Templates: Infinite template recursion rather than...
Jason Merrill [Wed, 25 May 2011 19:52:10 +0000 (15:52 -0400)]
re PR c++/45698 (C++0x Variadic Templates: Infinite template recursion rather than an error message)

PR c++/45698
* pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT.

From-SVN: r174229

13 years agore PR c++/46005 ([C++0x] Don't allow "auto" as the simple-type-specifier of a typedef)
Jason Merrill [Wed, 25 May 2011 19:52:02 +0000 (15:52 -0400)]
re PR c++/46005 ([C++0x] Don't allow "auto" as the simple-type-specifier of a typedef)

PR c++/46145
* decl.c (grokdeclarator): Complain about auto typedef.

From-SVN: r174228

13 years agore PR c++/46245 ([C++0x] rejects function with late-specified return type as a non...
Jason Merrill [Wed, 25 May 2011 19:51:54 +0000 (15:51 -0400)]
re PR c++/46245 ([C++0x] rejects function with late-specified return type as a non-type template parameter)

PR c++/46245
* decl.c (grokdeclarator): Complain later for auto parameter.
* pt.c (splice_late_return_type): Handle use in a template
type-parameter.

From-SVN: r174227

13 years agore PR c++/46696 ([C++0x] Implicit copy constructor can't construct array of subtype...
Jason Merrill [Wed, 25 May 2011 19:51:44 +0000 (15:51 -0400)]
re PR c++/46696 ([C++0x] Implicit copy constructor can't construct array of subtype with user-defined copy constructor.)

PR c++/46696
* typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN.

From-SVN: r174226

13 years agore PR c++/47184 ([C++0x] initialization construct interpreted as function declaration‏‏)
Jason Merrill [Wed, 25 May 2011 19:50:49 +0000 (15:50 -0400)]
re PR c++/47184 ([C++0x] initialization construct interpreted as function declaration‏‏)

PR c++/47184
* parser.c (cp_parser_parameter_declaration): Recognize
list-initialization.
(cp_parser_direct_declarator): Check for the closing
paren before parsing definitely.

From-SVN: r174225

13 years agosse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
Uros Bizjak [Wed, 25 May 2011 19:48:44 +0000 (21:48 +0200)]
sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.

* config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.

From-SVN: r174224

13 years agoPut back "register_operand" check in 32bit QI ext patterns.
H.J. Lu [Wed, 25 May 2011 19:27:56 +0000 (19:27 +0000)]
Put back "register_operand" check in 32bit QI ext patterns.

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.md (*movqi_extv_1)): Put back
"register_operand" check in "type" calculation.
(*movqi_extzv_2): Likewise.

From-SVN: r174223

13 years agoIn libobjc/: 2011-05-25 Richard Frith-Macdonald <rfm@gnu.org> David Ayers <ayers...
Richard Frith-Macdonald [Wed, 25 May 2011 18:54:40 +0000 (18:54 +0000)]
In libobjc/: 2011-05-25 Richard Frith-Macdonald <rfm@gnu.org> David Ayers <ayers@fsfe.org>

In libobjc/:
2011-05-25  Richard Frith-Macdonald <rfm@gnu.org>
    David Ayers  <ayers@fsfe.org>

PR libobjc/38037
* sendmsg.c: Include objc/hash.h.
(get_implementation): New function, mostly with code from get_imp
updated to support the new +initialize dispatch table logic.
(get_imp): Use get_implementation.
(__objc_responds_to): Updated to support the new +initialize
dispatch table logic.
(class_respondsToSelector): Likewise.
(objc_msg_lookup): Use get_implementation.
(__objc_init_install_dtable): Removed.
(__objc_install_methods_in_dtable): Updated arguments.
(__objc_install_dispatch_table_for_class): Renamed to
__objc_install_dtable_for_class and updated to support the new
+initialize dispatch table logic.
(__objc_update_dispatch_table_for_class): Updated to support the
new +initialize dispatch table logic.
(__objc_forward): Call get_implementation instead of get_imp.
(prepared_dtable_table): New.
(__objc_prepare_dtable_for_class): New.
(__objc_prepared_dtable_for_class): New.
(__objc_get_prepared_imp): New.
(__objc_install_prepared_dtable_for_class): New.

Co-Authored-By: David Ayers <ayers@fsfe.org>
From-SVN: r174221

13 years agorandom.h (random_device::min, max): Specify constexpr.
Paolo Carlini [Wed, 25 May 2011 17:55:40 +0000 (17:55 +0000)]
random.h (random_device::min, max): Specify constexpr.

2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/random.h (random_device::min, max): Specify constexpr.

From-SVN: r174219

13 years agoc-common.c (def_fn_type): Remove extra va_end.
Jakub Jelinek [Wed, 25 May 2011 17:26:23 +0000 (19:26 +0200)]
c-common.c (def_fn_type): Remove extra va_end.

* c-common.c (def_fn_type): Remove extra va_end.

* gcc-interface/utils.c (def_fn_type): Remove extra va_end.

From-SVN: r174218

13 years agoUpdate pause intrinsic.
H.J. Lu [Wed, 25 May 2011 17:18:29 +0000 (17:18 +0000)]
Update pause intrinsic.

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

* doc/extend.texi (X86 Built-in Functions): Update pause
intrinsic.

From-SVN: r174217

13 years agore PR bootstrap/49160 (Bootstrap failure)
Bernd Schmidt [Wed, 25 May 2011 16:42:23 +0000 (16:42 +0000)]
re PR bootstrap/49160 (Bootstrap failure)

PR bootstrap/49160
* libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
__divxc3, __divtc3): Wrap definitions in #ifndef.

From-SVN: r174216

13 years agofp16-compile-none-1.c: Update expected error.
Janis Johnson [Wed, 25 May 2011 16:30:27 +0000 (16:30 +0000)]
fp16-compile-none-1.c: Update expected error.

* gcc.target/arm/fp16-compile-none-1.c: Update expected error.
* g++.dg/abi/packed1.C: Suppress warning.
* g++.dg/warn/Wunused-parm-3.C: Likewise.
* g++.dg/template/stdarg1.C: Likewise.
* g++.dg/other/packed1.C: Remove arm from xfail list.

From-SVN: r174213

13 years agoReplace q_regs_operand with QIreg_operand in QI ext patterns.
H.J. Lu [Wed, 25 May 2011 16:19:36 +0000 (16:19 +0000)]
Replace q_regs_operand with QIreg_operand in QI ext patterns.

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

PR target/49142
* config/i386/i386.md (*movqi_extv_1_rex64): Remove
"register_operand" check and replace q_regs_operand with
QIreg_operand in "type" calculation.
(*movqi_extv_1): Likewise.
(*movqi_extzv_2_rex64): Likewise.
(*movqi_extzv_2): Likewise.

* config/i386/predicates.md (QIreg_operand): New.

From-SVN: r174211

13 years agotree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix type-based offset disambiguation...
Richard Guenther [Wed, 25 May 2011 15:20:36 +0000 (15:20 +0000)]
tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix type-based offset disambiguation...

2011-05-25  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
type-based offset disambiguation, streamline MEM_REF and
TARGET_MEM_REF handling.

From-SVN: r174206

13 years agore PR c++/48935 ([C++0x] Name lookup error at enum class)
Jason Merrill [Wed, 25 May 2011 14:35:17 +0000 (10:35 -0400)]
re PR c++/48935 ([C++0x] Name lookup error at enum class)

PR c++/48935
* parser.c (cp_parser_constructor_declarator_p): Don't check
constructor_name_p for enums.
(cp_parser_diagnose_invalid_type_name): Correct error message.

From-SVN: r174205

13 years agore PR c++/45418 ([C++0x] can't initialize array of non-trivial type with brace-init)
Jason Merrill [Wed, 25 May 2011 14:35:09 +0000 (10:35 -0400)]
re PR c++/45418 ([C++0x] can't initialize array of non-trivial type with brace-init)

PR c++/45418
* init.c (perform_member_init): Handle list-initialization
of array of non-trivial class type.

From-SVN: r174204

13 years agore PR c++/45080 ([C++0x] Rejects lambda to function pointer conversion inside functio...
Jason Merrill [Wed, 25 May 2011 14:35:00 +0000 (10:35 -0400)]
re PR c++/45080 ([C++0x] Rejects lambda to function pointer conversion inside function template)

PR c++/45080
* pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
* semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.

From-SVN: r174203

13 years agothread: Use noexcept throughout per the FDIS.
Paolo Carlini [Wed, 25 May 2011 14:32:06 +0000 (14:32 +0000)]
thread: Use noexcept throughout per the FDIS.

2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/thread: Use noexcept throughout per the FDIS.
* include/std/mutex: Likewise.

From-SVN: r174202

13 years agore PR c++/48292 ([C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in templ...
Jason Merrill [Wed, 25 May 2011 14:32:06 +0000 (10:32 -0400)]
re PR c++/48292 ([C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template")

PR c++/48292
* pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
function parameter pack.
(tsubst_pack_expansion): Likewise.

From-SVN: r174201

13 years agocp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has TS_COMMON.
Jason Merrill [Wed, 25 May 2011 14:31:56 +0000 (10:31 -0400)]
cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has TS_COMMON.

* cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has
TS_COMMON.

From-SVN: r174200

13 years agoRemove spurious ChangeLog entry
William Schmidt [Wed, 25 May 2011 13:49:29 +0000 (13:49 +0000)]
Remove spurious ChangeLog entry

From-SVN: r174198

13 years agoImplement x86 pause intrinsic.
H.J. Lu [Wed, 25 May 2011 13:42:58 +0000 (13:42 +0000)]
Implement x86 pause intrinsic.

gcc/

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
(bdesc_special_args): Add pause intrinsic.

* config/i386/i386.md (UNSPEC_PAUSE): New.
(pause): Likewise.
(*pause): Likewise.
* config/i386/ia32intrin.h (__pause): Likewise.

* doc/extend.texi (X86 Built-in Functions): Add documentation for
pause intrinsic.

gcc/testsuite/

2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>

 * gcc.target/i386/pause-1.c: New.

From-SVN: r174197