Nathan Froyd [Tue, 3 May 2011 15:43:49 +0000 (15:43 +0000)]
alpha.c (alpha_init_builtins): Call build_function_type_list instead of build_function_type.
* config/alpha/alpha.c (alpha_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173316
Nathan Froyd [Tue, 3 May 2011 15:43:00 +0000 (15:43 +0000)]
xtensa.c (xtensa_init_builtins): Call build_function_type_list instead of build_function_type.
* config/xtensa/xtensa.c (xtensa_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173315
Nathan Froyd [Tue, 3 May 2011 15:40:26 +0000 (15:40 +0000)]
i2000.c (iq2000_init_builtins): Call build_function_type_list instead of build_function_type.
* config/iq2000/i2000.c (iq2000_init_builtins): Call
build_function_type_list instead of build_function_type.
Delete `endlink' variable.
From-SVN: r173314
Nathan Froyd [Tue, 3 May 2011 15:39:30 +0000 (15:39 +0000)]
avr.c (avr_init_builtins): Call build_function_type_list instead of build_function_type.
* config/avr/avr.c (avr_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173313
Nathan Froyd [Tue, 3 May 2011 15:37:53 +0000 (15:37 +0000)]
picochip.c (picochip_init_builtins): Call build_function_type_list instead of build_function_type.
* config/picochip/picochip.c (picochip_init_builtins): Call
build_function_type_list instead of build_function_type.
Delete `endlink' variable.
From-SVN: r173312
Nathan Froyd [Tue, 3 May 2011 15:37:03 +0000 (15:37 +0000)]
bfin.c (bfin_init_builtins): Call build_function_type_list instead of build_function_type.
* config/bfin/bfin.c (bfin_init_builtins): Call
build_function_type_list instead of build_function_type.
From-SVN: r173311
Stuart Henderson [Tue, 3 May 2011 15:09:19 +0000 (15:09 +0000)]
re PR target/39768 (internal compiler error: RTL check: expected code 'const_int', have 'reg' in gen_rotlsi3, at config/bfin/bfin.md:1616)
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Bernd Schmidt
* config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
that's not CONST_INT. Seemingly redundant check is due to PR39768.
From-SVN: r173310
Paolo Carlini [Tue, 3 May 2011 14:20:45 +0000 (14:20 +0000)]
re PR libstdc++/48750 (for_each_template_random_access_ed has unbalanced new/delete[])
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48750
* include/parallel/multiway_merge.h: Run _ValueType destructors.
* include/parallel/multiway_mergesort.h: Likewise.
* include/parallel/quicksort.h: Likewise.
* include/parallel/random_shuffle.h: Likewise.
* include/parallel/partial_sum.h: Likewise.
* include/parallel/losertree.h: Run destructors; minor tweaks.
* include/parallel/par_loop.h: Run destructors, fix memory
allocations and deallocations.
* testsuite/26_numerics/accumulate/48750.cc: New.
* testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
parallel-mode to avoid spurious multiple errors.
From-SVN: r173309
Stuart Henderson [Tue, 3 May 2011 14:19:43 +0000 (14:19 +0000)]
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
From Jie Zhang:
* config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
libbffastfp overrides libgcc when -mfast-fp.
From-SVN: r173308
Stuart Henderson [Tue, 3 May 2011 13:57:15 +0000 (13:57 +0000)]
Originally from Bernd Schmidt
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
Originally from Bernd Schmidt
* config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
* config/bfin/bfin.c (override_options): Test it and error if
TARGET_FDPIC.
From-SVN: r173307
Stuart Henderson [Tue, 3 May 2011 13:47:07 +0000 (13:47 +0000)]
Originally From Bernd Schmidt
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
Originally From Bernd Schmidt
* config/bfin/bfin.c (override_options): Disable -fstack-limit for
FD-PIC.
From-SVN: r173306
Jeff Law [Tue, 3 May 2011 13:12:29 +0000 (07:12 -0600)]
tree-ssa-threadupdate.c (THREAD_TARGET): define.
* tree-ssa-threadupdate.c (THREAD_TARGET): define.
(remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
(craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
than accessing AUX field directly. Free the AUX field before clearing it.
(thread_block, thread_through_loop_header): Likewise.
(thread_single_edge, mark_threaded_blocks): Likewise.
(redirect_edges): Delay clearing the AUX field. Free the AUX field.
(register_jump_thread): Do not attempt to thread to a NULL edge.
From-SVN: r173305
Bernd Schmidt [Tue, 3 May 2011 13:08:36 +0000 (13:08 +0000)]
function.c (init_function_start): Call decide_function_section.
* function.c (init_function_start): Call decide_function_section.
* varasm.c (decide_function_section): New function.
(assemble_start_function): When not using
flag_reorder_blocks_and_partition, don't compute in_cold_section_p
or first_function_block_is_cold.
* rtl.h (decide_function_section): Declare.
* gcc.target/arm/cold-lc.c: New test.
From-SVN: r173303
Jakub Jelinek [Tue, 3 May 2011 13:01:12 +0000 (15:01 +0200)]
re PR target/48774 (gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu)
PR target/48774
* config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
only succeed if req_mode is the same as set_mode.
* gcc.dg/pr48774.c: New test.
From-SVN: r173301
Bernd Schmidt [Tue, 3 May 2011 11:52:38 +0000 (11:52 +0000)]
gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
* gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
* genemit.c (gen_exp): Handle RETURN.
* emit-rtl.c (verify_rtx_sharing): Likewise.
(init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
* rtl.c (copy_rtx): RETURN is shared.
* rtl.h (enum global_rtl_index): Add GR_RETURN.
(ret_rtx): New.
* jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
* config/s390/s390.c (s390_emit_epilogue): Likewise.
* config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
* config/cris/cris.c (cris_expand_return): Likewise.
* config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
* config/rs6000/rs6000.c (rs6000_make_savres_rtx,
rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
* config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
* config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
Likewise.
* config/v850/v850.c (expand_epilogue): Likewise.
* config/bfin/bfin.c (bfin_expand_call): Likewise.
* config/arm/arm.md (epilogue): Likewise.
* config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
* config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
variable to ret_reg.
From-SVN: r173300
Richard Guenther [Tue, 3 May 2011 10:18:29 +0000 (10:18 +0000)]
re PR tree-optimization/48846 (Many -O2 -flto testsuite failures with -m32 -mavx)
2011-05-03 Richard Guenther <rguenther@suse.de>
PR lto/48846
* lto-streamer-in.c (unpack_ts_decl_common_value_fields):
Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
* lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
From-SVN: r173298
Richard Guenther [Tue, 3 May 2011 08:48:00 +0000 (08:48 +0000)]
c-decl.c (grokdeclarator): Instead of looking at TREE_OVERFLOW check if the constant fits in the index type.
2011-05-03 Richard Guenther <rguenther@suse.de>
* c-decl.c (grokdeclarator): Instead of looking at
TREE_OVERFLOW check if the constant fits in the index type.
* gcc.dg/large-size-array-5.c: New testcase.
From-SVN: r173297
Richard Sandiford [Tue, 3 May 2011 07:51:13 +0000 (07:51 +0000)]
vect-strided-u16-i3.c: New test.
gcc/testsuite/
* gcc.dg/vect/vect-strided-u16-i3.c: New test.
From-SVN: r173296
Richard Sandiford [Tue, 3 May 2011 07:49:46 +0000 (07:49 +0000)]
target-supports.exp (check_effective_target_vect_strided): Replace with...
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_vect_strided):
Replace with...
(check_effective_target_vect_strided2)
(check_effective_target_vect_strided3)
(check_effective_target_vect_strided4)
(check_effective_target_vect_strided8): ...these new functions.
* gcc.dg/vect/O3-pr39675-2.c: Update accordingly.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Likewise.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/pr37539.c: Likewise.
* gcc.dg/vect/slp-11a.c: Likewise.
* gcc.dg/vect/slp-11b.c: Likewise.
* gcc.dg/vect/slp-11c.c: Likewise.
* gcc.dg/vect/slp-12a.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-18.c: Likewise.
* gcc.dg/vect/slp-19a.c: Likewise.
* gcc.dg/vect/slp-19b.c: Likewise.
* gcc.dg/vect/slp-21.c: Likewise.
* gcc.dg/vect/slp-23.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/fast-math-vect-complex-3.c: Use vect_stridedN
instead of vect_interleave && vect_extract_even_odd.
* gcc.dg/vect/no-scevccp-outer-10a.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-10b.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-20.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-10.c: Likewise.
* gcc.dg/vect/vect-98.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-strided-a-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-i2.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-a-u16-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Likewise.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
* gcc.dg/vect/vect-strided-mult-char-ls.c: Likewise.
* gcc.dg/vect/vect-strided-mult.c: Likewise.
* gcc.dg/vect/vect-strided-same-dr.c: Likewise.
* gcc.dg/vect/vect-strided-u16-i2.c: Likewise.
* gcc.dg/vect/vect-strided-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-u32-i4.c: Likewise.
* gcc.dg/vect/vect-strided-u32-i8.c: Likewise.
* gcc.dg/vect/vect-strided-u32-mult.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i2.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8.c: Likewise.
* gcc.dg/vect/vect-vfa-03.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-18.c: Add vect_stridedN to the
target condition.
* gcc.dg/vect/pr30843.c: Likewise.
* gcc.dg/vect/pr33866.c: Likewise.
* gcc.dg/vect/slp-reduc-6.c: Likewise.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Likewise.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
From-SVN: r173295
Richard Sandiford [Tue, 3 May 2011 07:49:14 +0000 (07:49 +0000)]
slp-11.c: Split into...
gcc/testsuite/
* gcc.dg/vect/slp-11.c: Split into...
* gcc.dg/vect/slp-11a.c, gcc.dg/vect/slp-11b.c,
gcc.dg/vect/slp-11c.c: ...these tests.
* gcc.dg/vect/slp-12a.c: Split 4-stride loop into...
* gcc.dg/vect/slp-12c.c: ...this new test.
* gcc.dg/vect/slp-19.c: Split into...
* gcc.dg/vect/slp-19a.c, gcc.dg/vect/slp-19b.c,
gcc.dg/vect/slp-19c.c: ...these new tests.
From-SVN: r173294
Richard Sandiford [Tue, 3 May 2011 07:47:31 +0000 (07:47 +0000)]
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_extract_even_odd_wide): Delete.
(check_effective_target_vect_strided_wide): Likewise.
* gcc.dg/vect/O3-pr39675-2.c: Use the non-wide versions instead.
* gcc.dg/vect/fast-math-pr35982.c: Likewise.
* gcc.dg/vect/fast-math-vect-complex-3.c: Likewise.
* gcc.dg/vect/pr37539.c: Likewise.
* gcc.dg/vect/slp-11.c: Likewise.
* gcc.dg/vect/slp-12a.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-19.c: Likewise.
* gcc.dg/vect/slp-23.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-98.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
From-SVN: r173293
Richard Sandiford [Tue, 3 May 2011 07:47:12 +0000 (07:47 +0000)]
neon.md (vec_load_lanes<mode><mode>): New expanders,
gcc/
* config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
(vec_store_lanes<mode><mode>): Likewise.
From-SVN: r173292
Richard Sandiford [Tue, 3 May 2011 07:46:54 +0000 (07:46 +0000)]
md.texi (vec_load_lanes, [...]): Document.
gcc/
* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
convert_optab_index values.
(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
* genopinit.c (optabs): Initialize the new optabs.
* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
(expand_STORE_LANES): New functions.
* tree.h (build_array_type_nelts): Declare.
* tree.c (build_array_type_nelts): New function.
* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
(vect_model_load_cost): Likewise.
(vect_store_lanes_supported, vect_load_lanes_supported)
(vect_record_strided_load_vectors): Declare.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
(vect_transform_strided_load): Split out statement recording into...
(vect_record_strided_load_vectors): ...this new function.
* tree-vect-stmts.c (create_vector_array, read_vector_array)
(write_vector_array, create_array_ref): New functions.
(vect_model_store_cost): Add store_lanes_p argument.
(vect_model_load_cost): Add load_lanes_p argument.
(vectorizable_store): Try to use store-lanes functions for
interleaved stores.
(vectorizable_load): Likewise load-lanes and loads.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
to vect_model_store_cost.
(vect_build_slp_tree): Likewise vect_model_load_cost.
From-SVN: r173291
Richard Sandiford [Tue, 3 May 2011 07:46:10 +0000 (07:46 +0000)]
hooks.h (hook_bool_mode_uhwi_false): Declare.
gcc/
* hooks.h (hook_bool_mode_uhwi_false): Declare.
* hooks.c (hook_bool_mode_uhwi_false): New function.
* target.def (array_mode_supported_p): New hook.
* doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
* doc/tm.texi: Regenerate.
* stor-layout.c (mode_for_array): New function.
(layout_type): Use it.
* config/arm/arm.c (arm_array_mode_supported_p): New function.
(TARGET_ARRAY_MODE_SUPPORTED_P): Define.
From-SVN: r173290
Eric Botcazou [Tue, 3 May 2011 07:20:01 +0000 (07:20 +0000)]
re PR target/48723 (ICE on function returning structure with -fstack-check on corei7-avx)
PR target/48723
* config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
for -fstack-check if the size to allocate is negative.
From-SVN: r173288
Steven G. Kargl [Tue, 3 May 2011 01:23:46 +0000 (01:23 +0000)]
re PR fortran/48720 (quad precision literals do not work)
2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/48720
* gfortran.texi: Document the 'Q' exponent-letter extension.
* invoke.texi: Document -Wreal-q-constant.
* lang.opt: Add -Wreal-q-constant option.
* gfortran.h: Add warn_real_q_constant to option struct.
* primary.c (match_real_constant): Use it. Accept 'Q' as
exponent-letter for REAL(16) real-literal-constant with a
fallback to REAL(10) or error if REAL(10) is not available.
* options.c (gfc_init_options, set_Wall) Set it.
(gfc_handle_option): Handle new option.
From-SVN: r173285
GCC Administrator [Tue, 3 May 2011 00:19:32 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173284
Jonathan Wakely [Tue, 3 May 2011 00:03:38 +0000 (00:03 +0000)]
functional (bind): Remove from overload set when first argument type might be a socket file descriptor.
2011-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/functional (bind): Remove from overload set when first
argument type might be a socket file descriptor.
* testsuite/20_util/bind/socket.cc: New.
From-SVN: r173279
Jonathan Wakely [Mon, 2 May 2011 23:46:24 +0000 (23:46 +0000)]
re PR libstdc++/48848 ([C++0x] std::valarray<T> functions missing)
2011-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/48848
* doc/xml/manual/status_cxx200x.xml: Update valarray status.
* doc/html/*: Regenerate.
From-SVN: r173278
Lawrence Crowl [Mon, 2 May 2011 22:19:48 +0000 (22:19 +0000)]
Upgrade the utility of timevars.
Index: gcc/ChangeLog
2011-04-27 Lawrence Crowl <crowl@google.com>
* timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
(timevar_cond_start): New for starting a timer only when it is not
already running.
(timevar_cond_stop): New for stopping a timer when it was not already
running.
* timevar.c (timevar_stop): Enable start/stop timers to start again.
(timevar_cond_start): New as above.
(timevar_cond_stop): New as above.
* timevar.def: Add start/stop timers for compiler phases,
TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
and TV_PHASE_FINALIZE.
Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
Make unused TV_OVERLOAD into a start/stop timer.
Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
to indicate that they are start/stop timers.
* toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
Move initialization to do_compile.
(do_compile): Add initialization from above.
Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
* c-decl.c (c_write_global_declarations): Add start/stop of
TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
* c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
or TV_PARSE_INLINE, as appropriate.
(c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
(c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
Index: gcc/cp/ChangeLog
2011-04-27 Lawrence Crowl <crowl@google.com>
* decl.c: (push_local_name): Change TV_NAME_LOOKUP to start/stop.
(poplevel): Refactor POP_TIMEVAR_AND_RETURN to plain code.
Change TV_NAME_LOOKUP to start/stop.
(define_label): Refactor timevar calls out to a wrapper function.
Change TV_NAME_LOOKUP to start/stop.
(xref_tag): Likewise.
(lookup_label): Refactor timevar calls out to a wrapper function.
Change TV_NAME_LOOKUP to start_cond/stop_cond.
* pt.c: (instantiate_class_template): Add a wrapper to push/pop new
TV_TEMPLATE_INST.
(instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST.
(lookup_template_class): Refactor timevar calls out to a wrapper
function. Change use of TV_NAME_LOOKUP to TV_TEMPLATE_INST.
(instantiate_decl): Change TV_PARSE to TV_TEMPLATE_INST.
* name-lookup.c: (store_bindings): Change TV_NAME_LOOKUP to start/stop.
(poplevel_class): Change TV_NAME_LOOKUP to start_cond/stop_cond.
(push_namespace): Likewise.
(pop_nested_namespace): Likewise.
(pushdecl_namespace_level): Likewise.
(store_class_bindings): Likewise.
(push_to_top_level): Likewise.
(identifier_type_value): Refactor timevar calls out to a wrapper
function. Change TV_NAME_LOOKUP to start/stop.
(find_binding): Likewise.
(push_using_decl): Likewise.
(lookup_arg_dependent): Likewise.
(push_using_directive): Likewise.
(qualified_lookup_using_namespace): Refactor POP_TIMEVAR_AND_RETURN
to plain code. Change TV_NAME_LOOKUP to start/stop.
(lookup_type_current_level): Likewise. Refactor inner return to
break.
(pushdecl_class_level): Refactor POP_TIMEVAR_AND_RETURN to plain
code. Change TV_NAME_LOOKUP to start_cond/stop_cond.
(pushdecl_top_level_1): Likewise.
(lookup_using_namespace): Likewise.
(pushdecl_with_scope): Refactor timevar calls out to a wrapper
function. Change TV_NAME_LOOKUP to start_cond/stop_cond.
(push_overloaded_decl): Likewise.
(push_class_level_binding): Likewise.
(namespace_binding): Likewise.
(set_namespace_binding): Likewise.
(supplement_binding): Likewise.
(unqualified_namespace_lookup): Likewise.
(lookup_name_real): Likewise.
(lookup_type_scope): Likewise.
(namespace_ancestor): Likewise.
(lookup_name_innermost_nonclass_level): Likewise.
(pushtag): Likewise.
(pop_from_top_level): Likewise.
(pushdecl_maybe_friend): Refactor timevar calls out to a wrapper
function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Wrap long
lines.
(add_using_namespace): Refactor timevar calls out to a wrapper
function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Bypass
wrapper on call to self.
* decl2.c: (cp_write_global_declarations): Add start/stop of
new TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_CHECK_DBGINFO.
Remove push/pop calls to TV_VARCONST.
* parser.c: Add include of "timevar.h".
(cp_parser_explicit_instantiation): Add push/pop calls to
TV_TEMPLATE_INST.
(cp_parser_enum_specifier): Add push/pop calls to new TV_PARSE_ENUM.
(cp_parser_class_specifier): Add wrapper to add push/pop calls to
TV_PARSE_STRUCT.
(cp_parser_function_definition_from_specifiers_and_declarator): Add
push/pop calls to new TV_PARSE_FUNC or TV_PARSE_INLINE.
(cp_parser_late_parsing_for_member): Add push/pop calls to
new TV_PARSE_INMETH.
* call.c: Add include of "timevar.h".
(convert_class_to_reference): Wrap and add push/pop calls to
TV_OVERLOAD.
(build_op_call): Likewise.
(build_conditional_expr): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
(build_user_type_conversion): Reorganize to single return and add
push/pop calls to TV_OVERLOAD.
(perform_overload_resolution): Likewise.
* Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H).
From-SVN: r173277
Jason Merrill [Mon, 2 May 2011 22:00:16 +0000 (18:00 -0400)]
tree.c (build_vec_init_expr): Take complain parm.
* tree.c (build_vec_init_expr): Take complain parm.
(build_vec_init_elt): Likewise. Free arg vector.
(diagnose_non_constexpr_vec_init, build_array_copy): Adjust.
* cp-tree.h (VEC_INIT_EXPR_SLOT): Use VEC_INIT_EXPR_CHECK.
(VEC_INIT_EXPR_INIT): Likewise.
Adjust build_vec_init_expr declaration.
* init.c (perform_member_init): Adjust.
From-SVN: r173275
Jason Merrill [Mon, 2 May 2011 22:00:07 +0000 (18:00 -0400)]
revert: re PR c++/40975 (ICE in copy_tree_r on array new)
Revert:
PR c++/40975
* cp-tree.def (VEC_INIT_EXPR): Add third operand.
* cp-tree.h (VEC_INIT_EXPR_NELTS): New.
* cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
* tree.c (build_vec_init_expr): Handle getting pointer/nelts.
(build_vec_init_elt): Don't expect an array type.
(build_array_copy): Adjust.
* init.c (perform_member_init): Adjust.
(build_new_1): Use build_vec_init_expr.
From-SVN: r173274
Jason Merrill [Mon, 2 May 2011 21:59:57 +0000 (17:59 -0400)]
re PR c++/40975 (ICE in copy_tree_r on array new)
PR c++/40975
* tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
From-SVN: r173273
Jason Merrill [Mon, 2 May 2011 21:59:49 +0000 (17:59 -0400)]
re PR c++/48834 (-fno-exceptions causes wrong code generation on C++ code)
PR c++/48834
* tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS.
Protect an explicit target.
From-SVN: r173272
Simon Martin [Mon, 2 May 2011 20:13:08 +0000 (20:13 +0000)]
re PR c/35445 (ICE with conflicting declarations)
gcc/
2011-05-02 Simon Martin <simartin@users.sourceforge.net>
PR c/35445
* c-decl.c (finish_decl): Only create a composite if the types are
compatible.
gcc/testsuite/
2011-05-02 Simon Martin <simartin@users.sourceforge.net>
PR c/35445
* gcc.dg/pr35445.c: New test.
From-SVN: r173269
Uros Bizjak [Mon, 2 May 2011 19:28:05 +0000 (21:28 +0200)]
mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template.
* config/i386/mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template.
(*movv2sf_internal): Ditto.
From-SVN: r173267
Joseph Myers [Mon, 2 May 2011 19:03:57 +0000 (20:03 +0100)]
fr30-protos.h (Mmode): Don't define.
* config/fr30/fr30-protos.h (Mmode): Don't define.
* config/m32r/m32r-protos.h (Mmode): Don't define. Expand
definition where used.
* config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
define. Expand definitions where used.
* config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
Expand definitions where used.
* config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
rx_function_arg, rx_function_arg_advance,
rx_function_arg_boundary): Expand definitions of those macros.
* config/v850/v850-protos.h (Mmode): Don't define. Expand
definition where used.
From-SVN: r173266
Uros Bizjak [Mon, 2 May 2011 18:58:32 +0000 (20:58 +0200)]
mmx.md (*mov<mode>_internal_rex64): Use %vmovq for reg<->xmm moves.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
reg<->xmm moves.
(*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
(*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
with *movv2sf_internal_rex64_avx.
(*movv2sf_internal): Merge with *movv2sf_internal_avx.
* config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
Use %v prefix in insn mnemonic to handle TARGET_AVX.
(*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
"vex" in "prefix" attribute calculation.
(*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
From-SVN: r173265
Jason Merrill [Mon, 2 May 2011 18:38:44 +0000 (14:38 -0400)]
re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)
PR c++/48446
* decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
(compute_array_index_type): Revert earlier 48446 changes.
(grokdeclarator): Use stabilize_vla_size.
From-SVN: r173264
Dmitry Gorbachev [Mon, 2 May 2011 17:06:49 +0000 (17:06 +0000)]
parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE instead of inappropriate zero values.
* parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE
instead of inappropriate zero values.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r173263
Paolo Carlini [Mon, 2 May 2011 17:05:51 +0000 (17:05 +0000)]
2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.
From-SVN: r173262
Stuart Henderson [Mon, 2 May 2011 17:01:01 +0000 (17:01 +0000)]
re PR target/47951 (web.c:union_match_dups segmentation fault for bfin)
2011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
PR target/47951
* config/bfin/bfin.md (loop_end): Use matching constraints to ensure
inputs match the output.
From-SVN: r173261
Andreas Schwab [Mon, 2 May 2011 16:58:32 +0000 (16:58 +0000)]
re PR target/47955 (gcc.dg/stack-usage-1.c fails on m68k-linux)
PR target/47955
* gcc/config/m68k/m68k.c (m68k_expand_prologue): Set
current_function_static_stack_size.
From-SVN: r173260
Jan Hubicka [Mon, 2 May 2011 16:44:04 +0000 (18:44 +0200)]
lto-streamer.c (lto_streamer_cache_insert_1, [...]): Use pointer map instead of hashtable.
* lto-streamer.c (lto_streamer_cache_insert_1,
lto_streamer_cache_lookup, lto_streamer_cache_create,
lto_streamer_cache_delete): Use pointer map instead of hashtable.
* lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
From-SVN: r173259
Ollie Wild [Mon, 2 May 2011 16:25:14 +0000 (16:25 +0000)]
sso_string_base.h (__sso_string_base<>::_M_construct): Fix unqualified lookup.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
Fix unqualified lookup.
(__sso_string_base<>::_M_construct): Likewise.
(__sso_string_base<>::_M_construct): Likewise.
(__sso_string_base<>::_M_assign): Likewise.
(__sso_string_base<>::_M_reserve): Likewise.
(__sso_string_base<>::_M_mutate): Likewise.
(__sso_string_base<>::_M_erase): Likewise.
* include/ext/vstring.h (__versa_string<>::replace): Likewise.
(__versa_string<>::compare): Likewise.
* include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
(__versa_string<>::compare): Likewise.
(__versa_string<>::compare): Likewise.
(__versa_string<>::compare): Likewise.
(__versa_string<>::compare): Likewise.
From-SVN: r173257
Joseph Myers [Mon, 2 May 2011 15:42:39 +0000 (16:42 +0100)]
gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.
contrib:
* gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.
gcc:
* config/m68k/genopt.sh, config/m68k/m68k-isas.def,
config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
config/m68k/t-opts: New files.
* config/m68k/m68k-tables.opt: New file (generated).
* config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
extra_options and m68k/t-opts to tmake_file.
* config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
(all_isas): Initialize using m68k-isas.def.
(all_microarchs): Initialize using m68k-microarchs.def.
(m68k_find_selection): Remove.
(m68k_handle_option): Don't assert that global structures are in
use. Use error_at. Access variables via opts pointer. Don't
handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
directly for -m68020-40 and -m68020-60.
(m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
m68k_tune_entry here.
* config/m68k/m68k.h (enum uarch_type, enum target_device): Move
to m68k-opts.h.
(m68k_library_id_string): Remove declaration.
* config/m68k/m68k.opt (config/m68k/m68k-opts.h): New
HeaderInclude.
(m68k_library_id_string): New Variable.
(march=, mcpu=, mtune=): Use Enum and Var.
From-SVN: r173256
Richard Guenther [Mon, 2 May 2011 15:22:54 +0000 (15:22 +0000)]
varasm.c (output_constructor_regular_field): Compute zero-based index with double-ints.
2011-05-02 Richard Guenther <rguenther@suse.de>
* varasm.c (output_constructor_regular_field): Compute zero-based
index with double-ints. Make sure to ICE instead of producing
wrong code.
* cgraph.c (cgraph_add_thunk): Do not create new tree nodes
in asserts. Properly use a signed type.
From-SVN: r173255
Uros Bizjak [Mon, 2 May 2011 14:10:05 +0000 (16:10 +0200)]
sse.md (V): New mode iterator.
* config/i386/sse.md (V): New mode iterator.
(V_128): Rename from SSEMODE. Make V2DF mode conditional on
TARGET_SSE2.
(V_256): Rename from AVX256MODE.
(VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
condition to all users.
(VF1): Ditto.
(VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
condition to all users.
(VF_128): Make V4SF mode unconditional.
(VF_256): Rename from AVX256MODEF2P.
(VI4F_128): Rename from SSEMODE4S.
(VI8F_128): Rename from SSEMODE2D.
(VI4F_256): Rename from AVX256MODE8P.
(VI8F_256): Rename from AVX256MODE4P.
(avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
(ssescalarmodesuffix): Remove SF and DF modes.
(SSEMODE124): Remove.
(SSEMODE1248): Ditto.
(SSEMODEF2P): Ditto.
(AVXMODEF2P): Ditto.
(AVXMODEFDP): Ditto.
(AVXMODEFSP): Ditto.
(VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
unconditional.
(VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
unconditional.
(xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
xop_pcmov_<mode>256. Use V mode iterator.
Adjust RTX patterns globally for renamed mode attributes.
From-SVN: r173253
Ulrich Weigand [Mon, 2 May 2011 13:16:55 +0000 (13:16 +0000)]
haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.
* haifa-sched.c (sched_emit_insn): Emit insn before first
non-scheduled insn. Inform back-end about new insn. Add
new insn to scheduled_insns list.
From-SVN: r173251
Richard Guenther [Mon, 2 May 2011 13:11:27 +0000 (13:11 +0000)]
re PR tree-optimization/48822 (G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.)
2011-05-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/48822
* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
(process_scc): Indicate which iteration we start.
* gcc.dg/torture/pr48822.c: New testcase.
From-SVN: r173250
Paolo Carlini [Mon, 2 May 2011 12:44:15 +0000 (12:44 +0000)]
re PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522))
/cp
2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47969
* decl.c (compute_array_index_type): Check build_expr_type_conversion
return value for NULL_TREE.
/testsuite
2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47969
* g++.dg/cpp0x/constexpr-47969.C: New.
From-SVN: r173249
Jan Hubicka [Mon, 2 May 2011 12:37:13 +0000 (14:37 +0200)]
lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
(lto_section_overrun): New.
* lto-section-out.c (append_block): Rename to ...
(lto_append_block): ... this one; export.
(lto_output_1_stream): Move lto lto-streamer.h
(lto_output_data_stream): Update.
* lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
(lto_output_1_stream, lto_input_1_unsigned): Turn into inline
functions.
From-SVN: r173247
Ira Rosen [Mon, 2 May 2011 11:13:26 +0000 (11:13 +0000)]
re PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)
PR testsuite/48498
* gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
on vect_no_align targets.
* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
vect_no_align targets.
From-SVN: r173245
Richard Guenther [Mon, 2 May 2011 11:12:26 +0000 (11:12 +0000)]
tree.c (tree_code_counts): New global array.
2011-05-02 Richard Guenther <rguenther@suse.de>
* tree.c (tree_code_counts): New global array.
(record_node_allocation_statistics): Count individual tree codes.
(dump_tree_statistics): Dump individual code stats.
From-SVN: r173244
Jonathan Wakely [Mon, 2 May 2011 10:39:15 +0000 (10:39 +0000)]
status_cxx200x.xml: Update to reflect current status and FDIS content.
2011-05-02 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx200x.xml: Update to reflect current status
and FDIS content.
* doc/xml/manual/documentation_hacking.xml: Fix typo.
* doc/html/*: Regenerate.
From-SVN: r173243
Xinliang David Li [Mon, 2 May 2011 05:30:59 +0000 (05:30 +0000)]
new tests
From-SVN: r173242
GCC Administrator [Mon, 2 May 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173240
Jan Hubicka [Sun, 1 May 2011 19:11:07 +0000 (21:11 +0200)]
ipa-inline.c (caller_growth_limits): Fix thinko when
* ipa-inline.c (caller_growth_limits): Fix thinko when
* ipa-inline.c (caller_growth_limits): Fix thinko when
looking for largest stack frame.
* ipa-inline.h (dump_inline_summary): Declare.
* ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
on stack usage.
(dump_inline_summary): Export.
(debug_inline_summary): Declare as DEBUG_FUNCTION.
From-SVN: r173234
Jerry DeLisle [Sun, 1 May 2011 12:37:05 +0000 (12:37 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
* gfortran.dg/round_3.f08: Add more checks.
From-SVN: r173233
Anatoly Sokolov [Sun, 1 May 2011 12:33:13 +0000 (16:33 +0400)]
reginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to reg_class_t.
* reginfo.c (memory_move_cost): Change rclass argument type form
'enum reg_class' to reg_class_t.
* reload.h (memory_move_cost): Update prototype.
* postreload.c reload_cse_simplify_set): Change type dclass var to
reg_class_t.
* ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
Update prototype.
(ira_allocate_and_set_costs): Change aclass argument type form
'enum reg_class' to reg_class_t.
* ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
Change aclass argument type to reg_class_t.
(update_conflict_hard_reg_costs): Change type aclass and pref vars
to reg_class_t.
* gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
memory_move_cost call.
* config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
Change type tmp var to reg_class_t.
From-SVN: r173232
Jerry DeLisle [Sun, 1 May 2011 12:32:18 +0000 (12:32 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
* io/write_float.def (output_float): Gather up integer declarations and
add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
everywhere. For ROUND_UP scan the digit string and only perform
rounding if something other than '0' is found.
From-SVN: r173231
GCC Administrator [Sun, 1 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173229
Eric Botcazou [Sat, 30 Apr 2011 21:16:34 +0000 (21:16 +0000)]
gnatvsn.ads (Library_Version): Bump to 4.7.
* gnatvsn.ads (Library_Version): Bump to 4.7.
(Current_Year): Bump to 2011.
From-SVN: r173224
Thomas Koenig [Sat, 30 Apr 2011 21:13:44 +0000 (21:13 +0000)]
dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before displaying it; restore afterwards.
2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-prase-tree.c (show_code_node): Set the current
namespace to the BLOCK before displaying it; restore
afterwards.
From-SVN: r173223
Paolo Carlini [Sat, 30 Apr 2011 19:40:06 +0000 (19:40 +0000)]
[multiple changes]
2011-04-30 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (__is_default_constructible_atom,
__is_default_constructible_safe<, true>,
__is_direct_constructible_new_safe,
__is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
__is_direct_constructible_ref_cast, __is_direct_constructible,
__is_nary_constructible): Simplify; add comments throughout.
2011-04-30 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r173222
Tobias Burnus [Sat, 30 Apr 2011 16:33:47 +0000 (18:33 +0200)]
re PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" imports it)
2011-04-30 Tobias Burnus <burnus@net-b.de>
PR fortran/48821
* gfortran.dg/import9.f90: New, proper test.
* gfortran.dg/interface_37.f90: Remove bogus
test (bogus copy of interface_36.f90).
From-SVN: r173221
Doug Kwan [Sat, 30 Apr 2011 16:26:23 +0000 (16:26 +0000)]
Makefile.am (install-freestanding-headers): Also install cxxabi_tweaks.h.
2011-04-30 Doug Kwan <dougkwan@google.com>
* include/Makefile.am (install-freestanding-headers): Also install
cxxabi_tweaks.h.
* include/Makefile.in: Regenerate.
From-SVN: r173220
Tobias Burnus [Sat, 30 Apr 2011 15:54:49 +0000 (17:54 +0200)]
re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)
2011-04-30 Tobias Burnus <burnus@net-b.de>
PR fortran/48800
* decl.c (gfc_match_import): Don't try to find the
symbol if already found.
2011-04-30 Tobias Burnus <burnus@net-b.de>
PR fortran/48800
* gfortran.dg/interface_37.f90: New.
From-SVN: r173219
Diego Novillo [Sat, 30 Apr 2011 15:20:58 +0000 (11:20 -0400)]
cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
cp/ChangeLog
2011-04-29 Le-Chun Wu <lcwu@google.com>
* cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
* call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
(build_over_call): Use it to determine whether to emit a NULL
warning for template function instantiations.
(build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
EXPLICIT_TARGS is set.
2011-04-29 Diego Novillo <dnovillo@google.com>
Le-Chun Wu <lcwu@google.com>
* call.c (conversion_null_warnings): Also handle assignments
when warning about NULL conversions.
testsuite/ChangeLog
2011-04-29 Le-Chun Wu <lcwu@google.com>
* g++.dg/warn/Wnull-conversion-1.C: New.
* g++.dg/warn/Wnull-conversion-2.C: New.
2011-04-29 Le-Chun Wu <lcwu@google.com>
* g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
warning in implicitly instantiated templates.
2011-04-29 Diego Novillo <dnovillo@google.com>
* g++.old-deja/g++.other/null3.C: Expect warning about converting
boolean to a pointer.
From-SVN: r173217
Jan Hubicka [Sat, 30 Apr 2011 14:08:03 +0000 (16:08 +0200)]
ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with flatten attribute.
* ipa-inline.c (can_inline_edge_p): Disregard limits when
inlining into function with flatten attribute.
(want_inline_small_function_p): Be more realistic about inlining
cold calls where callee size grows.
From-SVN: r173216
Jan Hubicka [Sat, 30 Apr 2011 14:07:06 +0000 (16:07 +0200)]
cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.
* cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
flags.
From-SVN: r173215
Paul Thomas [Sat, 30 Apr 2011 11:46:31 +0000 (11:46 +0000)]
re PR fortran/48746 (Matmul with allocate on assignment)
2011-04-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48746
* trans-expr.c (fcncall_realloc_result): Set the bounds and the
offset so that the lbounds are one.
(gfc_trans_arrayfunc_assign): Add rank to arguments of above.
2011-04-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48746
* gfortran.dg/realloc_on_assign_7.f03: Test bounds.
From-SVN: r173213
Anatoly Sokolov [Sat, 30 Apr 2011 11:17:56 +0000 (15:17 +0400)]
sparc.h (PRINT_OPERAND, [...]): Remove.
* config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove.
* config/sparc/sparc-protos.h (print_operand): Remove declaration.
* config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
(print_operand): Rename to...
(sparc_print_operand): ...this. Make static. Adjust
sparc_print_operand function call.
(sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
functions.
From-SVN: r173212
Jan Hubicka [Sat, 30 Apr 2011 11:01:26 +0000 (13:01 +0200)]
re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466)
PR middle-end/48752
* ipa-inline.c (early_inliner): Disable when doing late
addition of function.
From-SVN: r173211
Jakub Jelinek [Sat, 30 Apr 2011 10:06:18 +0000 (12:06 +0200)]
dwarf2.h (DW_OP_GNU_const_type, [...]): New.
* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.
* dwarf2out.c (get_address_mode): New inline.
(mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
if not dwarf_strict emit
DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
(dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
mem_loc_descriptor callers.
(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
(base_types): New variable.
(get_base_type_offset, calc_base_type_die_sizes,
base_type_for_mode, mark_base_types, base_type_cmp,
move_marked_base_types): New functions.
(calc_die_sizes): Assert that die_offset is 0 or equal to
next_die_offset.
(loc_descriptor): Only handle here lowpart SUBREGs of REG, for
others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
callers. If not dwarf_strict, call mem_loc_descriptor even for
non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
(gen_subprogram_die): Don't give up on call site parameters
with non-integral or large integral modes. Adjust
mem_loc_descriptor callers.
(prune_unused_types): Call prune_unused_types_mark on base_types
vector entries.
(resolve_addr): Call mark_base_types.
(dwarf2out_finish): Call move_marked_base_types.
From-SVN: r173210
Jakub Jelinek [Sat, 30 Apr 2011 06:54:02 +0000 (08:54 +0200)]
re PR testsuite/48809 (switch statement optimization error)
PR tree-optimization/48809
* tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
type.
(gen_inbound_check): Don't compute index_expr - range_min in utype
again, instead reuse SSA_NAME initialized in build_arrays.
Remove two useless gsi_for_stmt calls.
* gcc.c-torture/execute/pr48809.c: New test.
From-SVN: r173207
Jeff Law [Sat, 30 Apr 2011 03:46:17 +0000 (21:46 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Add missing return.
* tree-ssa-threadedge.c (thread_across_edge): Add missing return.
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.
From-SVN: r173206
GCC Administrator [Sat, 30 Apr 2011 00:19:30 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173204
Martin Jambor [Fri, 29 Apr 2011 23:42:15 +0000 (01:42 +0200)]
cgraph.h (cgraph_postorder): Remove declaration.
2011-04-29 Martin Jambor <mjambor@suse.cz>
* cgraph.h (cgraph_postorder): Remove declaration.
* ipa-utils.h (ipa_free_postorder_info): Declare.
(ipa_reverse_postorder): Likewise.
* cgraphunit.c: Include ipa-utils.h.
(cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
* ipa-inline.c: Include ipa-utils.h.
(ipa_inline): Update call to ipa_reverse_postorder.
* ipa-pure-const.c (propagate_pure_const): Update call to
ipa_reduced_postorder and ipa_print_order. Call
ipa_free_postorder_info to clean up.
(propagate_nothrow): Likewise.
* ipa-reference.c (propagate): Removed a useless call to
ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
and ipa_print_order. Call ipa_free_postorder_info to clean up.
* ipa.c: Include ipa-utils.h.
(ipa_profile): Update call to ipa_reverse_postorder.
(cgraph_postorder): Moved to...
* ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
(ipa_utils_print_order): Renamed to ipa_print_order.
(ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
comments.
(ipa_free_postorder_info): New function.
* passes.c: Include ipa-utils.h.
(do_per_function_toporder): Update call to ipa_reverse_postorder.
(ipa_write_summaries): Likewise.
* Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
(cgraphunit.o): Likewise.
(ipa.o): Likewise.
(ipa-inline.o): Likewise.
lto/
* lto.c: Include ipa-utils.h.
(lto_balanced_map): Update call to ipa_reverse_postorder.
* Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
From-SVN: r173197
Paolo Carlini [Fri, 29 Apr 2011 22:03:40 +0000 (22:03 +0000)]
re PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', have 'exceptional' (error_mark) with -fkeep-inline-functions)
/cp
2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48606
* init.c (perform_member_init): Check build_value_init return
value for error_mark_node.
/testsuite
2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48606
* g++.dg/init/ctor10.C: New.
From-SVN: r173194
Jan Hubicka [Fri, 29 Apr 2011 21:21:46 +0000 (23:21 +0200)]
inline-10.c: New testcase.
* gcc.dg/tree-ssa/inline-10.c: New testcase.
* gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
* ipa-inline.h (clause_t): Turn into unsigned int.
* ipa-inline-analysis.c (add_clause): Do more simplification.
(and_predicates): Shortcut more cases.
(predicates_equal_p): Move forward; check that clauses are properly
ordered.
(or_predicates): Shortcut more cases.
(edge_execution_predicate): Rewrite as...
(set_cond_stmt_execution_predicate): ... this function; handle
__builtin_constant_p.
(set_switch_stmt_execution_predicate): New .
(compute_bb_predicates): New.
(will_be_nonconstant_predicate): Update TODO.
(estimate_function_body_sizes): Use compute_bb_predicates
and free them later, always try to estimate if stmt is constant.
(estimate_time_after_inlining, estimate_size_after_inlining):
Gracefully handle optimized out edges.
(read_predicate): Fix off by one error.
From-SVN: r173190
Paul Thomas [Fri, 29 Apr 2011 20:26:56 +0000 (20:26 +0000)]
re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)
2011-04-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48462
* trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
automatic reallocation when the lhs is a target.
PR fortran/48746
* trans-expr.c (fcncall_realloc_result): Make sure that the
result dtype field is set before the function call.
2011-04-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48462
* gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs
being a target.
PR fortran/48746
* gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746.
From-SVN: r173185
Richard Guenther [Fri, 29 Apr 2011 19:36:12 +0000 (19:36 +0000)]
re PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite on SPARC)
2011-04-29 Richard Guenther <rguenther@suse.de>
PR middle-end/48819
* constants.c (build_constants_constructor): Use ptr_type_node for
temp.
From-SVN: r173183
Ian Lance Taylor [Fri, 29 Apr 2011 17:53:53 +0000 (17:53 +0000)]
libgo http/cgi: Pass down environment variables for irix and solaris.
From-SVN: r173181
Nicola Pero [Fri, 29 Apr 2011 17:31:51 +0000 (17:31 +0000)]
In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
* Makefile.in (ENABLE_MAINTAINER_RULES): New.
In gcc/cp/:
2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>,
Mike Stump <mikestump@comcast.net>
* Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
in maintainer mode. Use the --output-file option of gperf instead
of > to prevent creating an empty cp/cfns.h when gperf is not
available.
From-SVN: r173178
Xinliang David Li [Fri, 29 Apr 2011 17:13:23 +0000 (17:13 +0000)]
use tls for ic vars
From-SVN: r173177
Tobias Burnus [Fri, 29 Apr 2011 16:49:53 +0000 (18:49 +0200)]
re PR fortran/48810 ([OOP] TPB rejected because module procedure is private)
2011-04-29 Tobias Burnus <burnus@net-b.de>
PR fortran/48810
* resolve.c (resolve_typebound_generic_call): Don't check access
flags of the specific function.
PR fortran/48800
* resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
to AS_ASSUMED_SHAPE for function results.
(resolve_fl_var_and_proc): Print also for function results with
AS_DEFERRED an error, if they are not a pointer or allocatable.
(resolve_types): Make sure arguments of procedures in interface
blocks are resolved.
2011-04-29 Tobias Burnus <burnus@net-b.de>
PR fortran/48810
* gfortran.dg/typebound_proc_22.f90: New.
PR fortran/48800
* gfortran.dg/interface_36.f90: New.
From-SVN: r173175
Janne Blomqvist [Fri, 29 Apr 2011 16:11:36 +0000 (19:11 +0300)]
Whitespace fixes
From-SVN: r173173
Janne Blomqvist [Fri, 29 Apr 2011 16:09:45 +0000 (19:09 +0300)]
Fix path handling
From-SVN: r173172
Janne Blomqvist [Fri, 29 Apr 2011 16:06:48 +0000 (19:06 +0300)]
PR 48488 Typo
From-SVN: r173171
Janne Blomqvist [Fri, 29 Apr 2011 16:03:54 +0000 (19:03 +0300)]
PR 48488 Fix comments
From-SVN: r173170
Janne Blomqvist [Fri, 29 Apr 2011 15:58:20 +0000 (18:58 +0300)]
PR 48488 Fix comments
From-SVN: r173169
Jerry DeLisle [Fri, 29 Apr 2011 15:08:57 +0000 (15:08 +0000)]
re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48488
PR libgfortran/48602
PR libgfortran/48615
PR libgfortran/48684
PR libgfortran/48787
* gfortran.dg/fmt_g.f: Adjust test.
* gfortran.dg/fmt_g0_1.f08: Adjust test.
* gfortran.dg/round_3.f08: New test.
* gfortran.dg/namelist_print_1.f: Adjust test.
* gfortran.dg/char4_iunit_1.f03: Adjust test.
* gfortran.dg/f2003_io_5.f03: Adjust test.
* gfortran.dg/coarray_15.f90: Adjust test.
* gfortran.dg/namelist_65.f90: Adjust test.
* gfortran.dg/fmt_cache_1.f: Adjust test.
* gfortran.dg/char4_iunit_2.f03: Adjust test.
* gfortran.dg/real_const_3.f90: Adjust test.
From-SVN: r173168
Richard Guenther [Fri, 29 Apr 2011 15:00:04 +0000 (15:00 +0000)]
builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result.
2011-04-29 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_classify_type): Use integer_type_node
for the type of the result.
(fold_builtin_isascii): Likewise.
(fold_builtin_toascii): Use integer_type_node where appropriate.
(fold_builtin_logb): Likewise.
(fold_builtin_frexp): Likewise.
(fold_builtin_strstr): Likewise.
(fold_builtin_strpbrk): Likewise.
(fold_builtin_fputs): Likewise.
(fold_builtin_sprintf): Likewise.
(fold_builtin_snprintf): Likewise.
(fold_builtin_printf): Likewise.
(do_mpfr_remquo): Use a proper type for the assigned constant.
(do_mpfr_lgamma_r): Likewise.
* dwarf2out.c (resolve_one_addr): Use size_int.
* except.c (init_eh): Likewise.
(assign_filter_values): Use integer_type_node for filter values.
(sjlj_emit_dispatch_table): Use integer_type_node for dispatch
indices.
* tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
for EH region numbers.
* tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
for the shift amount.
From-SVN: r173167
Jerry DeLisle [Fri, 29 Apr 2011 14:56:02 +0000 (14:56 +0000)]
re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Janne Blomqvist <jb@gcc.gnu.org>
PR libgfortran/48488
PR libgfortran/48602
PR libgfortran/48615
PR libgfortran/48684
PR libgfortran/48787
* io/write.c (write_d, write_e, write_f, write_en,
write_es): Add precision compemsation parameter to call.
(set_fnode_default): Adjust default widths to assure
round trip on write and read. (write_real): Adjust call to write_float.
(write_real_g0): Calculate compensation for extra precision and adjust
call to write_float.
* io/write_float.def (output_float_FMT_G_): Use volatile rather than
asm volatile to avoid optimization issue. Correctly calculate the
number of blanks (nb) to be appended and simplify calculation logic.
(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
default widths. Eliminate the code that attempted to reduce the
the precision used in later sprintf functions. Add call parameter to
compensate for extra precision.
Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r173166
Richard Guenther [Fri, 29 Apr 2011 14:20:41 +0000 (14:20 +0000)]
expr.h (expand_shift): Rename to ...
2011-04-29 Richard Guenther <rguenther@suse.de>
* expr.h (expand_shift): Rename to ...
(expand_variable_shift): ... this.
(expand_shift): Take a constant shift amount.
* expmed.c (expand_shift): Rename to ...
(expand_variable_shift): ... this.
(expand_shift): New wrapper around expand_variable_shift.
* expr.c (convert_move, emit_group_load_1, emit_group_store,
optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
* expmed.c (store_fixed_bit_field, extract_bit_field_1,
extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
emit_store_flag_1, emit_store_flag): Likewise.
* builtins.c (expand_builtin_signbit): Likewise.
* calls.c (load_register_parameters): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* lower-subreg.c (resolve_shift_zext): Likewise.
* optabs.c (widen_bswap, expand_abs_nojump,
expand_one_cmpl_abs_nojump, expand_float): Likewise.
* spu/spu.c (spu_expand_extv): Likewise.
* sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
From-SVN: r173157
Richard Guenther [Fri, 29 Apr 2011 13:11:18 +0000 (13:11 +0000)]
tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number.
2011-04-29 Richard Guenther <rguenther@suse.de>
* tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
for the remapped region number.
* predict.c (build_predict_expr): Use integer_type_node for the
predict kind.
* fold-const.c (fold_binary_loc): Use integer_type_node for
the shift amount. Use a proper type for the PLUS_EXPR operand.
From-SVN: r173156
Michael Matz [Fri, 29 Apr 2011 12:27:26 +0000 (12:27 +0000)]
lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins.
* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
other trees that just builtins.
(lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
lto/
* lto.c (toplevel): Include tree-flow.h.
(lto_read_in_decl_state): Don't merge types here.
(tree_with_vars): New static hash table.
(remember_with_vars): New static functions.
(LTO_FIXUP_TYPE): New macro.
(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
(lto_read_decls): Uniquify while reading in trees.
(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
lto_fixup_tree): Remove.
(lto_fixup_state): Remove data argument. Use
lto_symtab_prevailing_decl.
(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
(lto_fixup_prevailing_decls): New function.
(lto_fixup_state_aux): Argument aux is unused.
(lto_fixup_decls): Don't allocate pointer sets, don't use
lto_fixup_tree, use lto_fixup_prevailing_decls.
(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
From-SVN: r173155
Michael Matz [Fri, 29 Apr 2011 12:23:46 +0000 (12:23 +0000)]
misc.c (gnat_handle_option): Set warn_maybe_uninitialized.
ada/
* gcc-interface/misc.c (gnat_handle_option): Set
warn_maybe_uninitialized.
fortran/
* options.c (options.c): Set warn_maybe_uninitialized.
From-SVN: r173154
Richard Guenther [Fri, 29 Apr 2011 12:00:55 +0000 (12:00 +0000)]
tree-nested.c (get_trampoline_type): Use size_int.
2011-04-29 Richard Guenther <rguenther@suse.de>
* tree-nested.c (get_trampoline_type): Use size_int.
(get_nl_goto_field): Likewise.
* tree-eh.c (lower_try_finally_switch): Use integer_type_node
for all indexes.
(lower_eh_constructs_2): Likewise.
(lower_resx): Likewise.
(lower_eh_dispatch): Likewise.
* tree-mudflap.c (mf_build_string): Use size_int.
(mudflap_register_call): Use integer_type_node for the flag.
(mudflap_enqueue_constant): Use size_int.
* tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
instead of rebuilding it.
From-SVN: r173153