Changpeng Fang [Mon, 23 Aug 2010 17:45:08 +0000 (17:45 +0000)]
pr45260 Don't generate prefetch if the address of base could not be taken.
* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
existing static function global.
*tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
is changed to global.
*tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
may_be_nonaddressable_p on base, and don't collect this reference
if the address of the base could not be taken.
From-SVN: r163475
Michael Meissner [Mon, 23 Aug 2010 17:31:56 +0000 (17:31 +0000)]
Add missing file
From-SVN: r163473
Michael Meissner [Mon, 23 Aug 2010 16:47:01 +0000 (16:47 +0000)]
Update to use -mveclibabi=mass instead of -mmass
From-SVN: r163471
Michael Meissner [Mon, 23 Aug 2010 16:41:10 +0000 (16:41 +0000)]
Add -mveclibabi=mass
From-SVN: r163470
Tobias Burnus [Mon, 23 Aug 2010 12:39:20 +0000 (14:39 +0200)]
re PR libfortran/45323 (warnings compiling libgfortran/io/write.c: array subscript has type 'char')
2010-08-23 Tobias Burnus <burnus@net-b.de>
PR fortran/45323
* io/write.c (nml_write_obj, namelist_write): Cast argument
of toupper to int.
From-SVN: r163469
Janus Weil [Mon, 23 Aug 2010 12:26:42 +0000 (14:26 +0200)]
re PR fortran/45366 (Problem with procedure pointer dummy in PURE function)
2010-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/45366
* resolve.c (resolve_procedure_interface): New function split off from
'resolve_symbol'.
(resolve_formal_arglist): Call it here ...
(resolve_symbol): ... and here.
2010-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/45366
* gfortran.dg/proc_ptr_29.f90: New.
From-SVN: r163468
GCC Administrator [Mon, 23 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163465
John David Anglin [Sun, 22 Aug 2010 16:23:38 +0000 (16:23 +0000)]
re PR boehm-gc/34544 (pthread_default_stacksize_np failed.)
PR boehm-gc/34544
* gthr-posix.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux. Update comment.
* gthr-posix95.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux. Update comment.
* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
add -lpthread when -mt or -pthread is specified.
* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
$(T)libgcc_stub.a): Add methods.
* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
pthread_mutex_unlock): New stubs.
From-SVN: r163461
Tobias Burnus [Sun, 22 Aug 2010 14:05:26 +0000 (16:05 +0200)]
re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Further reduce required accuracy.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r163460
Joseph Myers [Sun, 22 Aug 2010 12:19:01 +0000 (13:19 +0100)]
Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
options.
* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
"-l".
* cppspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
* doc/tm.texi: Regenerate.
* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
(driver_handle_option): Allow driver options needing no special
processing.
(process_command): Decode options before call to
lang_specific_driver. Pass decoded options to
lang_specific_driver.
* gcc.h (lang_specific_driver): Update prototype.
* gccspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* opts-common.c (option_ok_for_language, generate_option,
generate_option_input_file): New.
(decode_cmdline_option): Use option_ok_for_language.
(decode_cmdline_options_to_array): Use generate_option_input_file.
(handle_generated_option): Use generate_option.
* opts.h (generate_option, generate_option_input_file): Declare.
cp:
* Make-lang.in (g++spec.o): Update dependencies.
* g++spec.c: Include opts.h
(MATH_LIBRARY, LIBSTDCXX): Remove initial "-l".
(lang_specific_driver): Use cl_decoded_option structures.
fortran:
* Make-lang.in (gfortranspec.o): Update dependencies.
* gfortranspec.c: Include coretypes.h before gcc.h. Include
opts.h.
(MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
(ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
(g77_xargc): Make unsigned.
(g77_xargv): Change to g77_x_decoded_options.
(g77_newargc): Make unsigned.
(g77_newargv): Change to g77_new_decoded_options.
(strings_same, options_same): New.
(append_arg): Use cl_decoded_option structures.
(append_option): New.
(add_arg_libgfortran): New.
(lang_specific_driver): Use cl_decoded_option structures.
java:
* Make-lang.in (jvspec.o): Update dependencies.
* jvspec.c: Include opts.h.
(PARAM_ARG): Remove.
(find_spec_file): Do not add leading -specs=.
(lang_specific_driver): Use cl_decoded_option structures.
* lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding,
extdirs, fmain=, s-bc-abi): New options.
From-SVN: r163459
Tobias Burnus [Sun, 22 Aug 2010 10:24:49 +0000 (12:24 +0200)]
re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22 Tobias Burnus <burnus@net-b.de>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Fix numeric tolerence.
From-SVN: r163458
Tobias Burnus [Sun, 22 Aug 2010 10:09:34 +0000 (12:09 +0200)]
Really commit the following change:
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Increase numeric tolerence.
From-SVN: r163457
Anatoly Sokolov [Sun, 22 Aug 2010 09:33:45 +0000 (13:33 +0400)]
mips.c (mips_override_options): Rename to...
* config/mips/mips.c (mips_override_options): Rename to...
(mips_option_override): ...this. Make static.
(TARGET_OPTION_OVERRIDE): Define.
(mips_in_small_data_p): Update comment.
* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
(FIXED_REGISTERS): Update comment.
* config/mips/mips-protos.h (mips_override_options): Remove.
From-SVN: r163456
Tobias Burnus [Sun, 22 Aug 2010 08:39:48 +0000 (10:39 +0200)]
re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-22 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
* gfortran.dg/bessel_7.f90: Disable accidently enabled debug
output.
From-SVN: r163455
Tobias Burnus [Sun, 22 Aug 2010 08:34:14 +0000 (10:34 +0200)]
re PR fortran/45367 (FAIL: gfortran.dg/bessel_6.f90 and gfortran.dg/bessel_7.f90)
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
PR fortran/36158
* gfortran.dg/bessel_6.f90: Increase numeric tolerence.
* gfortran.dg/bessel_7.f90: Increase numeric tolerence.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r163454
GCC Administrator [Sun, 22 Aug 2010 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163453
Olivier Hainque [Sat, 21 Aug 2010 20:54:18 +0000 (20:54 +0000)]
Fix formatting of recently added ChangeLog entry.
From-SVN: r163449
Olivier Hainque [Sat, 21 Aug 2010 20:53:16 +0000 (20:53 +0000)]
vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
From-SVN: r163448
Olivier Hainque [Sat, 21 Aug 2010 20:48:34 +0000 (20:48 +0000)]
vxworks.h: (PREFERRED_STACK_BOUNDARY...
* config/rs6000/vxworks.h: (PREFERRED_STACK_BOUNDARY,
ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
From-SVN: r163447
Richard Henderson [Sat, 21 Aug 2010 19:05:40 +0000 (12:05 -0700)]
Vectorize fast path of _cpp_clean_line.
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
(ptrdiff_t): Check via AC_CHECK_TYPE.
* config.in, configure: Rebuild.
* system.h: Include stdint.h, if available.
* lex.c (WORDS_BIGENDIAN): Provide default.
(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
search_line_sse2, search_line_sse42, init_vectorized_lexer,
search_line_fast): New.
(_cpp_clean_line): Use search_line_fast. Restructure the fast
loop to make it clear when we're leaving the loop. Stay in the
fast loop for non-trigraph '?'.
Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>
From-SVN: r163446
Janus Weil [Sat, 21 Aug 2010 14:50:57 +0000 (16:50 +0200)]
re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)
2010-08-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/45271
PR fortran/45290
* class.c (add_proc_comp): Add static initializer for PPCs.
(add_procs_to_declared_vtab): Modified comment.
* module.c (mio_component): Add argument 'vtype'. Don't read/write the
initializer if the component is part of a vtype.
(mio_component_list): Add argument 'vtype', pass it on to
'mio_component'.
(mio_symbol): Modified call to 'mio_component_list'.
* trans.h (gfc_conv_initializer): Modified prototype.
(gfc_trans_assign_vtab_procs): Removed.
* trans-common.c (create_common): Modified call to
'gfc_conv_initializer'.
* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_emit_parameter_debug_info): Modified call to
'gfc_conv_initializer'.
(build_function_decl): Remove assertion.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Removed call to 'gfc_trans_assign_vtab_procs'.
(gfc_conv_initializer): Add argument 'procptr'.
(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
(gfc_trans_assign_vtab_procs): Removed.
* trans-stmt.c (gfc_trans_allocate): Removed call to
'gfc_trans_assign_vtab_procs'.
2010-08-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/44863
PR fortran/45271
PR fortran/45290
* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).
From-SVN: r163445
Eric Botcazou [Sat, 21 Aug 2010 13:25:33 +0000 (13:25 +0000)]
* tracebak.c: Fix typo in comment.
From-SVN: r163444
Jan Hubicka [Sat, 21 Aug 2010 12:36:19 +0000 (14:36 +0200)]
tree-pass.h (pass_ipa_cdtor_merge): New function.
* tree-pass.h (pass_ipa_cdtor_merge): New function.
* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
heap allocated.
(record_cdtor_fn): Move to ipa.c; do not test for
have_ctors_dtors.
(build_cdtor): Move to ipa.c; add code avoiding construction
when target have ctors/dtors and there is only one ctor/dtor at given
priority.
(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
reverse order of constructors.
(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
(cgraph_finalize_function): Do not call record_cdtor_fn.
(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
(cgraph_build_static_cdtor): Move to ipa.c.
* ipa.c: Include target.h and tree-iterator.h.
(cgraph_build_static_cdtor, static_ctors, static_dtors,
record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
pass_ipa_cdtor_merge): New.
* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.
From-SVN: r163443
Jan Hubicka [Sat, 21 Aug 2010 12:24:41 +0000 (12:24 +0000)]
Fix previous commit.
From-SVN: r163442
Ralf Wildenhues [Sat, 21 Aug 2010 12:18:02 +0000 (12:18 +0000)]
Fix misquoting in stdint.m4.
config/:
PR target/45084
* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
of AC_MSG_ERROR.
libdecnumber/:
* configure: Regenerate.
libgfortran/:
* configure: Regenerate.
libgomp/:
* configure: Regenerate.
libstdc++-v3/:
* configure: Regenerate.
From-SVN: r163441
Tobias Burnus [Sat, 21 Aug 2010 10:12:53 +0000 (12:12 +0200)]
re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* intrinsic.c (add_sym): Init value attribute.
(set_attr_value): New function.
(add_functions) Use it and add JN/YN resolvers.
* symbol.c (gfc_copy_formal_args_intr): Copy value attr.
* intrinsic.h (gfc_resolve_bessel_n2): New prototype.
* gfortran.h (gfc_intrinsic_arg): Add value attribute.
* iresolve.c (gfc_resolve_bessel_n2): New function.
* trans-intrinsic.c (gfc_get_symbol_for_expr): Create
formal arg list.
(gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
* simplify.c (): For YN set to -INF if previous values
was -INF.
* trans-expr.c (gfc_conv_procedure_call): Don't crash
if sym->as is NULL.
* iresolve.c (gfc_resolve_extends_type_of): Set the
type of the dummy argument to the one of the actual.
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* m4/bessel.m4: Implement bessel_jn and bessel_yn.
* gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
and bessel_yn_r{4,8,10,16}.
* Makefile.am: Add bessel.m4.
* Makefile.in: Regenerated.
* generated/bessel_r4.c: Generated.
* generated/bessel_r16.c: Generated.
* generated/bessel_r8.c: Generated.
* generated/bessel_r10.c: Generated.
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_6.f90: New.
* gfortran.dg/bessel_7.f90: New.
From-SVN: r163440
Jan Hubicka [Sat, 21 Aug 2010 09:46:15 +0000 (11:46 +0200)]
re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
PR c++/17736
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
static cdtors.
* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
are not needed.
(cgraph_finalize_function): Static cdtors are reachable.
(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.
From-SVN: r163439
Jan Hubicka [Sat, 21 Aug 2010 08:13:27 +0000 (10:13 +0200)]
lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-streamer-out.c (lto_output): Likewise.
* passes.c (ipa_write_optimization_summaries): Initialize statement uids.
* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
(lto_wpa_write_files): Update comments.
From-SVN: r163438
GCC Administrator [Sat, 21 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r163437
Maciej W. Rozycki [Fri, 20 Aug 2010 22:39:58 +0000 (22:39 +0000)]
pex-common.c (pex_read_err): Set stderr_pipe to -1 if a corresponding stream has been opened.
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
corresponding stream has been opened.
(pex_free): Close pipe file descriptors corresponding to child's
stdout and stderr before waiting.
From-SVN: r163426
Olivier Hainque [Fri, 20 Aug 2010 22:08:41 +0000 (22:08 +0000)]
tree.h (alias_diag_flags): New enum.
* tree.h (alias_diag_flags): New enum.
(alias_pair): Add an 'emitted_diags' field.
* varasm.c (finish_aliases_1): Honor and update
* p->emitted_diags.
(assemble_alias): Initialize emitted_diags of new pairs.
From-SVN: r163425
Eric Botcazou [Fri, 20 Aug 2010 21:22:16 +0000 (21:22 +0000)]
aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
(STACK_CHECK_PROTECT): Define.
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
builtin stack checking is enabled.
* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(probe_stack_range): New insn.
From-SVN: r163424
H.J. Lu [Fri, 20 Aug 2010 20:57:56 +0000 (20:57 +0000)]
Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
gcc/
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/45336
* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
short first.
* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
char first.
gcc/testsuite/
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/45336
* gcc.target/i386/pr45336-1.c: New.
* gcc.target/i386/pr45336-2.c: Likewise.
* gcc.target/i386/pr45336-3.c: Likewise.
* gcc.target/i386/pr45336-4.c: Likewise.
From-SVN: r163421
Jakub Jelinek [Fri, 20 Aug 2010 20:54:25 +0000 (22:54 +0200)]
re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
to cover zero extension into 64-bit register.
(*sse2_pextrw): Likewise.
(*sse4_1_pextrd_zext): New insn.
From-SVN: r163420
Iain Sandoe [Fri, 20 Aug 2010 20:10:42 +0000 (20:10 +0000)]
revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
Darwin versions.
From-SVN: r163419
Uros Bizjak [Fri, 20 Aug 2010 19:23:52 +0000 (21:23 +0200)]
re PR testsuite/45361 (gcc.target/i386/volatile-2.c failed)
PR testsuite/45361
* gcc.target/i386/volatile-2.c: Update scan strings to also
include (%rip) for the memory reference on x86_64.
From-SVN: r163416
Jakub Jelinek [Fri, 20 Aug 2010 18:49:46 +0000 (20:49 +0200)]
re PR middle-end/44974 (Function with attribute noreturn omits a call to another function with noreturn)
PR middle-end/44974
* builtins.c (expand_builtin): Don't optimize away
calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
* gcc.dg/pr44974.c: New test.
From-SVN: r163415
Uros Bizjak [Fri, 20 Aug 2010 18:40:56 +0000 (20:40 +0200)]
i386.md (ashift RSP splitter): Remove splitter.
* config/i386/i386.md (ashift RSP splitter): Remove splitter.
(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
alternative 1 of operand 2.
From-SVN: r163414
Jakub Jelinek [Fri, 20 Aug 2010 18:08:10 +0000 (20:08 +0200)]
simplify-rtx.c (simplify_unary_operation_1): Optimize (sign_extend (zero_extend ()) and ({sign,zero}_extend (lshiftrt...
* simplify-rtx.c (simplify_unary_operation_1): Optimize
(sign_extend (zero_extend ()) and
({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r163413
Jakub Jelinek [Fri, 20 Aug 2010 18:07:12 +0000 (20:07 +0200)]
re PR rtl-optimization/45353 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in sel_bb_head, at sel-sched-ir.c:4329 with -fselective-scheduling and __builtin_unreachable())
PR rtl-optimization/45353
* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
after bb_note is a BARRIER.
* gcc.dg/pr45353.c: New test.
From-SVN: r163412
Iain Sandoe [Fri, 20 Aug 2010 16:12:14 +0000 (16:12 +0000)]
darwin.h (LIB_SPEC): New.
* config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by
linking libgcc.a.
From-SVN: r163410
Jakub Jelinek [Fri, 20 Aug 2010 15:56:14 +0000 (17:56 +0200)]
tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
sizetype.
Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r163409
Joseph Myers [Fri, 20 Aug 2010 15:27:29 +0000 (16:27 +0100)]
* lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.
From-SVN: r163408
Nathan Froyd [Fri, 20 Aug 2010 15:26:56 +0000 (15:26 +0000)]
ggc-common.c (ggc_mark_root_tab): New function, split out from...
* ggc-common.c (ggc_mark_root_tab): New function, split out from...
(ggc_mark_roots): ...here.
From-SVN: r163407
Joseph Myers [Fri, 20 Aug 2010 15:25:03 +0000 (16:25 +0100)]
gfortranspec.c (lang_specific_driver): Refer to -lgfortran in comment, not -lg2c.
* gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
comment, not -lg2c.
From-SVN: r163406
H.J. Lu [Fri, 20 Aug 2010 14:42:28 +0000 (14:42 +0000)]
Replace has_analyzed_clone with has_analyzed_clone_p.
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/45357
* lto.c (lto_materialize_function): Replace has_analyzed_clone
with has_analyzed_clone_p.
From-SVN: r163405
Jan Hubicka [Fri, 20 Aug 2010 13:29:36 +0000 (15:29 +0200)]
lto.c (has_analyzed_clone_p): New function
* lto.c (has_analyzed_clone_p): New function
(lto_materialize_function): Use callgraph to determine if
body is needed.
(materialize_cgraph): Remove DECL_IS_BUILTIN check.
From-SVN: r163403
Nathan Sidwell [Fri, 20 Aug 2010 12:59:40 +0000 (12:59 +0000)]
missed from rest of commit
missed from rest of commit
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.
From-SVN: r163402
Nathan Froyd [Fri, 20 Aug 2010 12:48:59 +0000 (12:48 +0000)]
vec.h (FOR_EACH_VEC_ELT): Define.
gcc/
* vec.h (FOR_EACH_VEC_ELT): Define.
* c-decl.c: Use it.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* dbxout.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* dse.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* ggc-common.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* lambda-code.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-opts.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-symtab.c: Likewise.
* matrix-reorg.c: Likewise.
* opts.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* vmsdbgout.c: Likewise.
gcc/ada/
* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
gcc/c-family/
* c-common.c: Use FOR_EACH_VEC_ELT.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.
gcc/cp/
* call.c: Use FOR_EACH_VEC_ELT.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* semantics.c: Likewise.
* typeck2.c: Likewise.
gcc/fortran/
* trans-openmp.c: Use FOR_EACH_VEC_ELT.
gcc/java/
* class.c: Use FOR_EACH_VEC_ELT.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.
gcc/lto/
* lto.c: Use FOR_EACH_VEC_ELT.
From-SVN: r163401
Nathan Sidwell [Fri, 20 Aug 2010 12:22:11 +0000 (12:22 +0000)]
gimplify.c (gimplify_modify_expr): When assigning to volatiles, copy the src value and return a copy.
gcc/
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.
gcc/testsuite/
* gcc.target/i386/volatile-2.c: New.
From-SVN: r163400
Joseph Myers [Fri, 20 Aug 2010 11:14:38 +0000 (12:14 +0100)]
tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to be zero or nonzero.
2010-08-20 Joseph Myers <joseph@codesourcery.com>
gcc/
* doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
be zero or nonzero.
* doc/tm.texi: Regenerate.
* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
* df-scan.c (df_get_exit_block_use_set), reginfo.c
(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
to 1.
From-SVN: r163399
Andrey Belevantsev [Fri, 20 Aug 2010 08:07:17 +0000 (12:07 +0400)]
re PR rtl-optimization/44691 (ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050)
PR rtl-optimization/44691
* gfortran.dg/pr44691.f: New test.
From-SVN: r163396
Olivier Hainque [Fri, 20 Aug 2010 08:03:41 +0000 (08:03 +0000)]
sparc.c (sparc_asm_function_epilogue): Don't output an extra nop past a sibling call at the very end.
* config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
an extra nop past a sibling call at the very end.
testsuite/
* gcc.target/sparc/sibcall-dslot.c: New testcase.
From-SVN: r163395
Uros Bizjak [Fri, 20 Aug 2010 07:14:00 +0000 (09:14 +0200)]
pass41-frag.cxx (dg-prune-output): New dg directive.
* testsuite/libmudflap.c++/pass41-frag.cxx (dg-prune-output):
New dg directive.
From-SVN: r163394
GCC Administrator [Fri, 20 Aug 2010 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163393
Bernd Schmidt [Thu, 19 Aug 2010 23:34:07 +0000 (23:34 +0000)]
re PR bootstrap/45350 (Failed to bootstrap on Linux/ia64)
PR bootstrap/45350
* combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix
a comment.
From-SVN: r163389
Jerry DeLisle [Thu, 19 Aug 2010 20:28:09 +0000 (20:28 +0000)]
re PR fortran/45108 (Namelist read: Not aborted when reading from STDIN)
2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/45108
* io/list_read.c (namelist_read): If namelist reading fails, use
generate_error and then continue the read loop.
From-SVN: r163387
Nathan Froyd [Thu, 19 Aug 2010 20:12:33 +0000 (20:12 +0000)]
target.def (function_arg, [...]): Remove const qualifier on CUMULATIVE_ARGS parameter.
* target.def (function_arg, function_incoming_arg): Remove const
qualifier on CUMULATIVE_ARGS parameter.
* targhooks.h (default_function_arg, default_function_incoming_arg):
Likewise.
* targhooks.c (default_function_arg, default_function_incoming_arg):
Likewise.
* config/i386/i386.c (ix86_function_arg): Likewise.
From-SVN: r163386
Jakub Jelinek [Thu, 19 Aug 2010 17:43:50 +0000 (19:43 +0200)]
re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
SIGN_EXTENDs or ZERO_EXTENDs.
From-SVN: r163384
Bernd Schmidt [Thu, 19 Aug 2010 17:31:57 +0000 (17:31 +0000)]
re PR tree-optimization/42172 (inefficient bit fields assignments)
PR target/42172
* combine.c (combine_validate_cost): New arg I0. All callers changed.
Take its cost into account if nonnull.
(insn_a_feeds_b): New static function.
(combine_instructions): Look for four-insn combinations.
(can_combine_p): New args PRED2, SUCC2. All callers changed. Take
them into account when computing all_adjacent and looking for other
uses.
(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
changed. Treat them like I1DEST and I1_NOT_IN_SRC.
(try_combine): New arg I0. Handle four-insn combinations.
(distribute_notes): New arg ELIM_I0. All callers changed. Treat it
like ELIM_I1.
From-SVN: r163383
Jason Merrill [Thu, 19 Aug 2010 17:24:19 +0000 (13:24 -0400)]
call.c (reference_related_p): Check for error_mark_node.
* call.c (reference_related_p): Check for error_mark_node.
(add_function_candidate): Check it instead of
same_type_ignoring_top_level_qualifiers_p.
From-SVN: r163382
Jason Merrill [Thu, 19 Aug 2010 17:01:01 +0000 (13:01 -0400)]
re PR c++/45315 (ICE: tree check: expected aggr_init_expr, have call_expr in build_value_init, at cp/init.c:317)
PR c++/45315
* init.c (build_new_1): Don't use build_value_init in a template.
(build_value_init): Make sure we don't.
From-SVN: r163381
Jason Merrill [Thu, 19 Aug 2010 17:00:51 +0000 (13:00 -0400)]
re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
if ctor is empty.
(gimplify_modify_expr_rhs): Adjust.
From-SVN: r163380
Jason Merrill [Thu, 19 Aug 2010 16:59:37 +0000 (12:59 -0400)]
except.c (pending_noexcept, [...]): New.
* except.c (pending_noexcept, pending_noexcept_checks): New.
(perform_deferred_noexcept_checks): New.
(maybe_noexcept_warning): Split from...
(finish_noexcept_expr): ...here. Adjust.
* decl2.c (cp_write_global_declarations): Call
perform_deferred_noexcept_checks.
* cp-tree.h: And declare it.
From-SVN: r163379
Nathan Froyd [Thu, 19 Aug 2010 16:51:39 +0000 (16:51 +0000)]
cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to bitmap_bit_p.
* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
bitmap_bit_p.
* config/bfin/bifn.c (bfin_discover_loop): Likewise.
* dominance.c (iterate_fix_dominators): Likewise.
* dse.c (set_usage_bits): Likewise.
(set_position_unneeded, record_store): Likewise.
* gimple-fold.c (get_maxval_strlen): Likewise.
* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
* ipa-inline.c (update_caller_keys): Likewise.
* ipa-split.c (verify_non_ssa_vars): Likewise.
* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
(close_type_exposed_parameter, close_type_full_escape): Likewise.
(close_addressof_down): Likewise.
* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
(setup_allocno_left_conflicts_size): Likewise.
(ira_reassign_conflict_allocnos): Likewise.
(ira_reassign_pseudos): Likewise.
* ira-emit.c (change_loop): Likewise.
* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
* lto-streamer-out.c (write_symbol): Likewise.
* predict.c (expr_expected_value_1): Likewise.
* regstat.c (regstat_bb_compute_ri): Likewise.
* sel-sched.c (create_block_for_bookkeeping): Likewise.
(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
* stmt.c (expand_case): Likewise.
* tree-eh.c (emit_eh_dispatch): Likewise.
* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
Likewise.
(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
(rdg_build_components): Likewise.
* tree-object-size.c (collect_object_sizes_for): Likewise.
* tree-sra.c (convert_callers): Likewise.
* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
From-SVN: r163378
Daniel Kraft [Thu, 19 Aug 2010 16:02:30 +0000 (18:02 +0200)]
re PR fortran/29785 (Fortran 2003: POINTER Rank Remapping)
2010-08-19 Daniel Kraft <d@domob.eu>
PR fortran/29785
PR fortran/45016
* trans.h (struct gfc_se): New flag `byref_noassign'.
* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
and check for compile-time errors with those.
* trans-decl.c (trans_associate_var): Use new routine
`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
rank remapping for assignment.
2010-08-19 Daniel Kraft <d@domob.eu>
PR fortran/29785
PR fortran/45016
* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
* gfortran.dg/pointer_remapping_1.f90: New test.
* gfortran.dg/pointer_remapping_2.f03: New test.
* gfortran.dg/pointer_remapping_3.f08: New test.
* gfortran.dg/pointer_remapping_4.f03: New test.
* gfortran.dg/pointer_remapping_5.f08: New test.
* gfortran.dg/pointer_remapping_6.f08: New test.
From-SVN: r163377
Uros Bizjak [Thu, 19 Aug 2010 15:55:01 +0000 (17:55 +0200)]
i386.md (*lea_1): Use P mode iterator.
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*lea_1): Use P mode iterator.
(lea add splitter): Also handle DImode operands.
(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
predicate. Do not use ix86_lea_for_add_ok.
(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
(lea ashift splitter): Also handle DImode operands.
(DImode lea ashift splitter): Remove splitter.
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
ix86_binary_operator_ok.
From-SVN: r163375
Uros Bizjak [Thu, 19 Aug 2010 14:18:18 +0000 (16:18 +0200)]
Also scan movb.
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
PR testsuite/45324
* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.
From-SVN: r163372
Ramana Radhakrishnan [Thu, 19 Aug 2010 10:23:50 +0000 (10:23 +0000)]
vect-1.c (foo): Fix last commit.
2010-08-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.dg/vect/vect-1.c (foo): Fix last commit.
From-SVN: r163370
Andrey Belevantsev [Thu, 19 Aug 2010 10:03:39 +0000 (14:03 +0400)]
re PR rtl-optimization/44691 (ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050)
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
is not a register.
From-SVN: r163369
Tejas Belagod [Thu, 19 Aug 2010 08:30:59 +0000 (09:30 +0100)]
For Tejas Belagod
2010-08-19 Tejas Belagod <tejas.belagod@arm.com>
* gcc.dg/vect/vect-1.c (foo): Change inner loop index
variable.
From-SVN: r163368
Ian Bolton [Thu, 19 Aug 2010 08:27:59 +0000 (08:27 +0000)]
For Ian Bolton <ian.bolton@arm.com>
2010-08-19 Ian Bolton <ian.bolton@arm.com>
PR target/45070
* gcc.c-torture/execute/pr45070.c: New.
* config/arm/arm.c (arm_output_epilogue): Ensure that return
value of size 1-3 is handled correctly.
From-SVN: r163367
Ian Bolton [Thu, 19 Aug 2010 08:12:31 +0000 (08:12 +0000)]
For Ian Bolton <ian.bolton@arm.com>
* tree-switch-conversion.c (gen_inbound_check): Ensure that the
type for the conditional has wide enough range.
* testsuite/g++.dg/pr44328.C: New test.
From-SVN: r163366
Tobias Burnus [Thu, 19 Aug 2010 07:34:05 +0000 (09:34 +0200)]
intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
2010-08-19 Tobias Burnus <burnus@net-b.de>
* intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
* * simplify.c (gfc_simplify_bessel_yn): Change recursive
into recurrence.
From-SVN: r163365
Tobias Burnus [Thu, 19 Aug 2010 07:28:17 +0000 (09:28 +0200)]
re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* check.c (gfc_check_bessel_n2): New function.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
* intrinsic.c (add_functions): Add transformational version
of the Bessel_jn/yn intrinsics.
* intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New prototypes.
* intrinsic.texi (Bessel_jn, Bessel_yn): Document
transformational variant.
* simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
Check for negative order.
(gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New functions.
2010-08-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_3.f90: New.
* gfortran.dg/bessel_4.f90: New.
* gfortran.dg/bessel_5.f90: New.
From-SVN: r163364
Jerry DeLisle [Thu, 19 Aug 2010 02:35:45 +0000 (02:35 +0000)]
re PR fortran/41859 (ICE on invalid expression involving DT with pointer components in I/O)
2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41859
* resolve.c (resolve_transfer): Traverse operands and set expression
to be checked to a non EXPR_OP type.
From-SVN: r163363
GCC Administrator [Thu, 19 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r163362
Uros Bizjak [Wed, 18 Aug 2010 22:37:03 +0000 (00:37 +0200)]
re PR target/45327 (ICE: SIGSEGV in rtx_equal_p (rtl.c:496) with -O1 -funroll-loops -fnon-call-exceptions)
PR target/45327
* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
ix86_binary_operator_ok.
From-SVN: r163357
Janus Weil [Wed, 18 Aug 2010 22:32:22 +0000 (00:32 +0200)]
re PR fortran/45290 ([F08] pointer initialization)
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.h (gfc_add_save): Modified prototype.
* decl.c (add_init_expr_to_sym): Defer checking of proc pointer init.
(match_pointer_init): New function to match F08 pointer initialization.
(variable_decl,match_procedure_decl,match_ppc_decl): Use
'match_pointer_init'.
(match_attr_spec): Module variables are implicitly SAVE.
(gfc_match_save): Modified call to 'gfc_add_save'.
* expr.c (gfc_check_assign_symbol): Extra checks for pointer
initialization.
* primary.c (gfc_variable_attr): Handle SAVE attribute.
* resolve.c (resolve_structure_cons): Add new argument and do pointer
initialization checks.
(gfc_resolve_expr): Modified call to 'resolve_structure_cons'.
(resolve_values): Call 'resolve_structure_cons' directly with init arg.
(resolve_fl_variable): Handle SAVE_IMPLICIT.
* symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle
SAVE_IMPLICIT.
* trans-decl.c (gfc_create_module_variable): Module variables with
TARGET can already exist.
* trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'.
(gfc_conv_initializer): Implement non-NULL pointer
initialization.
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.dg/proc_ptr_comp_3.f90: Modified.
* gfortran.dg/pointer_init_2.f90: New.
* gfortran.dg/pointer_init_3.f90: New.
* gfortran.dg/pointer_init_4.f90: New.
From-SVN: r163356
Eric Botcazou [Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)]
* tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
From-SVN: r163352
Uros Bizjak [Wed, 18 Aug 2010 19:24:41 +0000 (21:24 +0200)]
i386.md (*add<mode>_1): Split insn to lea.
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
<default>: Swap operands 1 and 2 for alternative 2 to use existing
code to output insn mnemonic. Fix comment.
(*addsi_1_zext): Add r-r-0 alternative 1.
<TYPE_LEA>: Split insn to lea.
<default>: Handle alternative 1.
(*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
multi-level if_then_else RTX to set "type" attribute.
<default>: Handle alternative 2.
(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
Use cond RTX instead of multi-level if_then_else RTX to set
"type" attribute.
<default>: Handle alternatives 2 and 4.
(lea splitters): Update calls to ix86_lea_for_add_ok.
* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
argument.
* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
From-SVN: r163351
Tobias Burnus [Wed, 18 Aug 2010 18:05:58 +0000 (20:05 +0200)]
re PR fortran/45295 (intrinsic.texi: SELECTED_CHAR_KIND should mention wide-char support)
2010-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/45295
* intrinsic.texi (selected_char_kind): Document ISO_10646
support.
From-SVN: r163347
Nathan Froyd [Wed, 18 Aug 2010 16:05:40 +0000 (16:05 +0000)]
re PR c++/45049 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'tree_list' in push_overloaded_decl, at cp/name-lookup.c:2160)
gcc/cp/
PR c++/45049
* name-lookup.c (push_overloaded_decl): Change DECL_CHAIN to
TREE_CHAIN.
gcc/testsuite/
PR c++/45049
* g++.dg/pr45049-1.C: New test.
* g++.dg/pr45049-2.C: New test.
From-SVN: r163344
Kostya Serebryany [Wed, 18 Aug 2010 15:21:56 +0000 (15:21 +0000)]
re PR libstdc++/45276 (Need to document _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE)
2010-08-18 Kostya Serebryany <kcc@google.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45276
* doc/xml/manual/debug.xml ([debug.races]): Add.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r163342
Jie Zhang [Wed, 18 Aug 2010 14:45:33 +0000 (14:45 +0000)]
builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwise 64.
* gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
20 if __ARM_PCS is defined otherwise 64.
(bar): Use STACK_ARGUMENTS_SIZE for the third argument
instead of hard coded 64.
From-SVN: r163341
Richard Guenther [Wed, 18 Aug 2010 14:18:51 +0000 (14:18 +0000)]
tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts, use operand helpers.
2010-08-18 Richard Guenther <rguenther@suse.de>
* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
use operand helpers.
From-SVN: r163340
Paolo Bonzini [Wed, 18 Aug 2010 13:35:46 +0000 (13:35 +0000)]
Expand pending pops before trying the optab.
2010-08-18 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/45292
* optabs.c (expand_bool_compare_and_swap): Expand pending
pops before trying the optab.
From-SVN: r163339
Yao Qi [Wed, 18 Aug 2010 12:33:43 +0000 (12:33 +0000)]
re PR target/45094 ([arm] wrong instructions for dword move in some cases)
gcc/
PR target/45094
* config/arm/arm.c (output_move_double): Fix typo generating
instructions ('ldr'->'str').
gcc/testsuite/
PR target/45094
* gcc.target/arm/pr45094.c: New test.
From-SVN: r163338
Maxim Kuvyrkov [Wed, 18 Aug 2010 10:36:09 +0000 (10:36 +0000)]
* gcc.target/arm/mla-1.c: Use thumb-friendly architecture.
From-SVN: r163335
Maxim Kuvyrkov [Wed, 18 Aug 2010 10:34:02 +0000 (10:34 +0000)]
re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)
gcc/
PR rtl-optimization/42575
* optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
live ranges.
gcc/testsuite/
PR rtl-optimization/42575
* gcc.target/pr42575.c: New test.
From-SVN: r163334
Iain Sandoe [Wed, 18 Aug 2010 09:01:22 +0000 (09:01 +0000)]
test cse for emulated TLS targets.
* lib/target-supports.exp (check_effective_target_tls_emulated): New.
* gcc.dg/tls/thr-cse-1.c: New.
From-SVN: r163330
Jack Howarth [Wed, 18 Aug 2010 08:51:57 +0000 (08:51 +0000)]
configure.ac (THREADLIBS): Don't set on Darwin.
2010-08-18 Jack Howarth <howarth@bromo.med.uc.edu>
* libjava/configure.ac (THREADLIBS): Don't set on Darwin.
(THREADSPEC): Likwise.
* libjava/configure: Regenerate.
* libjava/Makefile.am: Define LIBJAVA_LDFLAGS_LIBMATH as
-lm only if USING_DARWIN_CRT undefined.
(libgcj_tools_la_LIBADD): Replace '-lm' with $(LIBJAVA_LDFLAGS_LIBMATH).
* libjava/Makefile.in: Regenerate.
From-SVN: r163329
Marcus Shawcroft [Wed, 18 Aug 2010 08:25:33 +0000 (08:25 +0000)]
For Marcus - Implement sync primitives inline for ARM.
2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/arm-protos.h (arm_expand_sync): New.
(arm_output_memory_barrier, arm_output_sync_insn): New.
(arm_sync_loop_insns): New.
* config/arm/arm.c (FL_ARCH7): New.
(FL_FOR_ARCH7): Include FL_ARCH7.
(arm_arch7): New.
(arm_print_operand): Support %C markup.
(arm_legitimize_sync_memory): New.
(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
(arm_process_output_sync_insn, arm_output_sync_insn): New.
(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
* config/arm/arm.h (struct arm_sync_generator): New.
(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
(TARGET_HAVE_MEMORY_BARRIER): New.
(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
* config/arm/arm.md: Include sync.md.
(UNSPEC_MEMORY_BARRIER): New.
(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
(VUNSPEC_SYNC_OP):New.
(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
(sync_result, sync_memory, sync_required_value): New attributes.
(sync_new_value, sync_t1, sync_t2): Likewise.
(sync_release_barrier, sync_op): Likewise.
(length): Add logic to length attribute defintion to call
arm_sync_loop_insns when appropriate.
* config/arm/sync.md: New file.
From-SVN: r163327
Iain Sandoe [Wed, 18 Aug 2010 08:21:43 +0000 (08:21 +0000)]
re PR debug/42487 (FAIL: gcc.dg/debug/dwarf2/aranges-fnsec-1.c scan-assembler DW_AT_ranges)
PR debug/42487
* lib/target-supports.exp
(check_effective_target_function_sections): New.
* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Check that the target supports
function sections before proceding.
From-SVN: r163326
GCC Administrator [Wed, 18 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163323
Jakub Jelinek [Tue, 17 Aug 2010 18:10:20 +0000 (20:10 +0200)]
tree.h (host_integerp): Add ATTRIBUTE_PURE when not ENABLE_TREE_CHECKING.
* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
ENABLE_TREE_CHECKING.
(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
and GCC >= 4.3.
From-SVN: r163313
Jakub Jelinek [Tue, 17 Aug 2010 18:08:05 +0000 (20:08 +0200)]
re PR fortran/45308 ([F2003] DATE_AND_TIME does _not_ blank-pad strings)
PR fortran/45308
* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy. Drop
asserts. Adjust comment to the F2003 wording from the F95 wording.
* gfortran.dg/pr45308.f03: New test.
From-SVN: r163312
Jakub Jelinek [Tue, 17 Aug 2010 18:06:18 +0000 (20:06 +0200)]
re PR fortran/45304 (Functions/subroutines without arguments always treated like varargs)
PR fortran/45304
* trans-decl.c (build_library_function_decl_1): Chain on
void_list_node instead of creating a new TREE_LIST.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
* trans-types.c (gfc_get_function_type): Likewise. Set
typelist to void_list_node for the main program.
From-SVN: r163311
H.J. Lu [Tue, 17 Aug 2010 15:49:32 +0000 (15:49 +0000)]
Try to avoid lea if possible.
2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
or optimizing for size, always avoid lea if possible.
* config/i386/i386.md (*add<mode>_1): Always avoid lea if
possible.
From-SVN: r163310
Iain Sandoe [Tue, 17 Aug 2010 14:54:10 +0000 (14:54 +0000)]
only use _darwin10_Unwind_FindEnclosingFunction on darwin >= 10
gcc:
* unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
Dunmmy function with NULL return unless the target is
OSX >= 10.6 (Darwin10).
libjava:
* include/posix.h: Make substitution of
_darwin10_Unwind_FindEnclosingFunction conditional on
OSX >= 10.6 (Darwin10).
From-SVN: r163309