Jakub Jelinek [Thu, 29 Mar 2012 15:02:38 +0000 (17:02 +0200)]
re PR c++/52759 (ICE in cp/mangle.c)
PR c++/52759
* decl.c (start_decl): Don't call maybe_apply_pragma_weak
if processing_template_decl.
* g++.dg/ext/weak4.C: New test.
From-SVN: r185966
Jakub Jelinek [Thu, 29 Mar 2012 14:55:53 +0000 (16:55 +0200)]
re PR tree-optimization/52760 (Revision 185599 causes miscompare on sphinx3)
PR tree-optimization/52760
* tree-vect-slp.c (vect_get_constant_vectors): Convert constant_p
shift count for {L,R}{SHIFT,ROTATE}_EXPR to TREE_TYPE (vector_type).
* gcc.c-torture/execute/pr52760.c: New test.
From-SVN: r185965
Jason Merrill [Thu, 29 Mar 2012 14:14:00 +0000 (10:14 -0400)]
re PR c++/52743 (g++-4.7.0 seg faults on overload functions.)
PR c++/52743
* call.c (compare_ics): Handle ck_aggr like ck_list.
From-SVN: r185963
Richard Guenther [Thu, 29 Mar 2012 13:54:16 +0000 (13:54 +0000)]
cgraph.h (cgraph_materialize_all_clones): Remove.
2012-03-29 Richard Guenther <rguenther@suse.de>
* cgraph.h (cgraph_materialize_all_clones): Remove.
(reset_inline_failed): Likewise.
* cgraphunit.c (cgraph_materialize_all_clones): Make static.
* cgraphbuild.c (reset_inline_failed): Remove.
* rtl.h (cse_main): Remove.
(extended_count): Likewise.
* cse.c (dump_class): Mark as DEBUG_FUNCTION.
(cse_main): Make static.
* combine.c (extended_count): Remove.
(dump_combine_stats): Mark as DEBUG_FUNCTION.
* basic-block.h (reorder_basic_blocks): Remove.
* bb-reorder.c (reorder_basic_blocks): Make static.
* Makefile.in (dse.o): Remove dse.h dependency.
* dse.h: Remove.
* dse.c (gate_dse): Remove.
(clear_alias_mode_eq): Likewise.
(clear_alias_mode_hash): Likewise.
(dse_record_singleton_alias_set): Likewise.
(dse_invalidate_singleton_alias_set): Likewise.
From-SVN: r185962
H.J. Lu [Thu, 29 Mar 2012 12:57:05 +0000 (12:57 +0000)]
Use crtbegin_so%O%s/crtend_so%O%s for -mandroid -shared
2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
* config/linux-android.h (ANDROID_STARTFILE_SPEC): Use
crtbegin_so%O%s for -shared.
(ANDROID_ENDFILE_SPEC): Use crtend_so%O%s for -shared.
From-SVN: r185958
H.J. Lu [Thu, 29 Mar 2012 12:48:08 +0000 (12:48 +0000)]
Define x86_64_fallback_frame_state only for glibc
2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
only for glibc.
From-SVN: r185957
Richard Guenther [Thu, 29 Mar 2012 12:47:51 +0000 (12:47 +0000)]
tree-flow.h (struct pre_expr_d): Remove forward declaration.
2012-03-29 Richard Guenther <rguenther@suse.de>
* tree-flow.h (struct pre_expr_d): Remove forward declaration.
(add_to_value): Remove.
(print_value_expressions): Likewise.
* tree-ssa-pre.c (add_to_value): Make static.
(print_value_expressions): Likewise.
* gimple.h (gimple_adjust_this_by_delta): Remove.
* gimple-fold.c (gimple_adjust_this_by_delta): Likewise.
From-SVN: r185956
Anthony Green [Thu, 29 Mar 2012 12:41:52 +0000 (12:41 +0000)]
Restore trampled commits
From-SVN: r185955
Richard Guenther [Thu, 29 Mar 2012 08:27:04 +0000 (08:27 +0000)]
re PR middle-end/50708 (Infinite loop between rshift_double and lshift_double if count is LONG_MIN)
2012-03-29 Richard Guenther <rguenther@suse.de>
PR middle-end/50708
* double-int.h (rshift_double): Remove.
* double-int.c (lshift_double): Use absu_hwi to make count
positive.
(rshift_double): Make static, take unsigned count argument,
remove handling of negative count argument.
(double_int_rshift): Dispatch to lshift_double.
From-SVN: r185951
Benjamin Kosnik [Thu, 29 Mar 2012 06:14:32 +0000 (06:14 +0000)]
re PR libstdc++/52689 (static linking with libstdc++ fails)
2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52689
* libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
* libsupc++/Makefile.in: Regenerated.
* src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
(libstdc___la_SOURCES): Add in compatiblity files, with content
that varies with -DPIC.
* src/Makefile.in: Regenerated.
* src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
* src/c++11/Makefile.in: Regenerated.
* src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
* src/c++11/compatibility-c++0x.cc: Same.
* src/c++11/future.cc: Consolidate compatibility bits into..
* src/c++11/mutex.cc: Consolidate compatibility bits into..
* src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
* src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
* src/c++98/Makefile.in: Regenerated.
* src/c++98/compatibility-ldbl.cc: Guard with PIC
* src/c++98/compatibility-list-2.cc: Same.
* src/c++98/compatibility-list.cc: Same.
* src/c++98/compatibility.cc: Tweak comments.
From-SVN: r185950
Ian Lance Taylor [Thu, 29 Mar 2012 03:53:13 +0000 (03:53 +0000)]
compiler, libgo: unsafe.{Sizeof,Alignof,Offsetof} return uintptr.
From-SVN: r185946
Jason Merrill [Thu, 29 Mar 2012 02:58:29 +0000 (22:58 -0400)]
re PR c++/52746 (Explicit virtual destructor call replaced by direct call in template function)
PR c++/52746
* typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
we didn't get an explicit scope.
* pt.c (tsubst_baselink): Likewise.
From-SVN: r185945
GCC Administrator [Thu, 29 Mar 2012 00:19:04 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r185943
Ian Lance Taylor [Wed, 28 Mar 2012 23:19:06 +0000 (23:19 +0000)]
mksysinfo: Fix use of _in6_addr in _zone_net_addr_t.
From Rainer Orth.
From-SVN: r185938
H.J. Lu [Wed, 28 Mar 2012 22:42:28 +0000 (22:42 +0000)]
Add ABI_64 and replace ISA_X32 with ABI_X32
2012-03-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
OPTION_MASK_ABI_64.
* config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
(SPEC_X32): Likewise.
(MULTILIB_DEFAULTS): Likewise.
* config/i386/i386.c (isa_opts): Remove -m64.
(ix86_target_string): Properly handle -m32/-m64/-mx32.
(ix86_option_override_internal): Properly
set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as
handle -m32, -m64 and -mx32.
* config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
with OPTION_ABI_X32. Moved after TARGET_LP64.
(TARGET_LP64): Changed to OPTION_ABI_64.
* config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
(mx32): Replace ISA_X32 with ABI_X32.
From-SVN: r185937
Ian Lance Taylor [Wed, 28 Mar 2012 22:31:02 +0000 (22:31 +0000)]
compiler: fix null-dereference on invalid len() arg.
This patch fixes an ICE caused by syntax errors in arguments
to unary built-in functions like len().
Updates issue 7.
From Rémy Oudompheng.
From-SVN: r185935
Ian Lance Taylor [Wed, 28 Mar 2012 22:25:37 +0000 (22:25 +0000)]
compiler: avoid an ICE on bound interface methods used as values.
Updates issue 7.
From-SVN: r185933
Ian Lance Taylor [Wed, 28 Mar 2012 22:21:57 +0000 (22:21 +0000)]
compiler: fix method finalization of unnamed structs.
Used to trigger an ICE on
var v struct{I}; type I interface{}
Updates issue 7.
From-SVN: r185931
Eric Botcazou [Wed, 28 Mar 2012 21:59:23 +0000 (21:59 +0000)]
* tree.c (tree_size) <VECTOR_CST>: New case.
From-SVN: r185930
Ian Lance Taylor [Wed, 28 Mar 2012 21:33:15 +0000 (21:33 +0000)]
compiler: fix crashes.
The compiler would crash on:
if true || x, y := 1, 2 {}
and
var s string
s = append(s, "hello")
Reported in issue 3186.
From-SVN: r185928
Uros Bizjak [Wed, 28 Mar 2012 21:28:15 +0000 (23:28 +0200)]
i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
* config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
(ix86_expand_vector_move_misalign): Remove un-needed gen_lowpart calls.
From-SVN: r185927
Ian Lance Taylor [Wed, 28 Mar 2012 21:27:28 +0000 (21:27 +0000)]
compiler: Rewrite handling of untyped numeric constants.
Fixes various bugs when, e.g., using float or complex
constants in integer contexts.
From-SVN: r185925
Paul Thomas [Wed, 28 Mar 2012 20:45:16 +0000 (20:45 +0000)]
re PR fortran/52652 (call to gfc_match_asynchronous for allocatable at parse.c line 164)
2012-03-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/52652
* match.c (gfc_match_allocate, gfc_match_deallocate): Change
"not.. or" to "neither.. nor".
* parse.c (decode_specification_statement): Correct error in
chpice of matching function for "allocatable".
2012-03-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/52652
* gfortran.dg/allocate_class_1.f90 : Change error test.
* gfortran.dg/allocate_with_typespec_4.f90 : Change error test.
* gfortran.dg/allocate_alloc_opt_1.f90 : Change error test.
* gfortran.dg/deallocate_alloc_opt_1.f90 : Change error test.
Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r185924
Richard Guenther [Wed, 28 Mar 2012 15:04:23 +0000 (15:04 +0000)]
typeck2.c (process_init_constructor_array): Use the proper type for computing the array length.
2012-03-28 Richard Guenther <rguenther@suse.de>
* typeck2.c (process_init_constructor_array): Use the proper
type for computing the array length.
From-SVN: r185919
Jakub Jelinek [Wed, 28 Mar 2012 14:47:45 +0000 (16:47 +0200)]
re PR middle-end/52691 (va_start to builtin_next_arg optimization lost)
PR middle-end/52691
* tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
__builtin_va_start to __builtin_next_arg if the latter is
builtin_decl_explicit_p rather than when it is not.
* gcc.dg/pr52691.c: New test.
From-SVN: r185917
Jakub Jelinek [Wed, 28 Mar 2012 14:45:21 +0000 (16:45 +0200)]
Update Copyright year.
From-SVN: r185915
Jakub Jelinek [Wed, 28 Mar 2012 14:40:57 +0000 (16:40 +0200)]
re PR middle-end/52750 (32xsigned char __builtin_shuffle)
PR middle-end/52750
* tree-vect-generic.c (vector_element): Perform multiplication
for pos in bitsizetype type instead of idx type.
* gcc.c-torture/compile/pr52750.c: New test.
From-SVN: r185914
Richard Guenther [Wed, 28 Mar 2012 12:14:26 +0000 (12:14 +0000)]
loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features.
2012-03-28 Richard Guenther <rguenther@suse.de>
* loop-init.c (loop_optimizer_init): If loops are preserved
perform incremental initialization of required loop features.
(loop_optimizer_finalize): If loops are to be preserved only
clean up optional loop features.
(rtl_loop_done): Forcefully free loops here.
* cgraph.c (cgraph_release_function_body): Forcefully free
loops.
* cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks
to existing loops.
(construct_init_block): Likewise.
(construct_exit_block): Likewise.
(gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state. Cleanup
the CFG after expanding.
* cfgloop.c (verify_loop_structure): Calculate or verify
dominators. If we needed to calculate them, free them afterwards.
* tree-pass.h (PROP_loops): New define.
* tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops.
* basic-block.h (CLEANUP_CFG_CHANGED): New.
* cfgcleanup.c (merge_blocks_move): Protect loop latches.
(cleanup_cfg): If we did something and have loops around, fix
them up.
* cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg
with CLEANUP_CFG_CHANGED.
* cfghooks.c (merge_blocks): If we merge a loop header into
its predecessor, update the loop structure.
(duplicate_block): If we copy a loop latch, adjust loop state
to note we may have multiple latches.
(delete_basic_block): Mark loops for fixup if we remove a loop.
* cfganal.c (forwarder_block_p): Protect loop latches, headers
and preheaders.
* cfgrtl.c (rtl_can_merge_blocks): Protect loop latches.
(cfg_layout_can_merge_blocks_p): Likewise.
* cprop.c (bypass_block): If we create a loop with multiple
entries, mark it for removal.
* except.c (emit_to_new_bb_before): Add the new basic-block
to existing loops.
* tree-eh.c (lower_resx): Likewise.
* omp-low.c (finalize_task_copyfn): Do not copy PROP_loops.
(expand_omp_taskreg): Likewise.
* tree-inline.c (initialize_cfun): Likewise.
* tree-mudflap.c (add_bb_to_loop): Prototype.
(mf_build_check_statement_for): Properly add new basic-blocks
to existing loops.
* tree-ssa-threadupdate.c (thread_block): Mark loops for fixup
if we remove a loop.
(thread_through_loop_header): Likewise.
* trans-mem.c (tm_log_emit_save_or_restores): Properly add
new basic-blocks to existing loops.
(expand_transaction): Likewise.
* Makefile.in (except.o): Add $(CFGLOOP_H).
(expr.o): Likewise.
(cgraph.o): Likewise.
(cprop.o): Likewise.
(cfgexpand.o): Likewise.
(cfganal.o): Likewise.
(trans-mem.o): Likewise.
(tree-eh.o): Likewise.
From-SVN: r185913
Georg-Johann Lay [Wed, 28 Mar 2012 09:13:41 +0000 (09:13 +0000)]
re PR target/52692 ([avr]: Add support for avr-specific built-ins + LTO)
gcc/
PR target/52692
* config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
(avr_builtin_decl): New static function.
(struct avr_builtin_description, avr_bdesc): Move up.
Add GTY marker. Add field fndecl. Remove redundant field id.
(avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
(avr_expand_builtin): Code cleanup because .id is removed.
testsuite/
PR target/52692
* gcc.target/avr/torture/builtins-2.c: New test.
From-SVN: r185910
Georg-Johann Lay [Wed, 28 Mar 2012 08:31:26 +0000 (08:31 +0000)]
re PR target/52737 ([avr]: -mtiny-stack shall not influence multilib selection)
PR target/52737
* contrib/gcc_update (files_and_dependencies):
Remove gcc/config/avr/t-multilib from touch data.
gcc/
PR target/52737
* config.gcc (tm_file): Remove avr/multilib.h.
* doc/invoke.texi (AVR Options): Adjust
documentation of -mtiny-stack.
* config/avr/genmultilib.awk: Remove code to generate multilib.h.
(BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
* config/avr/t-avr: Remove generation of multilib.h.
* config/avr/t-multilib: Regenerate.
* config/avr/multilib.h: Remove.
* config/avr/avr.opt (-msp8): New option.
(avr_sp8): New variable.
* config/avr/driver-avr.c (avr_device_to_sp8): New function.
* config/avr/avr.h (AVR_HAVE_SPH): New define.
(AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
(avr_device_to_sp8): New prototype.
(EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
(DRIVER_SELF_SPECS): New define.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
__AVR_SP8__, __AVR_HAVE_SPH__.
* config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
AVR_HAVE_8BIT_SP to decide if SP_H is present.
(avr_file_start): Ditto.
libgcc/
PR target/52737
* config/avr/lib1funcs.S: Use __AVR_HAVE_SPH__ for SP_H checks
instead of __AVR_HAVE_8BIT_SP__.
From-SVN: r185907
Jakub Jelinek [Wed, 28 Mar 2012 08:01:00 +0000 (10:01 +0200)]
re PR target/52736 (miscompilation: store to aliased __m128d is 8 Bytes off)
PR target/52736
* config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
instead of 8 in adjust_address.
* gcc.target/i386/pr52736.c: New test.
From-SVN: r185904
Terry Guo [Wed, 28 Mar 2012 01:34:07 +0000 (01:34 +0000)]
Makefile.am (TEST_GCC_EXEC_PREFIX): New.
libstdc++-v3:
* testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
* testsuite/Makefile.in: Regenerated.
From-SVN: r185903
GCC Administrator [Wed, 28 Mar 2012 00:19:02 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r185902
Aurelien Buhrig [Tue, 27 Mar 2012 20:50:16 +0000 (20:50 +0000)]
re PR middle-end/51893 (Wrong subword index computation in store_bit_field_1 on BIG_ENDIAN targets)
PR middle-end/51893
* expmed.c (store_bit_field_1): Fix wordnum value for big-endian
targets.
From-SVN: r185897
Jonathan Wakely [Tue, 27 Mar 2012 20:25:12 +0000 (20:25 +0000)]
functional (mem_fn): Qualify to prevent ADL.
* include/std/functional (mem_fn): Qualify to prevent ADL.
* testsuite/20_util/function_objects/mem_fn/adl.cc: New.
From-SVN: r185895
Oleg Endo [Tue, 27 Mar 2012 20:14:44 +0000 (20:14 +0000)]
re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
* config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address):
Rearrange conditional logic. Move displacement address calculations
to ...
(sh_find_mov_disp_adjust): ... this new function.
From-SVN: r185894
H.J. Lu [Tue, 27 Mar 2012 19:37:24 +0000 (19:37 +0000)]
Remove MaskExists property from config/*/*.opt files
2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
* config/arm/arm.opt (mapcs): Remove MaskExists.
* config/cris/linux.opt (mno-gotplt): Likewise.
* config/i386/i386.opt (mhard-float): Likewise.
(msse4): Likewise.
(mno-sse4): Likewise.
* config/m68k/m68k.opt (mhard-float): Likewise.
* config/mep/mep.op (mcop32): Likewise.
* config/pa/pa-hpux.opt (msio): Likewise.
* config/pa/pa64-hpux.opt (mgnu-ld): Likewise.
* config/picochip/picochip.opt (mlittle): Likewise.
* config/sh/sh.opt (mrenesas): Likewise.
* config/sparc/long-double-switch.opt (mlong-double-128): Likewise.
* config/sparc/sparc.opt (mhard-float): Likewise.
* config/v850/v850.opt (mv850es): Likewise.
* config/vax/vax.opt (mg-float): Likewise.
From-SVN: r185893
Martin Jambor [Tue, 27 Mar 2012 18:22:39 +0000 (20:22 +0200)]
re PR middle-end/52693 (Wrong code with SRA and arrays)
2012-03-27 Martin Jambor <mjambor@suse.cz>
PR middle-end/52693
* tree-sra.c (sra_modify_assign): Do not call
load_assign_lhs_subreplacements when working with an unscalarizable
region.
* testsuite/gcc.dg/torture/pr52693.c: New test.
From-SVN: r185891
Meador Inge [Tue, 27 Mar 2012 18:08:13 +0000 (18:08 +0000)]
re PR c++/52672 (internal compiler error: in cxx_eval_indirect_ref, at cp/semantics.c:6766)
PR c++/52672
* gcc/cp/semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
stripped child trees that are not pointer types.
From-SVN: r185890
Mike Stump [Tue, 27 Mar 2012 18:01:06 +0000 (18:01 +0000)]
re PR testsuite/52665 (scan-assembler output produces wrong FAIL due to matching .ident)
PR target/52665
* gcc.target/i386/pr28946.c: Use -fno-ident to avoid spurious
failures that match branch names.
From-SVN: r185889
H.J. Lu [Tue, 27 Mar 2012 17:17:17 +0000 (10:17 -0700)]
Fix a typo in ChangeLog
From-SVN: r185887
Uros Bizjak [Tue, 27 Mar 2012 15:36:34 +0000 (17:36 +0200)]
re PR target/52698 (-maddress-mode=long doesn't work)
PR target/52698
* config/i386/i386-protos.h (ix86_legitimize_reload_address):
New prototype.
* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
* config/i386/i386.c: Include reload.h.
(ix86_legitimize_reload_address): New function.
testsuite/ChangeLog:
PR target/52698
* gcc.target/i386/pr52698.c: New test.
From-SVN: r185883
H.J. Lu [Tue, 27 Mar 2012 15:28:41 +0000 (15:28 +0000)]
Remove MaskNeeded
2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
* opth-gen.awk: Allocated a bit for Mask and InverseMask if it
hasn't been allocated. Define a target macro for Mask and
InverseMask if it hasn't been defined. Remove MaskExists
handling.
* doc/options.texi: Remove MaskNeeded.
From-SVN: r185882
Joseph Myers [Tue, 27 Mar 2012 14:29:38 +0000 (15:29 +0100)]
* ja.po: Update.
From-SVN: r185878
Joseph Myers [Tue, 27 Mar 2012 14:26:51 +0000 (15:26 +0100)]
be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
Update.
From-SVN: r185876
Chung-Lin Tang [Tue, 27 Mar 2012 13:05:01 +0000 (13:05 +0000)]
re PR target/52667 (sh_reorg segfault)
2012-03-27 Chung-Lin Tang <cltang@codesourcery.com>
PR target/52667
* config/sh/sh.c (find_barrier): Add equality check of last_got
to avoid going above orig insn. Update comments.
From-SVN: r185867
Richard Guenther [Tue, 27 Mar 2012 12:50:29 +0000 (12:50 +0000)]
re PR middle-end/52720 (internal compiler error: in try_move_mult_to_index)
2012-03-27 Richard Guenther <rguenther@suse.de>
PR middle-end/52720
* fold-const.c (try_move_mult_to_index): Handle &x.array more
explicitely.
* gcc.dg/torture/pr52720.c: New testcase.
From-SVN: r185865
Eric Botcazou [Tue, 27 Mar 2012 10:35:55 +0000 (10:35 +0000)]
expmed.c (store_bit_field): Assert that BITREGION_START is a multiple of a unit before computing the offset...
* expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
of a unit before computing the offset in units.
* expr.c (get_bit_range): Return the null range if the enclosing record
is part of a larger bit field.
From-SVN: r185857
Ramana Radhakrishnan [Tue, 27 Mar 2012 10:26:37 +0000 (10:26 +0000)]
thumb-ifcvt.c: Only run for -mthumb.
2012-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* gcc.target/arm/thumb-ifcvt.c: Only run for -mthumb.
* gcc.target/arm/thumb-16bit-ops.c: Likewise.
From-SVN: r185855
Tristan Gingold [Tue, 27 Mar 2012 09:50:10 +0000 (09:50 +0000)]
unwind-ia64.h: Declare unw_word and unw_sword.
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/ia64/unwind-ia64.h: Declare unw_word and unw_sword.
(unw_table_entry): Use unw_word instead of unsigned long.
(_Unwind_FindTableEntry): Likewise.
* config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Likewise.
* config/ia64/fde-vms.c (vms_unwtable_entry): Likewise.
(_Unwind_FindTableEntry): Likewise.
* config/ia64/unwind-ia64.c (unw_reg_info, unw_reg_state)
(unw_labeled_state, unw_state_record, unw_stack, _Uwind_Context)
(set_reg, alloc_spill_area, finish_prologue, ia64_rse_slot_num)
(ia64_rse_is_rnat_slot, ia64_rse_rnat_addr, ia64_rse_num_regs)
(ia64_rse_skip_regs, ia64_copy_rbs, unw_access_gr)
(uw_frame_state_for, uw_update_reg_address, uw_update_context)
(uw_init_context_1, uw_install_context): Likewise.
(unw_word): Move to unwind-ia64.h
From-SVN: r185852
Tristan Gingold [Tue, 27 Mar 2012 09:44:00 +0000 (09:44 +0000)]
vms.h (CASE_VECTOR_MODE): Define.
2012-03-27 Tristan Gingold <gingold@adacore.com>
* config/ia64/vms.h (CASE_VECTOR_MODE): Define.
* config/ia64/ia64.md: Remove mode in template.
Sign extend operand in expand_simple_binop.
* config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
CASE_VECTOR_MODE instead of TARGET_ILP32.
(ADDR_VEC_ALIGN): Make it depends on CASE_VECTOR_MODE.
From-SVN: r185851
Tristan Gingold [Tue, 27 Mar 2012 09:28:02 +0000 (09:28 +0000)]
configure.ac: Add description to AC_DEFINE in GCC_CHECK_MATH_FUNC.
2012-03-27 Tristan Gingold <gingold@adacore.com>
* configure.ac: Add description to AC_DEFINE in
GCC_CHECK_MATH_FUNC.
* configure: Regenerate
* config.h.in: Regenerate.
From-SVN: r185850
Jonathan Wakely [Tue, 27 Mar 2012 09:03:10 +0000 (09:03 +0000)]
type_traits (result_of): Fix handling of cv-quals.
* include/std/type_traits (result_of): Fix handling of cv-quals.
* testsuite/20_util/result_of/1.cc: New.
* testsuite/20_util/result_of/2.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r185845
GCC Administrator [Tue, 27 Mar 2012 00:18:41 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r185829
Steven Bosscher [Mon, 26 Mar 2012 20:23:36 +0000 (20:23 +0000)]
varasm.c (assemble_external): #if 0 out the new assert from the previous commit...
* varasm.c (assemble_external): #if 0 out the new assert from the
previous commit, it breaks the Java and Go front ends.
From-SVN: r185825
Steven Bosscher [Mon, 26 Mar 2012 16:39:11 +0000 (16:39 +0000)]
toplev.c (check_global_declaration_1): Do not call assemble_external.
* toplev.c (check_global_declaration_1): Do not call assemble_external.
* expr.c (emit_block_move_libcall_fn): Likewise.
(clear_storage_libcall_fn): Likewise.
(expand_expr_addr_expr_1): Likewise.
(expand_expr_real_1): Likewise.
* calls.c (rtx_for_function_call): Likewise.
From-SVN: r185813
Steven Bosscher [Mon, 26 Mar 2012 16:35:59 +0000 (16:35 +0000)]
varasm.c (assemble_external): Assert this function is only called during or after expanding to RTL.
* varasm.c (assemble_external): Assert this function is only called
during or after expanding to RTL.
From-SVN: r185812
Gerald Pfeifer [Mon, 26 Mar 2012 16:24:33 +0000 (16:24 +0000)]
re PR libgcj/52694 (bootstrap failure: libjava/java/io/natVMConsole.cc:35:20: error: 'IUCL C' was not declared in this scope)
PR libgcj/52694
* java/io/natVMConsole.cc (IUCLC): Define, if undefined.
From-SVN: r185811
Martin Jambor [Mon, 26 Mar 2012 15:46:14 +0000 (17:46 +0200)]
re PR tree-optimization/50052 (FAIL: gcc.dg/ipa/ipa-sra-2.c scan-tree-dump eipa_sra)
2012-03-26 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/50052
* tree-sra.c (tree_non_aligned_mem_p): Removed.
(tree_non_aligned_mem_for_access_p): Likewise.
(build_accesses_from_assign): Removed strict alignment requirements
checks.
(access_precludes_ipa_sra_p): Likewise.
* testsuite/gcc.dg/ipa/ipa-sra-2.c: Also run on strict-alignment
platforms.
From-SVN: r185807
Janne Blomqvist [Mon, 26 Mar 2012 15:16:05 +0000 (18:16 +0300)]
Combined get_mem and internal_malloc_size.
2012-03-26 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/memory.c (get_mem): Rename to xmalloc, check for zero
size.
(internal_malloc_size): Remove.
* libgfortran.h (get_mem): Rename to xmalloc.
(internal_malloc_size): Remove prototype.
* Makefile.am (i_iall_c): Fix dependency.
(i_iany_c): Likewise.
(i_iparity_c): Likewise.
(i_norm2_c): Likewise.
(i_parity_c): Likewise.
* Makefile.in: Regenerated.
* m4/parity.m4: Fix typo in comment.
* generated/all_l1.c: Regenerated.
* generated/all_l16.c: Regenerated.
* generated/all_l2.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l1.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l2.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/bessel_r10.c: Regenerated.
* generated/bessel_r16.c: Regenerated.
* generated/bessel_r4.c: Regenerated.
* generated/bessel_r8.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/cshift1_16.c: Regenerated.
* generated/cshift1_4.c: Regenerated.
* generated/cshift1_8.c: Regenerated.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/in_pack_c10.c: Regenerated.
* generated/in_pack_c16.c: Regenerated.
* generated/in_pack_c4.c: Regenerated.
* generated/in_pack_c8.c: Regenerated.
* generated/in_pack_i1.c: Regenerated.
* generated/in_pack_i16.c: Regenerated.
* generated/in_pack_i2.c: Regenerated.
* generated/in_pack_i4.c: Regenerated.
* generated/in_pack_i8.c: Regenerated.
* generated/in_pack_r10.c: Regenerated.
* generated/in_pack_r16.c: Regenerated.
* generated/in_pack_r4.c: Regenerated.
* generated/in_pack_r8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
* generated/maxloc0_16_i1.c: Regenerated.
* generated/maxloc0_16_i16.c: Regenerated.
* generated/maxloc0_16_i2.c: Regenerated.
* generated/maxloc0_16_i4.c: Regenerated.
* generated/maxloc0_16_i8.c: Regenerated.
* generated/maxloc0_16_r10.c: Regenerated.
* generated/maxloc0_16_r16.c: Regenerated.
* generated/maxloc0_16_r4.c: Regenerated.
* generated/maxloc0_16_r8.c: Regenerated.
* generated/maxloc0_4_i1.c: Regenerated.
* generated/maxloc0_4_i16.c: Regenerated.
* generated/maxloc0_4_i2.c: Regenerated.
* generated/maxloc0_4_i4.c: Regenerated.
* generated/maxloc0_4_i8.c: Regenerated.
* generated/maxloc0_4_r10.c: Regenerated.
* generated/maxloc0_4_r16.c: Regenerated.
* generated/maxloc0_4_r4.c: Regenerated.
* generated/maxloc0_4_r8.c: Regenerated.
* generated/maxloc0_8_i1.c: Regenerated.
* generated/maxloc0_8_i16.c: Regenerated.
* generated/maxloc0_8_i2.c: Regenerated.
* generated/maxloc0_8_i4.c: Regenerated.
* generated/maxloc0_8_i8.c: Regenerated.
* generated/maxloc0_8_r10.c: Regenerated.
* generated/maxloc0_8_r16.c: Regenerated.
* generated/maxloc0_8_r4.c: Regenerated.
* generated/maxloc0_8_r8.c: Regenerated.
* generated/maxloc1_16_i1.c: Regenerated.
* generated/maxloc1_16_i16.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_i1.c: Regenerated.
* generated/maxloc1_4_i16.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_i1.c: Regenerated.
* generated/maxloc1_8_i16.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_i1.c: Regenerated.
* generated/maxval_i16.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/minloc0_16_i1.c: Regenerated.
* generated/minloc0_16_i16.c: Regenerated.
* generated/minloc0_16_i2.c: Regenerated.
* generated/minloc0_16_i4.c: Regenerated.
* generated/minloc0_16_i8.c: Regenerated.
* generated/minloc0_16_r10.c: Regenerated.
* generated/minloc0_16_r16.c: Regenerated.
* generated/minloc0_16_r4.c: Regenerated.
* generated/minloc0_16_r8.c: Regenerated.
* generated/minloc0_4_i1.c: Regenerated.
* generated/minloc0_4_i16.c: Regenerated.
* generated/minloc0_4_i2.c: Regenerated.
* generated/minloc0_4_i4.c: Regenerated.
* generated/minloc0_4_i8.c: Regenerated.
* generated/minloc0_4_r10.c: Regenerated.
* generated/minloc0_4_r16.c: Regenerated.
* generated/minloc0_4_r4.c: Regenerated.
* generated/minloc0_4_r8.c: Regenerated.
* generated/minloc0_8_i1.c: Regenerated.
* generated/minloc0_8_i16.c: Regenerated.
* generated/minloc0_8_i2.c: Regenerated.
* generated/minloc0_8_i4.c: Regenerated.
* generated/minloc0_8_i8.c: Regenerated.
* generated/minloc0_8_r10.c: Regenerated.
* generated/minloc0_8_r16.c: Regenerated.
* generated/minloc0_8_r4.c: Regenerated.
* generated/minloc0_8_r8.c: Regenerated.
* generated/minloc1_16_i1.c: Regenerated.
* generated/minloc1_16_i16.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_i1.c: Regenerated.
* generated/minloc1_4_i16.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_i1.c: Regenerated.
* generated/minloc1_8_i16.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_i1.c: Regenerated.
* generated/minval_i16.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/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/parity_l1.c: Regenerated.
* generated/parity_l16.c: Regenerated.
* generated/parity_l2.c: Regenerated.
* generated/parity_l4.c: Regenerated.
* generated/parity_l8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i1.c: Regenerated.
* generated/product_i16.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/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
* generated/shape_i16.c: Regenerated.
* generated/shape_i4.c: Regenerated.
* generated/shape_i8.c: Regenerated.
* generated/spread_c10.c: Regenerated.
* generated/spread_c16.c: Regenerated.
* generated/spread_c4.c: Regenerated.
* generated/spread_c8.c: Regenerated.
* generated/spread_i1.c: Regenerated.
* generated/spread_i16.c: Regenerated.
* generated/spread_i2.c: Regenerated.
* generated/spread_i4.c: Regenerated.
* generated/spread_i8.c: Regenerated.
* generated/spread_r10.c: Regenerated.
* generated/spread_r16.c: Regenerated.
* generated/spread_r4.c: Regenerated.
* generated/spread_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_i1.c: Regenerated.
* generated/sum_i16.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.
* generated/transpose_c10.c: Regenerated.
* generated/transpose_c16.c: Regenerated.
* generated/transpose_c4.c: Regenerated.
* generated/transpose_c8.c: Regenerated.
* generated/transpose_i16.c: Regenerated.
* generated/transpose_i4.c: Regenerated.
* generated/transpose_i8.c: Regenerated.
* generated/transpose_r10.c: Regenerated.
* generated/transpose_r16.c: Regenerated.
* generated/transpose_r4.c: Regenerated.
* generated/transpose_r8.c: Regenerated.
* generated/unpack_c10.c: Regenerated.
* generated/unpack_c16.c: Regenerated.
* generated/unpack_c4.c: Regenerated.
* generated/unpack_c8.c: Regenerated.
* generated/unpack_i1.c: Regenerated.
* generated/unpack_i16.c: Regenerated.
* generated/unpack_i2.c: Regenerated.
* generated/unpack_i4.c: Regenerated.
* generated/unpack_i8.c: Regenerated.
* generated/unpack_r10.c: Regenerated.
* generated/unpack_r16.c: Regenerated.
* generated/unpack_r4.c: Regenerated.
* generated/unpack_r8.c: Regenerated.
* intrinsics/cshift0.c: Use xmalloc.
* intrinsics/ctime.c: Likewise.
* intrinsics/date_and_time.c: Likewise.
* intrinsics/eoshift0.c: Likewise.
* intrinsics/eoshift2.c: Likewise.
* intrinsics/getlog.c: Likewise.
* intrinsics/pack_generic.c: Likewise.
* intrinsics/reshape_generic.c: Likewise.
* intrinsics/spread_generic.c: Likewise.
* intrinsics/string_intrinsics_inc.c: Likewise.
* intrinsics/transpose_generic.c: Likewise.
* intrinsics/unpack_generic.c: Likewise.
* io/fbuf.c: Likewise.
* io/format.c: Likewise.
* io/intrinsics.c: Likewise.
* io/list_read.c: Likewise.
* io/open.c: Likewise.
* io/transfer.c: Likewise.
* io/unit.c: Likewise.
* io/unix.c: Likewise.
* io/write.c: Likewise.
* m4/bessel.m4: Likewise.
* m4/cshift1.m4: Likewise.
* m4/eoshift1.m4: Likewise.
* m4/eoshift3.m4: Likewise.
* m4/iforeach.m4: Likewise.
* m4/ifunction.m4: Likewise.
* m4/ifunction_logical.m4: Likewise.
* m4/in_pack.m4: Likewise.
* m4/matmul.m4: Likewise.
* m4/matmull.m4: Likewise.
* m4/pack.m4: Likewise.
* m4/reshape.m4: Likewise.
* m4/shape.m4: Likewise.
* m4/spread.m4: Likewise.
* m4/transpose.m4: Likewise.
* m4/unpack.m4: Likewise.
* runtime/convert_char.c: Likewise.
* runtime/environ.c: Likewise.
* runtime/in_pack_generic.c: Likewise.
From-SVN: r185806
Richard Guenther [Mon, 26 Mar 2012 14:14:51 +0000 (14:14 +0000)]
re PR middle-end/52701 (416.gamess in SPEC CPU 2006 failed to build)
2012-03-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52701
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
compute and set the evolution part of PHI nodes.
* gfortran.dg/pr52701.f90: New testcase.
From-SVN: r185800
Richard Guenther [Mon, 26 Mar 2012 14:13:35 +0000 (14:13 +0000)]
re PR tree-optimization/52721 (segfault in vect_init_vector)
2012-03-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52721
* tree-vect-stmts.c (vect_init_vector): Handle scalars.
From-SVN: r185799
Ulrich Weigand [Mon, 26 Mar 2012 13:13:07 +0000 (13:13 +0000)]
re PR tree-optimization/52686 (SLP crashes with WIDEN_LSHIFT_EXPR)
gcc/
PR tree-optimization/52686
* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
WIDEN_LSHIFT_EXPR.
gcc/testsuite/
PR tree-optimization/52686
* gcc.target/arm/pr52686.c: New test.
From-SVN: r185795
Georg-Johann Lay [Mon, 26 Mar 2012 11:29:57 +0000 (11:29 +0000)]
avr-torture.exp (AVR_TORTURE_OPTIONS): Add "-Os -flto" to list.
* gcc.target/avr/torture/avr-torture.exp (AVR_TORTURE_OPTIONS):
Add "-Os -flto" to list.
From-SVN: r185793
Tristan Gingold [Mon, 26 Mar 2012 09:35:18 +0000 (09:35 +0000)]
vms.h (LINK_SPEC): Simplify.
libgcc/
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (LINK_SPEC): Simplify.
(STARTFILE_SPEC): Remove -mvms-return-codes handling.
(NAME__MAIN, SYMBOL__MAIN): Remove.
(VMS_DEBUG_MAIN_POINTER): Remove.
* config/ia64/vms.h: Likewise.
* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
code to vms.c. Call vms_start_function.
* config/ia64/ia64.c (ia64_start_function): Likewise.
* config/vms/vms-protos.h (vms_start_function): Declare.
* config/vms/vms.c (vms_start_function): New function.
* config/vms/vms.h (MATH_LIBRARY): Define.
(VMS_DEBUG_MAIN_POINTER): Define.
gcc/
2012-03-26 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (LINK_SPEC): Simplify.
(STARTFILE_SPEC): Remove -mvms-return-codes handling.
(NAME__MAIN, SYMBOL__MAIN): Remove.
(VMS_DEBUG_MAIN_POINTER): Remove.
* config/ia64/vms.h: Likewise.
* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
code to vms.c. Call vms_start_function.
* config/ia64/ia64.c (ia64_start_function): Likewise.
* config/vms/vms-protos.h (vms_start_function): Declare.
* config/vms/vms.c (vms_start_function): New function.
* config/vms/vms.h (MATH_LIBRARY): Define.
(VMS_DEBUG_MAIN_POINTER): Define.
From-SVN: r185791
Tristan Gingold [Mon, 26 Mar 2012 08:43:56 +0000 (08:43 +0000)]
configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
2012-03-26 Tristan Gingold <gingold@adacore.com>
* configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
* acinclude.m4: Include ../config/math.m4
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r185789
Tristan Gingold [Mon, 26 Mar 2012 08:42:52 +0000 (08:42 +0000)]
math.m4: New file.
2012-03-26 Tristan Gingold <gingold@adacore.com>
* math.m4: New file.
From-SVN: r185788
Eric Botcazou [Mon, 26 Mar 2012 08:41:02 +0000 (08:41 +0000)]
re PR rtl-optimization/52629 (out-of-bounds access in reload1.c)
PR rtl-optimization/52629
* reload1.c (count_pseudo): Short-circuit common case.
(count_spilled_pseudo): Return early for pseudos without hard regs.
Assert that the pseudo has got a hard reg before manipulating it.
From-SVN: r185787
GCC Administrator [Mon, 26 Mar 2012 00:18:55 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r185786
Eric Botcazou [Sun, 25 Mar 2012 17:21:49 +0000 (17:21 +0000)]
decl.c (gnat_to_gnu_entity): Copy the TYPE_PACKED flag from the base type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
the TYPE_PACKED flag from the base type.
From-SVN: r185782
Eric Botcazou [Sun, 25 Mar 2012 17:11:33 +0000 (17:11 +0000)]
decl.c (SS_MARK_NAME): New define.
* gcc-interface/decl.c (SS_MARK_NAME): New define.
(gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
whose name is SS_MARK_NAME.
From-SVN: r185780
Eric Botcazou [Sun, 25 Mar 2012 16:58:48 +0000 (16:58 +0000)]
utils.c (add_parallel_type): Take a TYPE instead of a DECL and adjust.
* gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
DECL and adjust. Move around.
(has_parallel_type): New predicate.
(rest_of_record_type_compilation): Return early if the type already
has a parallel type.
* gcc-interface/gigi.h (add_parallel_type): Adjust.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
From-SVN: r185779
Eric Botcazou [Sun, 25 Mar 2012 16:55:01 +0000 (16:55 +0000)]
utils.c (finish_record_type): Return early for padded types and tidy up.
* gcc-interface/utils.c (finish_record_type): Return early for padded
types and tidy up.
From-SVN: r185778
Jan Hubicka [Sun, 25 Mar 2012 13:28:32 +0000 (15:28 +0200)]
re PR middle-end/51663 (Desirable/undesirable elimination of unused variables & functions at -O0, -O0 -flto and -O0 -fwhole-program)
PR lto/51663
* varpool.c (varpool_finalize_decl): Handle toplevel_reorder here.
(decide_is_variable_needed): Do not handle toplevel reorder here.
* cgraph.h (varpool_can_remove_if_no_refs): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Remove unreachable vars
even at -O0.
From-SVN: r185777
Jan Hubicka [Sun, 25 Mar 2012 13:25:51 +0000 (13:25 +0000)]
re PR tree-optimization/51737 (g++ crashes (internal compiler error: Segmentation fault) when compiling quickbook)
PR middle-end/51737
* g++.dg/torture/pr51737.C: New testcase
From-SVN: r185776
Janne Blomqvist [Sun, 25 Mar 2012 05:48:49 +0000 (08:48 +0300)]
Use calloc instead of malloc and memset.
2012-03-25 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/memory.c (xcalloc): New function.
* libgfortran.h (xcalloc): New prototype.
* io/list_read.c (push_char): Use xcalloc instead of get_mem and
memset.
(l_push_char): Likewise.
* io/unit.c (insert_unit): Likewise.
(get_internal_unit): Likewise.
* io/unix.c (open_internal): Likewise.
(open_internal4): Likewise.
(fd_to_stream): Likewise.
From-SVN: r185773
GCC Administrator [Sun, 25 Mar 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r185772
Jason Merrill [Sat, 24 Mar 2012 20:56:08 +0000 (16:56 -0400)]
Implement return type deduction for normal functions with -std=c++1y.
* cp-tree.h (FNDECL_USED_AUTO): New macro.
(LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
(dependent_lambda_return_type_node): Remove.
(CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
(struct language_function): Add x_auto_return_pattern field.
(current_function_auto_return_pattern): New.
(enum tsubst_flags): Add tf_partial.
* decl.c (decls_match): Handle auto return comparison.
(duplicate_decls): Adjust error message for auto return.
(cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
(cp_finish_decl): Don't do auto deduction for functions.
(grokdeclarator): Allow auto return without trailing return type in
C++1y mode.
(check_function_type): Defer checking of deduced return type.
(start_preparsed_function): Set current_function_auto_return_pattern.
(finish_function): Set deduced return type to void if not previously
deduced.
* decl2.c (change_return_type): Handle error_mark_node.
(mark_used): Always instantiate functions with deduced return type.
Complain about use if deduction isn't done.
* parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
initial return type.
(cp_parser_lambda_body): Don't deduce return type in a template.
(cp_parser_conversion_type_id): Allow auto in C++1y.
* pt.c (instantiate_class_template_1): Don't mess with
LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
(tsubst_copy_and_build): Likewise.
(fn_type_unification, tsubst): Don't reduce the template parm level
of 'auto' during deduction.
(unify): Compare 'auto' specially.
(get_bindings): Change test.
(always_instantiate_p): Always instantiate functions with deduced
return type.
(do_auto_deduction): Handle error_mark_node and lambda context.
Don't check for use in initializer.
(contains_auto_r): Remove.
* search.c (lookup_conversions_r): Handle auto conversion function.
* semantics.c (lambda_return_type): Handle null return. Don't mess
with dependent_lambda_return_type_node.
(apply_deduced_return_type): Rename from apply_lambda_return_type.
* typeck.c (merge_types): Handle auto.
(check_return_expr): Do auto deduction.
* typeck2.c (add_exception_specifier): Fix complain check.
From-SVN: r185768
Eric Botcazou [Sat, 24 Mar 2012 18:58:16 +0000 (18:58 +0000)]
expr.c (optimize_bitfield_assignment_op): Use str_mode and str_bitsize instead of more convoluted expressions.
* expr.c (optimize_bitfield_assignment_op) <BIT_IOR_EXPR>: Use str_mode
and str_bitsize instead of more convoluted expressions.
From-SVN: r185767
Eric Botcazou [Sat, 24 Mar 2012 18:47:38 +0000 (18:47 +0000)]
re PR target/52610 (mpfr fails to compile when specifying CFLAGS="-O3 -mcpu=leon")
PR target/52610
* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
From-SVN: r185765
Eric Botcazou [Sat, 24 Mar 2012 18:42:24 +0000 (18:42 +0000)]
re PR middle-end/52656 (gcc.target/sparc/fpmul-2.c FAILs)
PR target/52656
* config/sparc/sparc.c (sparc_handle_vis_mul8x16): Fix pasto.
From-SVN: r185764
GCC Administrator [Sat, 24 Mar 2012 00:18:38 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r185756
David Edelsohn [Fri, 23 Mar 2012 23:55:01 +0000 (23:55 +0000)]
inclhack.def (aix_malloc): New.
* inclhack.def (aix_malloc): New.
* fixincl.x: Regenerate.
* tests/base/malloc.h [AIX_MALLOC_CHECK]: New.
From-SVN: r185752
Ian Lance Taylor [Fri, 23 Mar 2012 18:41:07 +0000 (18:41 +0000)]
syscall: Fix errno handling in syscall.Syscall and friends.
From-SVN: r185746
David S. Miller [Fri, 23 Mar 2012 18:29:39 +0000 (18:29 +0000)]
Update sparc-linux-gnu libstdc++ ABI baseline.
libstdc++-v3/
* config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r185745
Benjamin Kosnik [Fri, 23 Mar 2012 16:17:49 +0000 (16:17 +0000)]
testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
2012-03-23 Benjamin Kosnik <bkoz@redhat.com>
* scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
* testsuite/lib/libstdc++.exp: Same.
From-SVN: r185744
Andrew John Hughes [Fri, 23 Mar 2012 15:19:26 +0000 (15:19 +0000)]
Merge GNU Classpath 0.99 into libjava.
From-SVN: r185741
Paolo Carlini [Fri, 23 Mar 2012 13:26:49 +0000 (13:26 +0000)]
forward_list.h: Slightly tweak two comments.
2012-03-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h: Slightly tweak two comments.
From-SVN: r185737
Martin Jambor [Fri, 23 Mar 2012 11:45:08 +0000 (12:45 +0100)]
tree-sra.c (build_accesses_from_assign): Remove FIXME comment.
2012-03-23 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (build_accesses_from_assign): Remove FIXME comment.
From-SVN: r185735
Richard Guenther [Fri, 23 Mar 2012 11:34:32 +0000 (11:34 +0000)]
re PR tree-optimization/52678 (internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842)
2012-03-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52678
* tree-vectorizer.h (struct _stmt_vec_info): Add
loop_phi_evolution_part member.
(STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
Use the cached evolution part and the PHI nodes value from
the loop preheader edge instead of re-analyzing the evolution.
* gfortran.dg/pr52678.f: New testcase.
From-SVN: r185734
Janne Blomqvist [Fri, 23 Mar 2012 08:54:05 +0000 (10:54 +0200)]
Remove unused GFC_MAX_LINE macro.
2012-03-23 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.h (GFC_MAX_LINE): Remove unused macro.
From-SVN: r185728
Richard Guenther [Fri, 23 Mar 2012 08:32:47 +0000 (08:32 +0000)]
re PR tree-optimization/52638 (ice in build_vector_from_val)
2012-03-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52638
* g++.dg/torture/pr52638.C: New testcase.
From-SVN: r185727
William Bader [Fri, 23 Mar 2012 08:17:24 +0000 (08:17 +0000)]
c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2012-03-23 William Bader <williambader@hotmail.com>
c-family/
* c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
From-SVN: r185725
Paolo Carlini [Fri, 23 Mar 2012 00:35:33 +0000 (00:35 +0000)]
re PR c++/52487 ([C++11] ICE at cp/semantics.c:5613 with lambda capturing reference to incomplete type by value)
/cp
2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52487
* class.c (check_field_decls): Call literal_type_p only
on complete types.
/testsuite
2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52487
* g++.dg/cpp0x/lambda/lambda-ice7.C: New.
From-SVN: r185722
GCC Administrator [Fri, 23 Mar 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r185721
Benjamin Kosnik [Fri, 23 Mar 2012 00:00:58 +0000 (00:00 +0000)]
Makefile.am: XML output names have only .xml suffix.
2012-03-22 Benjamin Kosnik <bkoz@redhat.com>
* doc/Makefile.am: XML output names have only .xml suffix.
* doc/Makefile.in: Regenerate.
From-SVN: r185716
Maxim Kuvyrkov [Thu, 22 Mar 2012 21:04:48 +0000 (21:04 +0000)]
mips-tables.opt: Update.
* config/mips/mips-tables.opt: Update.
* config/mips/mips.md (processor): Add xlp.
* config/mips/mips-cpus.def: Add xlp.
* config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
5KF for now.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
* doc/invoke.texi: Mention XLP.
From-SVN: r185712
Jakub Jelinek [Thu, 22 Mar 2012 20:25:02 +0000 (21:25 +0100)]
re PR c++/52671 (ICE with misplaced attribute on enum)
PR c++/52671
* decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
on CLASS_TYPE_P types.
* g++.dg/ext/attrib44.C: New test.
From-SVN: r185709
Jakub Jelinek [Thu, 22 Mar 2012 19:25:36 +0000 (20:25 +0100)]
re PR middle-end/52547 (ICE with openmp with nested function which requires a trampoline)
PR middle-end/52547
* tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
on any new_local_var_chain vars declared during recursing on
GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
* testsuite/libgomp.c/pr52547.c: New test.
From-SVN: r185707
Richard Earnshaw [Thu, 22 Mar 2012 17:54:55 +0000 (17:54 +0000)]
* lex.c (search_line_fast): Provide Neon-optimized version for ARM.
From-SVN: r185702