gcc.git
13 years agoUpdate to current version of Go library (revision 94d654be2064).
Ian Lance Taylor [Wed, 16 Mar 2011 23:05:44 +0000 (23:05 +0000)]
Update to current version of Go library (revision 94d654be2064).

From-SVN: r171076

13 years agoMake-lang.in (CXX_PARSER_H): New.
Diego Novillo [Wed, 16 Mar 2011 22:03:56 +0000 (18:03 -0400)]
Make-lang.in (CXX_PARSER_H): New.

* Make-lang.in (CXX_PARSER_H): New.
(cp/parser.o): Add dependency on CXX_PARSER_H.
Add dependency on tree-pretty-print.h
(cp/cp-lang.o): Add dependency on CXX_PARSER_H.
* cp-lang.c: Include parser.h.
* parser.c: Include parser.h.
(struct cp_token): Add bitfield purged_p.
Update all users.
Move to parser.h.
(CPP_PURGED): Remove.  Update all users.
(struct cp_lexer): Change field buffer to be a VEC of cp_token.
Remove field buffer_length.
Update all users.
Move to parser.h.
(struct tree_check): Move to parser.h.
(cp_token_position): Likewise.
(struct cp_token_cache): Likewise.
(CPP_KEYWORD): Likewise.
(CPP_TEMPLATE_ID): Likewise.
(CPP_NESTED_NAME_SPECIFIER): Likewise.
(N_CP_TTYPES): Likewise.
(enum cp_parser_status_kind): Likewise.
(struct cp_parser_context): Likewise.
(struct cp_default_arg_entry_d): Likewise.
(struct cp_unparsed_functions_entry_d): Likewise.
(struct cp_parser): Likewise.
(cp_lexer_dump_tokens): New.
(cp_lexer_debug_tokens): New.
(cp_lexer_finished_p): New.
(cp_lexer_alloc): Factor out of cp_lexer_new_main.
(cp_lexer_new_main): Re-write main lexing loop to push
tokens into the new VEC buffer.
(cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
Do not abort if the token type is not recognized, just print
its code.
* parser.h: New file.
* config-lang.in (gtfiles): Add cp/parser.h.

From-SVN: r171075

13 years agore PR debug/47510 (DW_TAG_typedef can have children when designating a naming typedef)
Dodji Seketeli [Wed, 16 Mar 2011 21:04:58 +0000 (21:04 +0000)]
re PR debug/47510 (DW_TAG_typedef can have children when designating a naming typedef)

PR debug/47510

gcc/

PR debug/47510
* dwarf2out.c (strip_naming_typedef): Factorize out of ...
(lookup_type_die_strip_naming_typedef): ... here.
(get_context_die): Use it.
(gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
the anonymous struct named by the naming typedef.

gcc/testsuite/

        PR debug/47510
* g++.dg/debug/dwarf2/typedef6.C: New test.

From-SVN: r171073

13 years agoCore 1148
Jason Merrill [Wed, 16 Mar 2011 20:15:37 +0000 (16:15 -0400)]
Core 1148

Core 1148
* typeck.c (check_return_expr): Fix conditions for setting
LOOKUP_PREFER_RVALUE.

From-SVN: r171071

13 years ago* call.c (build_over_call): Remove require_complete_type_sfinae call.
Jason Merrill [Wed, 16 Mar 2011 20:15:24 +0000 (16:15 -0400)]
* call.c (build_over_call): Remove require_complete_type_sfinae call.

From-SVN: r171070

13 years agoCheck TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
H.J. Lu [Wed, 16 Mar 2011 20:04:40 +0000 (20:04 +0000)]
Check TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.

2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>

PR target/48154
* config/i386/i386.c (ix86_builtin_vectorized_function): Check
TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.

From-SVN: r171069

13 years agore PR c++/48132 ([C++0x] Internal compiler error on array of std::complex with -std...
Jason Merrill [Wed, 16 Mar 2011 20:04:06 +0000 (16:04 -0400)]
re PR c++/48132 ([C++0x] Internal compiler error on array of std::complex with -std=c++0x)

PR c++/48132
* decl.c (check_array_designated_initializer): Allow integer index.
(reshape_init_array_1): Set index on the elements.

From-SVN: r171068

13 years agore PR c++/48113 ([C++0x] bind with tuple argument fails)
Jason Merrill [Wed, 16 Mar 2011 20:03:56 +0000 (16:03 -0400)]
re PR c++/48113 ([C++0x] bind with tuple argument fails)

PR c++/48113
* typeck.c (convert_for_initialization): Use
perform_implicit_conversion_flags.
* call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
rvaluedness_matches_p on ck_rvalue.
(convert_like_real) [ck_rvalue]: And restore it here.

From-SVN: r171067

13 years agore PR c++/48115 (internal compiler error: in type_has_nontrivial_copy_init, at cp...
Jason Merrill [Wed, 16 Mar 2011 20:03:46 +0000 (16:03 -0400)]
re PR c++/48115 (internal compiler error: in type_has_nontrivial_copy_init, at cp/tree.c:2482)

PR c++/48115
* call.c (convert_arg_to_ellipsis): Handle incomplete type.

From-SVN: r171066

13 years agore PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64...
Jack Howarth [Wed, 16 Mar 2011 18:19:12 +0000 (18:19 +0000)]
re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)

2011-03-16  Jack Howarth  <howarth@bromo.med.uc.edu>

PR lto/48086
* configure.ac: Re-enable LTO on *-apple-darwin9.
* configure: Regenerate.

From-SVN: r171058

13 years agore PR libfortran/47883 (libgfortran configuration should use AC_LINK_IFELSE instead...
Francois-Xavier Coudert [Wed, 16 Mar 2011 17:43:41 +0000 (17:43 +0000)]
re PR libfortran/47883 (libgfortran configuration should use AC_LINK_IFELSE instead of AC_TRY_LINK)

PR libfortran/47883
* acinclude.m4: Don't use AC_TRY_ macros.
* configure.ac: Likewise.
* configure: Regenerate.

From-SVN: r171056

13 years agotree-vrp.c (identify_jump_threads): Slightly simplify type check for operands of...
Jeff Law [Wed, 16 Mar 2011 17:32:58 +0000 (11:32 -0600)]
tree-vrp.c (identify_jump_threads): Slightly simplify type check for operands of conditional.

  * tree-vrp.c (identify_jump_threads): Slightly simplify type
  check for operands of conditional.  Allow type to be a
  pointer.

  * gcc.dg/tree-ssa/vrp55.c: New test.

From-SVN: r171055

13 years agoparser.c (cp_parser_abort_tentative_parse): Make sure we haven't committed to this...
Jason Merrill [Wed, 16 Mar 2011 17:04:41 +0000 (13:04 -0400)]
parser.c (cp_parser_abort_tentative_parse): Make sure we haven't committed to this tentative parse.

* parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
committed to this tentative parse.

From-SVN: r171054

13 years agore PR c++/47999 ([C++0x] auto type deduction works incorrectly in a function template)
Jason Merrill [Wed, 16 Mar 2011 17:04:30 +0000 (13:04 -0400)]
re PR c++/47999 ([C++0x] auto type deduction works incorrectly in a function template)

PR c++/47999
* semantics.c (finish_call_expr): Preserve reference semantics
in templates.

From-SVN: r171053

13 years ago* call.c (convert_default_arg): Use LOOKUP_IMPLICIT.
Jason Merrill [Wed, 16 Mar 2011 17:00:13 +0000 (13:00 -0400)]
* call.c (convert_default_arg): Use LOOKUP_IMPLICIT.

From-SVN: r171052

13 years agovla-1.c (main): Use result of f1 to avoid optimizing it away if promoted to const.
Richard Guenther [Wed, 16 Mar 2011 16:51:35 +0000 (16:51 +0000)]
vla-1.c (main): Use result of f1 to avoid optimizing it away if promoted to const.

2011-03-16  Richard Guenther  <rguenther@suse.de>

* gcc.dg/guality/vla-1.c (main): Use result of f1 to avoid
optimizing it away if promoted to const.

From-SVN: r171050

13 years agognu.ver: Add base destructors for stdexcept classes.
Benjamin Kosnik [Wed, 16 Mar 2011 16:05:45 +0000 (16:05 +0000)]
gnu.ver: Add base destructors for stdexcept classes.

2011-03-16  Benjamin Kosnik  <bkoz@redhat.com>

* config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
* testsuite/19_diagnostics/stdexcept.cc: New.

From-SVN: r171049

13 years agore PR tree-optimization/48149 (Piecewise complex pass-through not optimized)
Richard Guenther [Wed, 16 Mar 2011 15:55:48 +0000 (15:55 +0000)]
re PR tree-optimization/48149 (Piecewise complex pass-through not optimized)

2011-03-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48149
* fold-const.c (fold_binary_loc): Fold
COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.

* gcc.dg/fold-complex-1.c: New testcase.

From-SVN: r171048

13 years agore PR debug/48147 (New debug test failures)
Richard Guenther [Wed, 16 Mar 2011 13:57:28 +0000 (13:57 +0000)]
re PR debug/48147 (New debug test failures)

2011-03-16  Richard Guenther  <rguenther@suse.de>

PR testsuite/48147
* gcc.dg/guality/pr45882.c: Really make sure no inlining
or cloning happens.

From-SVN: r171047

13 years agore PR middle-end/26134 (fold *(float*)(&complex_float_var) into REALPART_EXPR<complex...
Richard Guenther [Wed, 16 Mar 2011 13:53:09 +0000 (13:53 +0000)]
re PR middle-end/26134 (fold *(float*)(&complex_float_var) into REALPART_EXPR<complex_float_var>)

2011-03-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/26134
* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
(non_rewritable_mem_ref_base): Handle complex type component
accesses, constrain offsets for vector and complex extracts
more properly.

* gcc.dg/tree-ssa/complex-6.c: New testcase.

From-SVN: r171046

13 years agore PR c/48146 (ICE tree check: expected ssa_name, have var_decl in has_zero_uses...
Richard Guenther [Wed, 16 Mar 2011 12:41:08 +0000 (12:41 +0000)]
re PR c/48146 (ICE tree check: expected ssa_name, have var_decl in has_zero_uses, at tree-flow-inline.h:342)

2011-03-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48146
* tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
operands avoiding the need for renaming.

* gcc.dg/torture/pr48146.c: New testcase.

From-SVN: r171045

13 years agogimple-fold.c (maybe_fold_reference): Open-code relevant constant folding.
Richard Guenther [Wed, 16 Mar 2011 11:36:30 +0000 (11:36 +0000)]
gimple-fold.c (maybe_fold_reference): Open-code relevant constant folding.

2011-03-16  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_reference): Open-code relevant
constant folding.  Move MEM_REF canonicalization first.
Rely on fold_const_aggregate_ref for initializer folding.
* tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.

* gcc.dg/tree-ssa/pr14814.c: Adjust.
* gcc.dg/tree-ssa/ssa-ccp-19.c: Likewise.

From-SVN: r171043

13 years agore PR middle-end/48136 (verify_gimple failed at -O0)
Jakub Jelinek [Wed, 16 Mar 2011 10:24:44 +0000 (11:24 +0100)]
re PR middle-end/48136 (verify_gimple failed at -O0)

PR middle-end/48136
* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
arg0/arg1 or their arguments are always fold converted to matching
types.

* gcc.c-torture/compile/pr48136.c: New test.

From-SVN: r171041

13 years agovar-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED to nargs.
Jakub Jelinek [Wed, 16 Mar 2011 10:23:14 +0000 (11:23 +0100)]
var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED to nargs.

* var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
to nargs.

From-SVN: r171040

13 years agore PR driver/46944 (gcc should accept -fuse-linker-plugin only if linker handles...
Rainer Orth [Wed, 16 Mar 2011 09:41:16 +0000 (09:41 +0000)]
re PR driver/46944 (gcc should accept -fuse-linker-plugin only if linker handles -plugin)

PR lto/46944
* configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
Handle in-tree gold.
(ld_vers): Extract binutils version for gold.
(gcc_cv_ld_hidden): Handle gold here.
(gcc_cv_lto_plugin): Determine level of linker plugin support.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
-fuse-linker-plugin otherwise.
(LINK_PLUGIN_SPEC): Define.  Extract from LINK_COMMAND_SPEC.
(LINK_COMMAND_SPEC): Use it.
(main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.

From-SVN: r171039

13 years agoemit-rtl.c (try_split): Don't call copy_call_info debug hook.
Jakub Jelinek [Wed, 16 Mar 2011 08:40:07 +0000 (09:40 +0100)]
emit-rtl.c (try_split): Don't call copy_call_info debug hook.

* emit-rtl.c (try_split): Don't call copy_call_info debug hook.
* calls.c: Remove debug.h include.
(emit_call_1): Don't call virtual_call_token debug hook.
* dwarf2out.c (debug_dcall_section, debug_vcall_section,
dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
size_of_dcall_table, output_dcall_table, size_of_vcall_table,
output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
dwarf2out_virtual_call): Remove.
(dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
copy_call_info and virtual_call hooks.
(dwarf2out_init): Don't initialize vcall_insn_table,
debug_dcall_section and debug_vcall_section.
(prune_unused_types): Don't mark nodes from dcall_table.
(dwarf2out_finish): Don't output dcall or vcall tables.
* final.c (final_scan_insn): Don't call direct_call or
virtual_call debug hooks.
* debug.h (struct gcc_debug_hooks): Remove direct_call,
virtual_call_token, copy_call_info and virtual_call hooks.
(debug_nothing_uid): Remove prototype.
* sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
copy_call_info and virtual_call hooks.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
* debug.c (do_nothing_debug_hooks): Likewise.
(debug_nothing_uid): Remove.
* doc/invoke.texi (-fenable-icf-debug): Remove.
* common.opt (-fenable-icf-debug): Likewise.

* g++.dg/debug/dwarf2/icf.C: Adjust for -fenable-icf-debug removal.

From-SVN: r171037

13 years agocalls.c (emit_call_1): Set MEM_EXPR on call's MEM.
Jakub Jelinek [Wed, 16 Mar 2011 08:36:42 +0000 (09:36 +0100)]
calls.c (emit_call_1): Set MEM_EXPR on call's MEM.

* calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
* var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
call's MEM.  Handle functions returning aggregate through a hidden
first pointer.  For virtual calls add clobbered pc to call arguments
chain.
* dwarf2out.c (gen_subprogram_die): Emit
DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
can't be emitted.

From-SVN: r171036

13 years agore PR debug/45882 (No debug info for vars depending on unused parameter)
Jakub Jelinek [Wed, 16 Mar 2011 08:35:31 +0000 (09:35 +0100)]
re PR debug/45882 (No debug info for vars depending on unused parameter)

PR debug/45882
* rtl.def (ENTRY_VALUE): Change format from "e" to "0".
* rtl.h (ENTRY_VALUE_EXP): Define.
* rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
* cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
* print-rtl.c (print_rtx): Likewise.
* gengtype.c (adjust_field_rtx_def): Likewise.
* var-tracking.c (vt_add_function_parameter): Adjust
gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
* dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
* cfgexpand.c (expand_debug_expr): If a SSA_NAME without
partition is a default definition of a PARM_DECL, use ENTRY_VALUE
of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.

* gcc.dg/guality/pr45882.c: New test.

From-SVN: r171035

13 years agofinal.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
Jakub Jelinek [Wed, 16 Mar 2011 08:32:13 +0000 (09:32 +0100)]
final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.

* final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
Call var_location debug hook even on CALL_INSNs.
(rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
* rtl.def (ENTRY_VALUE): New.
* dwarf2out.c: Include cfglayout.h.
(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
(struct call_arg_loc_node): New type.
(call_arg_locations, call_arg_loc_last, block_map, call_site_count,
tail_call_site_count): New variables.
(dwarf_tag_name): Handle DW_TAG_GNU_call_site and
DW_TAG_GNU_call_site_parameter.
(dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
and DW_AT_GNU_all_source_call_sites.
(mem_loc_descriptor): Handle ENTRY_VALUE.
(add_src_coords_attributes): Don't add enything if
DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
(dwarf2out_abstract_function): Save and clear call_arg_location,
call_site_count and tail_call_site_count around dwarf2out_decl call.
(gen_call_site_die): New function.
(gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
(gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
(dwarf2out_function_decl): Clear call_arg_locations,
call_arg_loc_last, set call_site_count and tail_call_site_count
to -1 and free block_map.
(dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
followed by any real instructions.
(dwarf2out_begin_function): Set call_site_count and
tail_call_site_count to 0.
(resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
attempt to force a DIE for it and worst case remove the attribute.
(resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
the decl itself.
* var-tracking.c: Include tm_p.h.
(vt_stack_adjustments): For calls call note_register_arguments.
(argument_reg_set): New variable.
(add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
ensure the VALUE is resolved.
(call_arguments): New variable.
(prepare_call_arguments): New function.
(add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
(struct expand_loc_callback_data): Add ignore_cur_loc field.
(vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
always use the best expression.
(vt_expand_loc): Add ignore_cur_loc argument.
(vt_expand_loc_dummy): Clear ignore_cur_loc field.
(emit_note_insn_var_location): Adjust vt_expand_loc callers.
(emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
note for all calls.
(vt_add_function_parameter): Use cselib_lookup_from_insn.
If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
argument.  Don't call cselib_preserve_only_values and
cselib_reset_table.
(note_register_arguments): New function.
(vt_initialize): Compute argument_reg_set.  Call
vt_add_function_parameters before processing basic blocks instead of
afterwards.  For calls call prepare_call_arguments before calling
cselib_process_insn.
* print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
* Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
(var-tracking.o): Depend on $(TM_P_H).
* cfglayout.h (insn_scope): New prototype.
* gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
* cfglayout.c (insn_scope): No longer static.
* insn-notes.def (CALL_ARG_LOCATION): New.
* calls.c (expand_call, emit_library_call_value_1): Put USEs for
MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
* integrate.c (set_block_origin_self, set_block_abstract_flags): Do
nothing for DECL_EXTERNAL BLOCK_VARS.
cp/
* cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
DECL_LANG_SPECIFIC is NULL.
include/
* dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter,
DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered,
DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites,
DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites,
DW_OP_GNU_entry_value): New.

From-SVN: r171033

13 years agore PR target/45844 (FAIL: gfortran.dg/vect/pr45714-b.f -O (internal compiler error))
Alan Modra [Wed, 16 Mar 2011 06:26:29 +0000 (16:56 +1030)]
re PR target/45844 (FAIL: gfortran.dg/vect/pr45714-b.f  -O  (internal compiler error))

PR target/45844
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
create invalid offset address for vsx splat insn.
* config/rs6000/predicates.md (splat_input_operand): New.
* config/rs6000/vsx.md (vsx_splat_*): Use it.

From-SVN: r171031

13 years agoDaily bump.
GCC Administrator [Wed, 16 Mar 2011 00:18:29 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r171026

13 years agothread: Revert.
Benjamin Kosnik [Wed, 16 Mar 2011 00:02:11 +0000 (00:02 +0000)]
thread: Revert.

2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>

        * include/std/thread: Revert.
        * src/thread.cc: Same.
        * config/abi/pre/gnu.ver: Same.

From-SVN: r171021

13 years agore PR libstdc++/48123 (bits/cpu_defines.h not installed in freestanding mode.)
Doug Kwan [Tue, 15 Mar 2011 20:56:52 +0000 (20:56 +0000)]
re PR libstdc++/48123 (bits/cpu_defines.h not installed in freestanding mode.)

2011-03-15  Doug Kwan  <dougkwan@google.com>

        PR libstdc++/48123
        * include/Makefile.am (install-freestanding-headers): Install
        cpu_defines.h
        * include/Makefile.in: Regenerate.

From-SVN: r171019

13 years agognu.ver: Make nested_exception exports super clear.
Benjamin Kosnik [Tue, 15 Mar 2011 18:58:12 +0000 (18:58 +0000)]
gnu.ver: Make nested_exception exports super clear.

2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>

* config/abi/pre/gnu.ver: Make nested_exception exports super clear.
Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.

From-SVN: r171014

13 years agopt.c (value_dependent_expression_p): Don't check value_dependent_expression_p on...
Jason Merrill [Tue, 15 Mar 2011 18:31:12 +0000 (14:31 -0400)]
pt.c (value_dependent_expression_p): Don't check value_dependent_expression_p on the operand.

* pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Don't
check value_dependent_expression_p on the operand.

From-SVN: r171013

13 years agoc-common.c (max_constexpr_depth): New.
Jason Merrill [Tue, 15 Mar 2011 18:29:00 +0000 (14:29 -0400)]
c-common.c (max_constexpr_depth): New.

c-family/
* c-common.c (max_constexpr_depth): New.
* c-common.h: Declare it.
* c-opts.c (c_common_handle_option): Set it.
* c.opt (fconstexpr-depth): New option.
cp/
* semantics.c (push_cx_call_context): Return bool.
(cxx_eval_call_expression): Handle excess depth.

From-SVN: r171012

13 years agoCore 1191
Jason Merrill [Tue, 15 Mar 2011 18:27:29 +0000 (14:27 -0400)]
Core 1191

Core 1191
* method.c (synthezized_method_walk): Cleanups don't affect the
triviality of a constructor, but do affect deletion and exception
specification.

From-SVN: r171011

13 years agodecl2.c (cp_check_const_attributes): New.
Rodrigo Rivas Costa [Tue, 15 Mar 2011 18:27:19 +0000 (18:27 +0000)]
decl2.c (cp_check_const_attributes): New.

* decl2.c (cp_check_const_attributes): New.
(cplus_decl_attributes): Call cp_check_const_attributes.

From-SVN: r171010

13 years agore PR c++/34758 (Bad diagnostic for circular dependency in constructor default argument)
Jason Merrill [Tue, 15 Mar 2011 18:27:09 +0000 (14:27 -0400)]
re PR c++/34758 (Bad diagnostic for circular dependency in constructor default argument)

PR c++/34758
* call.c (convert_default_arg): Use DECL_ORIGIN of fn.  Check for
recursion first.
(push_defarg_context, pop_defarg_context): New.
* parser.c (cp_parser_late_parsing_default_args): Use them.
* cp-tree.h: Declare them.

From-SVN: r171009

13 years agoFix pr47837
Xinliang David Li [Tue, 15 Mar 2011 18:15:01 +0000 (18:15 +0000)]
Fix pr47837

From-SVN: r171008

13 years agoActually delete it as svn rename seemed to fail
Ramana Radhakrishnan [Tue, 15 Mar 2011 17:37:05 +0000 (17:37 +0000)]
Actually delete it as svn rename seemed to fail

From-SVN: r171005

13 years agoFixup last commit.
Ramana Radhakrishnan [Tue, 15 Mar 2011 17:05:51 +0000 (17:05 +0000)]
Fixup last commit.

Fixed PR target/46788 and not PR 47688

From-SVN: r171002

13 years agore PR c++/47688 ([C++0x] Segfault when assigning lambda to std::function variable)
Ramana Radhakrishnan [Tue, 15 Mar 2011 16:14:21 +0000 (16:14 +0000)]
re PR c++/47688 ([C++0x] Segfault when assigning lambda to std::function variable)

Fix PR 47688

2011-03-18  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR target/47668
gcc/
* config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
in the output template.
gcc/testsuite/
* gcc.target/arm/pr47688.c: New.

From-SVN: r171000

13 years agore PR middle-end/47650 (wrong output of print_generic_decl() called from a plugin)
Richard Guenther [Tue, 15 Mar 2011 13:39:28 +0000 (13:39 +0000)]
re PR middle-end/47650 (wrong output of print_generic_decl() called from a plugin)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR middle-end/47650
* tree-pretty-print.c (dump_function_declaration): Properly
dump unprototyped and varargs function types.

* gfortran.dg/c_f_pointer_tests_3.f90: Adjust.
* gfortran.dg/ishft_4.f90: Likewise.
* gfortran.dg/leadz_trailz_3.f90: Likewise.

From-SVN: r170995

13 years agore PR c++/13954 ([tree-ssa] SRA does not work for classes that use inheritance with...
Richard Guenther [Tue, 15 Mar 2011 13:37:23 +0000 (13:37 +0000)]
re PR c++/13954 ([tree-ssa] SRA does not work for classes that use inheritance with an empty base)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/13954
* tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
and friends.

* g++.dg/tree-ssa/pr13954.C: New testcase.

From-SVN: r170994

13 years agore PR rtl-optimization/48037 (Missed optimization: unnecessary register moves)
Richard Guenther [Tue, 15 Mar 2011 12:22:12 +0000 (12:22 +0000)]
re PR rtl-optimization/48037 (Missed optimization: unnecessary register moves)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48037
* tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
selects into BIT_FIELD_REFs.
(non_rewritable_mem_ref_base): Check if a MEM_REF is a
vector select.

* gcc.target/i386/pr48037-1.c: New testcase.

From-SVN: r170986

13 years agore PR tree-optimization/48129 (gcc.c-torture/execute/builtins/snprintf-chk.c ICE)
Jakub Jelinek [Tue, 15 Mar 2011 11:28:35 +0000 (12:28 +0100)]
re PR tree-optimization/48129 (gcc.c-torture/execute/builtins/snprintf-chk.c ICE)

PR tree-optimization/48129
* builtins.c (fold_builtin_snprintf): Convert to type of
built_in_decls[BUILT_IN_SNPRINTF] retval instead of
implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.

From-SVN: r170985

13 years agore PR tree-optimization/41490 (tree-ssa-sink does not really work)
Richard Guenther [Tue, 15 Mar 2011 11:09:09 +0000 (11:09 +0000)]
re PR tree-optimization/41490 (tree-ssa-sink does not really work)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41490
* tree-ssa-dce.c (propagate_necessity): Handle returns without
value but with VUSE.
* tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
return statements.
* tree-ssa-sink.c (statement_sink_location): Fix store sinking.
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
* tree-tailcall.c (find_tail_calls): Ignore returns.

* gcc.dg/tree-ssa/ssa-sink-6.c: New testcase.
* gcc.dg/tree-ssa/ssa-sink-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-9.c: Likewise.
* g++.dg/tree-ssa/pr33604.C: Adjust.

From-SVN: r170984

13 years agore PR tree-optimization/48031 (gcc.c-torture/compile/pr42956.c ICEs gcc on m68k-linux...
Richard Guenther [Tue, 15 Mar 2011 09:49:33 +0000 (09:49 +0000)]
re PR tree-optimization/48031 (gcc.c-torture/compile/pr42956.c ICEs gcc on m68k-linux, ivopts related?)

2011-03-15  Richard Guenther  <rguenther@suse.de>

PR middle-end/48031
* fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
or variable-indexed array accesses when in gimple form.

From-SVN: r170983

13 years agoi386.c (ix86_emit_swdivsf): Implement more efficiently.
Richard Guenther [Tue, 15 Mar 2011 09:30:13 +0000 (09:30 +0000)]
i386.c (ix86_emit_swdivsf): Implement more efficiently.

2011-03-15  Richard Guenther  <rguenther@suse.de>

* config/i386/i386.c (ix86_emit_swdivsf): Implement more
efficiently.

From-SVN: r170981

13 years ago* arith.c (arith_power): Plug memory leak.
Francois-Xavier Coudert [Tue, 15 Mar 2011 08:56:16 +0000 (08:56 +0000)]
* arith.c (arith_power): Plug memory leak.

From-SVN: r170980

13 years agore PR libstdc++/48130 (build fails on libsupc++/nested_exception.cc)
Benjamin Kosnik [Tue, 15 Mar 2011 06:19:08 +0000 (06:19 +0000)]
re PR libstdc++/48130 (build fails on libsupc++/nested_exception.cc)

2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/48130
        * src/future.cc: Guard definitions.
        * libsupc++/nested_exception.cc: Same.

From-SVN: r170979

13 years agoregex_compiler.h: Nest namespace versioning.
Benjamin Kosnik [Tue, 15 Mar 2011 02:55:19 +0000 (02:55 +0000)]
regex_compiler.h: Nest namespace versioning.

2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/regex_compiler.h: Nest namespace versioning.
* include/bits/regex_grep_matcher.tcc: Same.
* include/bits/regex_grep_matcher.h: Same.
* include/bits/regex_cursor.h: Same.
* include/bits/regex_nfa.h: Same.
* include/bits/regex_nfa.tcc: Same.

* include/bits/regex_grep_matcher.h: Version forward declarations.
* include/bits/c++config: Add namespace association for __regex.
* include/bits/regex.h: Make sub_match consistent.

From-SVN: r170978

13 years agore PR target/48032 (PowerPC64 -mcmodel=medium invalid ld offset)
Alan Modra [Tue, 15 Mar 2011 02:19:28 +0000 (12:49 +1030)]
re PR target/48032 (PowerPC64 -mcmodel=medium invalid ld offset)

PR target/48032
* config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
presume symbol_refs without a symbol_ref_decl are suitably
aligned, nor other trees we may see here.  Handle anchor symbols.
(legitimate_constant_pool_address_p): Comment.  Add mode param.
Check cmodel=medium addresses.  Adjust all calls.
(rs6000_emit_move): Don't call offsettable_ok_by_alignment on
creating cmodel=medium optimized access to locals.
* config/rs6000/constraints.md (R): Pass QImode to
legitimate_constant_pool_address_p.
* config/rs6000/predicates.md (input_operand): Pass mode to
legitimate_constant_pool_address_p.
* config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
Update prototype.

From-SVN: r170976

13 years agoMakefile.am: Add functional.cc, shared_ptr.cc.
Benjamin Kosnik [Tue, 15 Mar 2011 00:24:08 +0000 (00:24 +0000)]
Makefile.am: Add functional.cc, shared_ptr.cc.

2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>

* src/Makefile.am: Add functional.cc, shared_ptr.cc.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Add nested_exception.cc.
* libsupc++/Makefile.in: Regenerate.
* src/system_error.cc: Add ctor and dtor definitions for error_category.
* src/functional.cc: New. Add dtor definition for bad_function_call.
* src/stdexcept.cc: Add dtor definitions for domain_error,
invalid_argument, length_error, out_of_range, range_error,
overflow_error, underflow_error.
* src/future.cc: Add dtor definition for __future_base::_Result_base.
* src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
* src/thread.cc: Add dtor for thread::_Impl_base.
* include/std/system_error: Adjust.
* include/std/stdexcept: Same.
* include/std/future: Same.
* include/std/functional: Same.
* include/std/thread: Same.
* include/bits/shared_ptr_base.h: Same.
* libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
* libsupc++/nested_exception.h: Adjust.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
* config/abi/pre/gnu.ver: Add new exports.

* include/bits/regex_compiler.h: Nest namespace versioning.
* include/bits/regex_grep_matcher.tcc: Same.
* include/bits/regex_grep_matcher.h: Same.
* include/bits/regex_cursor.h: Same.
* include/bits/regex_nfa.h: Same.
* include/bits/regex_nfa.tcc: Same.

From-SVN: r170975

13 years agoDaily bump.
GCC Administrator [Tue, 15 Mar 2011 00:19:12 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r170974

13 years agoFix fix to PR 48053
Michael Meissner [Mon, 14 Mar 2011 20:51:41 +0000 (20:51 +0000)]
Fix fix to PR 48053

From-SVN: r170962

13 years agosol2.c (solaris_assemble_visibility): Remove obsolete URLs.
Rainer Orth [Mon, 14 Mar 2011 20:34:21 +0000 (20:34 +0000)]
sol2.c (solaris_assemble_visibility): Remove obsolete URLs.

gcc:
* config/sol2.c (solaris_assemble_visibility): Remove obsolete
URLs.

libstdc++-v3:
* doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN
equivalents.
* doc/html/manual/abi.html: Regenerate.

From-SVN: r170960

13 years agore PR middle-end/47917 (snprintf(..., "const string") should be optimized into memcpy)
Jakub Jelinek [Mon, 14 Mar 2011 20:30:24 +0000 (21:30 +0100)]
re PR middle-end/47917 (snprintf(..., "const string") should be optimized into memcpy)

PR middle-end/47917
* builtins.c (fold_builtin_snprintf): New function.
(fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
(fold_builtin_4): Likewise.

* gcc.c-torture/execute/pr47917.c: New test.
* gcc.dg/pr47917.c: New test.

From-SVN: r170959

13 years agoprinters.py (_use_gdb_pp): New global.
Tom Tromey [Mon, 14 Mar 2011 20:29:23 +0000 (20:29 +0000)]
printers.py (_use_gdb_pp): New global.

* python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
Try to import `gdb.printing' module.
(UniquePointerPrinter.__init__): Add 'typename' argument.
(StdSlistPrinter.__init__): Likewise.
(StdSlistIteratorPrinter.__init__): Likewise.
(StdVectorIteratorPrinter.__init__): Likewise.
(StdRbtreeIteratorPrinter.__init__): Likewise.
(StdDebugIteratorPrinter.__init__): Likewise.
(StdDequeIteratorPrinter.__init__): Likewise.
(StdStringPrinter.__init__): Likewise.
(RxPrinter, Printer): New class.
(libstdcxx_printer): New global.
(register_libstdcxx_printers): Rewrite.
(build_libstdcxx_dictionary): Rewrite.
(pretty_printers_dict): Remove.

From-SVN: r170958

13 years agore PR middle-end/38878 (gcc.dg/tree-ssa/foldaddr-1.c XFAILed)
Jakub Jelinek [Mon, 14 Mar 2011 20:12:16 +0000 (21:12 +0100)]
re PR middle-end/38878 (gcc.dg/tree-ssa/foldaddr-1.c XFAILed)

PR middle-end/38878
* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
and C - X == X also strip nops from +/-/p+ operand.
When optimizing -X == C, fold C to arg0's type.

* gcc.dg/tree-ssa/foldaddr-1.c: Remove xfail.

From-SVN: r170957

13 years agore PR debug/47946 (Dwarf uses 64-bits to refer to a structure offset unnecessarily)
Jakub Jelinek [Mon, 14 Mar 2011 20:07:22 +0000 (21:07 +0100)]
re PR debug/47946 (Dwarf uses 64-bits to refer to a structure offset unnecessarily)

PR debug/47946
* dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
emit it as add_AT_int instead of add_AT_unsigned.

From-SVN: r170956

13 years agounwind-dw2.c: Include sys/sdt.h if it exists.
Tom Tromey [Mon, 14 Mar 2011 19:47:58 +0000 (19:47 +0000)]
unwind-dw2.c: Include sys/sdt.h if it exists.

* unwind-dw2.c: Include sys/sdt.h if it exists.
(_Unwind_DebugHook): Use STAP_PROBE2.
* config.in, configure: Rebuild.
* configure.ac: Check for sys/sdt.h.

From-SVN: r170954

13 years agoi386.md (ROUND_FLOOR): New constant.
Uros Bizjak [Mon, 14 Mar 2011 18:57:11 +0000 (19:57 +0100)]
i386.md (ROUND_FLOOR): New constant.

* config/i386/i386.md (ROUND_FLOOR): New constant.
(ROUND_CEIL): Ditto.
(ROUND_TRUNC): Ditto.
(ROUND_MXCSR): Ditto.
(ROUND_NO_EXC): Ditto.
(rint<mode>2): Use new defines instead of numerical constants.
(floor<mode>2): Ditto.
(ceil<mode>2): Ditto.
(btrunc<mode>2): Ditto.
* config/i386/i386-builtin-types.def: Define ROUND function type
aliases.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
(struct builtin_description): Add
__builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
(ix86_expand_sse_round): New static function.
(ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
function types.
(ix86_builtin_vectorized_function): Handle
BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.

testsuite/ChangeLog:

* gcc.target/i386/sse4_1-floor-vec.c: New test.
* gcc.target/i386/sse4_1-ceil-vec.c: Ditto.
* gcc.target/i386/sse4_1-trunc-vec.c: Ditto.
* gcc-target/i386/sse4_1-rint-vec.c: Ditto.
* gcc.target/i386/sse4_1-floorf-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceilf-vec.c: Ditto.
* gcc.target/i386/sse4_1-truncf-vec.c: Ditto.
* gcc.target/i386/sse4_1-rintf-vec.c: Ditto.
* gcc.target/i386/avx-floor-vec.c: Ditto.
* gcc.target/i386/avx-ceil-vec.c: Ditto.
* gcc.target/i386/avx-trunc-vec.c: Ditto.
* gcc.target/i386/avx-rint-vec.c: Ditto.
* gcc.target/i386/avx-floorf-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-vec.c: Ditto.
* gcc.target/i386/avx-truncf-vec.c: Ditto.
* gcc.target/i386/avx-rintf-vec.c: Ditto.

From-SVN: r170953

13 years agoc-parser.c (c_parser_asm_string_literal): Clear warn_overlength_strings.
Tom Tromey [Mon, 14 Mar 2011 18:01:10 +0000 (18:01 +0000)]
c-parser.c (c_parser_asm_string_literal): Clear warn_overlength_strings.

gcc
* c-parser.c (c_parser_asm_string_literal): Clear
warn_overlength_strings.
gcc/testsuite
* gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.

From-SVN: r170948

13 years agoc-parser.c (disable_extension_diagnostics): Save warn_overlength_strings.
Tom Tromey [Mon, 14 Mar 2011 17:58:12 +0000 (17:58 +0000)]
c-parser.c (disable_extension_diagnostics): Save warn_overlength_strings.

gcc
* c-parser.c (disable_extension_diagnostics): Save
warn_overlength_strings.
(restore_extension_diagnostics): Restore warn_overlength_strings.
gcc/testsuite
* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.

From-SVN: r170947

13 years agore PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and geometr...
Andrey Zholos [Mon, 14 Mar 2011 17:57:48 +0000 (17:57 +0000)]
re PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and geometric_distribution wrongly implements the TR1 definition)

2011-03-14  Andrey Zholos  <aaz@althenia.net>

PR libstdc++/48114
* include/bits/random.h (geometric_distribution): Correct formula
in comment, per C++0x.
(geometric_distribution<>::param_type::param_type(double)): Fix check.
(geometric_distribution<>::param_type::_M_initialize):
Store log(1 - p).
* include/bits/random.tcc (geometric_distribution<>::operator()):
Fix computation.
(binomial_distribution<>::operator()): Likewise.

From-SVN: r170946

13 years agoEnable __float128 test for 32bit.
H.J. Lu [Mon, 14 Mar 2011 17:24:25 +0000 (17:24 +0000)]
Enable __float128 test for 32bit.

2011-03-14  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.

From-SVN: r170945

13 years agocrontab: Enable 4.7 snapshots, switch 4.6 snapshots to 4.6 branch.
Jakub Jelinek [Mon, 14 Mar 2011 13:55:52 +0000 (14:55 +0100)]
crontab: Enable 4.7 snapshots, switch 4.6 snapshots to 4.6 branch.

* crontab: Enable 4.7 snapshots, switch 4.6 snapshots to
4.6 branch.

From-SVN: r170941

13 years agore PR rtl-optimization/47166 (SpecCpu2000 Ammp segfaults for ARM with -O3 -mthumb)
Richard Sandiford [Mon, 14 Mar 2011 13:46:12 +0000 (13:46 +0000)]
re PR rtl-optimization/47166 (SpecCpu2000 Ammp segfaults for ARM with -O3 -mthumb)

gcc/testsuite/
PR rtl-optimization/47166
* gcc.c-torture/execute/postmod-1.c: New test.

From-SVN: r170939

13 years ago* BASE-VER: Change to 4.7.0.
Jakub Jelinek [Mon, 14 Mar 2011 13:07:26 +0000 (14:07 +0100)]
* BASE-VER: Change to 4.7.0.

From-SVN: r170936

13 years agore PR tree-optimization/48098 (internal compiler error: in build_vector_from_val...
Richard Guenther [Mon, 14 Mar 2011 12:20:48 +0000 (12:20 +0000)]
re PR tree-optimization/48098 (internal compiler error: in build_vector_from_val, at tree.c:1380)

2011-03-14  Richard Guenther  <rguenther@suse.de>

PR middle-end/48098
* tree.c (build_vector_from_val): Adjust assert to requirements
and reality.

* gcc.dg/torture/pr48098.c: New testcase.

From-SVN: r170934

13 years agore PR bootstrap/48102 (Bootstrap failure: error: macro "build_cloog_prog" requires...
Jakub Jelinek [Mon, 14 Mar 2011 08:18:52 +0000 (09:18 +0100)]
re PR bootstrap/48102 (Bootstrap failure: error: macro "build_cloog_prog" requires 4 arguments, but only 3 given)

PR bootstrap/48102
* graphite-cloog-compat.h (build_cloog_prog): Remove STATE
parameter.

From-SVN: r170933

13 years agoconfig.host (cpu_type): Add FreeBSD PowerPC specific parts.
Andreas Tobler [Mon, 14 Mar 2011 06:06:23 +0000 (07:06 +0100)]
config.host (cpu_type): Add FreeBSD PowerPC specific parts.

2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

* config.host (cpu_type): Add FreeBSD PowerPC specific parts.
Adjust copyright year.

From-SVN: r170931

13 years agofreebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in terms of target_flags_explicit.
Andreas Tobler [Mon, 14 Mar 2011 06:05:29 +0000 (07:05 +0100)]
freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in terms of target_flags_explicit.

2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

* config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
terms of target_flags_explicit. Adjust copyright year.

* config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
* config/rs6000/t-freebsd: New file. Add override for
LIB2FUNCS_EXTRA.

From-SVN: r170930

13 years agore PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64...
Jack Howarth [Mon, 14 Mar 2011 02:47:49 +0000 (02:47 +0000)]
re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)

2011-03-13  Jack Howarth  <howarth@bromo.med.uc.edu>

    PR lto/48086
    * configure.ac: Disable LTO on darwin due to an assembler change in
    Xcode 3.2.6/4.0 that limits the total number of sections/segments to
    under 256.
    * configure: Regenerate.

From-SVN: r170929

13 years agoDaily bump.
GCC Administrator [Mon, 14 Mar 2011 00:17:51 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r170928

13 years agoinvoke.texi (-fdiagnostics-show-option): Replace with...
Chris Demetriou [Sun, 13 Mar 2011 07:38:22 +0000 (23:38 -0800)]
invoke.texi (-fdiagnostics-show-option): Replace with...

2011-03-13  Chris Demetriou  <cgd@google.com>

        * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
        (-fno-diagnostics-show-option): this, to reflect current default.
        (-Werror=): Update text about -fno-diagnostics-show-option.

From-SVN: r170921

13 years agore PR target/48053 (ICE in in build_int_cst_wide, when building cpu2000 galgel/equake...
Peter Bergner [Sun, 13 Mar 2011 04:06:41 +0000 (22:06 -0600)]
re PR target/48053 (ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack)

gcc/
PR target/48053
* config/rs6000/predicates.md (easy_vector_constant_add_self,
easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
* config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
mode is not V2DImode or V2DFmode.
(vspltis_constant): Do not handle V2DImode and V2DFmode.
(rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
* config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
registers to 0.
(movdi_internal64): Likewise.

gcc/testsuite/
PR target/48053
* gcc/testsuite/gcc.target/powerpc/pr48053-1.c: New test.
* gcc/testsuite/gcc.target/powerpc/pr48053-2.c: Likewise.

From-SVN: r170920

13 years agoDaily bump.
GCC Administrator [Sun, 13 Mar 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r170918

13 years agore PR fortran/48066 (Segfault with SUM of zero-sized array)
Thomas Koenig [Sat, 12 Mar 2011 23:18:09 +0000 (23:18 +0000)]
re PR fortran/48066 (Segfault with SUM of zero-sized array)

2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/48066
* gfortran.dg/intrinsic_ifunction_2.f90:  Correct PR number.

From-SVN: r170913

13 years agore PR fortran/48066 (Segfault with SUM of zero-sized array)
Thomas Koenig [Sat, 12 Mar 2011 23:13:56 +0000 (23:13 +0000)]
re PR fortran/48066 (Segfault with SUM of zero-sized array)

2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR libfortran/40866
        * libgfortran/ChangeLog:  Correct PR number.
        * gcc/testsuite/ChangeLog:  Likewise.

From-SVN: r170912

13 years agore PR fortran/48066 (Segfault with SUM of zero-sized array)
Thomas Koenig [Sat, 12 Mar 2011 22:39:33 +0000 (22:39 +0000)]
re PR fortran/48066 (Segfault with SUM of zero-sized array)

2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/40866
* m4/ifunction.m4:  If return array is empty, return.
* m4/ifunction_logical.m4:  Likewise.
* generated/all_l16.c: Regenerated.
* generated/all_l1.c: Regenerated.
* generated/all_l2.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l1.c: Regenerated.
* generated/any_l2.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/count_16_l.c: Regenerated.
* generated/count_1_l.c: Regenerated.
* generated/count_2_l.c: Regenerated.
* generated/count_4_l.c: Regenerated.
* generated/count_8_l.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i2.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i1.c: Regenerated.
* generated/maxloc1_4_i2.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i1.c: Regenerated.
* generated/maxloc1_8_i2.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i1.c: Regenerated.
* generated/maxval_i2.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i2.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i1.c: Regenerated.
* generated/minloc1_4_i2.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i1.c: Regenerated.
* generated/minloc1_8_i2.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i1.c: Regenerated.
* generated/minval_i2.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i2.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i1.c: Regenerated.
* generated/sum_i2.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.

2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/40866
* gfortran.dg/intrinsic_ifunction_2.f90:  New test case.

From-SVN: r170908

13 years agoFix PR47127: call cloog_state_malloc and cloog_state_free only once.
Sebastian Pop [Sat, 12 Mar 2011 22:05:38 +0000 (22:05 +0000)]
Fix PR47127: call cloog_state_malloc and cloog_state_free only once.

2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/47127
* graphite-clast-to-gimple.c (build_cloog_prog): Removed state
parameter.
(set_cloog_options): Same.
(scop_to_clast): Same.
(print_clast_stmt): Do not call cloog_state_malloc and
cloog_state_free.
(print_generated_program): Same.
(gloog): Same.
* graphite-clast-to-gimple.h (cloog_state): Declared.
(scop_to_clast): Adjust declaration.
* graphite.c (cloog_state): Defined here.
(graphite_initialize): Call cloog_state_malloc.
(graphite_finalize): Call cloog_state_free.

From-SVN: r170907

13 years agore PR fortran/48059 ([OOP] ICE in in gfc_conv_component_ref: character function of...
Janus Weil [Sat, 12 Mar 2011 16:58:33 +0000 (17:58 +0100)]
re PR fortran/48059 ([OOP] ICE in in gfc_conv_component_ref: character function of extended type)

2011-03-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48059
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
for polymorphic arguments.

2011-03-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48059
* gfortran.dg/class_41.f03: New.

From-SVN: r170906

13 years agore PR libfortran/48054 (Documentation for LOG intrinsic function is ambiguous)
Francois-Xavier Coudert [Sat, 12 Mar 2011 10:33:54 +0000 (10:33 +0000)]
re PR libfortran/48054 (Documentation for LOG intrinsic function is ambiguous)

PR fortran/48054
* intrinsic.texi: Clarify doc of logarithm functions.

From-SVN: r170899

13 years agore PR fortran/47552 (CTIME: Valgrind warning "depends on uninitialised value")
Francois-Xavier Coudert [Sat, 12 Mar 2011 10:28:01 +0000 (10:28 +0000)]
re PR fortran/47552 (CTIME: Valgrind warning "depends on uninitialised value")

        PR fortran/47552
        * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
        the string length variable.

From-SVN: r170898

13 years agore PR c++/46824 (chromium-compile failed because error: no match for ‘operator*’ in)
Dodji Seketeli [Sat, 12 Mar 2011 07:28:20 +0000 (07:28 +0000)]
re PR c++/46824 (chromium-compile failed because error: no match for ‘operator*’ in)

PR c++/46824

gcc/cp/

* call.c (add_builtin_candidate)<case INDIRECT_REF>: The type
of the argument of the indirection operator should not be
dependent.  Fix the comment.

gcc/testsuite/

* g++.dg/conversion/cast3.C: New test.

From-SVN: r170897

13 years agore PR c++/47125 (ICE occurs in combination with partial specialization and invalid...
Jason Merrill [Sat, 12 Mar 2011 06:48:57 +0000 (01:48 -0500)]
re PR c++/47125 (ICE occurs in combination with partial specialization and invalid template function.)

PR c++/47125
* pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error.

From-SVN: r170896

13 years agore PR libfortran/48047 (Incorrect output rounding of double precision numbers)
Jerry DeLisle [Sat, 12 Mar 2011 00:49:51 +0000 (00:49 +0000)]
re PR libfortran/48047 (Incorrect output rounding of double precision numbers)

2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48047
* io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.

From-SVN: r170895

13 years agoDaily bump.
GCC Administrator [Sat, 12 Mar 2011 00:18:58 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r170894

13 years agore PR c++/47144 (Doesn't reject attempt to define type in template argument; results...
Jason Merrill [Fri, 11 Mar 2011 22:47:59 +0000 (17:47 -0500)]
re PR c++/47144 (Doesn't reject attempt to define type in template argument; results in weird parse)

PR c++/47144
* parser.c (cp_parser_template_type_arg): Set
type_definition_forbidden_message.

From-SVN: r170888

13 years agoattribs.c (lookup_attribute_spec): Take const_tree.
Jason Merrill [Fri, 11 Mar 2011 22:38:58 +0000 (17:38 -0500)]
attribs.c (lookup_attribute_spec): Take const_tree.

* attribs.c (lookup_attribute_spec): Take const_tree.
* tree.h: Adjust.
* c-family/c-common.c (attribute_takes_identifier_p): Add missing const.

From-SVN: r170887

13 years agore PR c++/46803 (libstdc++ build errors on invalid OpenBSD system header attributes)
Jason Merrill [Fri, 11 Mar 2011 21:36:02 +0000 (16:36 -0500)]
re PR c++/46803 (libstdc++ build errors on invalid OpenBSD system header attributes)

PR c++/46803
* c-common.c (attribute_takes_identifier_p): Assume that an
unknown attribute takes an identifier.

From-SVN: r170885

13 years agosparc.c (sparc_option_override): Use PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for...
Joseph Myers [Fri, 11 Mar 2011 16:51:29 +0000 (16:51 +0000)]
sparc.c (sparc_option_override): Use PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".

* config/sparc/sparc.c (sparc_option_override): Use
PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".

From-SVN: r170879

13 years agore PR c++/47808 ([C++0x] internal compiler error: in tsubst_copy_and_build, at cp...
Jason Merrill [Fri, 11 Mar 2011 16:49:41 +0000 (11:49 -0500)]
re PR c++/47808 ([C++0x] internal compiler error: in tsubst_copy_and_build, at cp/pt.c:13326)

PR c++/47808
* decl.c (compute_array_index_type): Discard folding
if it didn't produce a constant.

From-SVN: r170878

13 years agore PR tree-optimization/48067 (FMA with no add operand produced by convert_mul_to_fma)
Richard Guenther [Fri, 11 Mar 2011 16:36:16 +0000 (16:36 +0000)]
re PR tree-optimization/48067 (FMA with no add operand produced by convert_mul_to_fma)

2011-03-11  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48067
* tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
multiplication result will be only used once on the target
stmt.

* gcc.dg/pr48067.c: New testcase.

From-SVN: r170877

13 years agoinvoke.texi (max-inline-insns-single): Adjust default value.
Richard Guenther [Fri, 11 Mar 2011 16:07:07 +0000 (16:07 +0000)]
invoke.texi (max-inline-insns-single): Adjust default value.

2011-03-11  Richard Guenther  <rguenther@suse.de>

* doc/invoke.texi (max-inline-insns-single): Adjust default value.

From-SVN: r170876

13 years agore PR c++/48073 (ICE with -flto in templated C++ code)
Richard Guenther [Fri, 11 Mar 2011 15:59:42 +0000 (15:59 +0000)]
re PR c++/48073 (ICE with -flto in templated C++ code)

2011-03-11  Richard Guenther  <rguenther@suse.de>

PR lto/48073
* tree.c (find_decls_types_r): Do not walk types only reachable
from IDENTIFIER_NODEs.

* g++.dg/lto/20110311-1_0.C: New testcase.

From-SVN: r170875

13 years agore PR c++/48035 (Mismatch on size of class when initializing hierarchy involving...
Jakub Jelinek [Fri, 11 Mar 2011 15:43:37 +0000 (16:43 +0100)]
re PR c++/48035 (Mismatch on size of class when initializing hierarchy involving virtual inheritance and empty base classes)

PR c++/48035
* init.c (build_zero_init_1): Extracted from build_zero_init.
Add FIELD_SIZE argument, if non-NULL and field bit_position
as not smaller than that, don't add that field's initializer.
Pass DECL_SIZE as last argument to build_zero_init_1
for DECL_FIELD_IS_BASE fields.
(build_zero_init): Use build_zero_init_1.

* g++.dg/inherit/virtual8.C: New test.

From-SVN: r170874