Janus Weil [Fri, 28 Dec 2012 15:14:45 +0000 (16:14 +0100)]
re PR fortran/55692 (ICE on incorrect use of ASSOCIATED function)
2012-12-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/55692
* check.c (gfc_check_associated): Remove a "gcc_assert (0)".
2012-12-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/55692
* gfortran.dg/associated_7.f90: New.
From-SVN: r194744
Tobias Burnus [Fri, 28 Dec 2012 11:22:14 +0000 (12:22 +0100)]
re PR fortran/55763 (Issues with some simpler CLASS(*) programs)
2012-12-28 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
* check.c (gfc_check_move_alloc): Handle unlimited polymorphic.
* trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto.
2012-12-28 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
* gfortran.dg/unlimited_polymorphic_5.f90
From-SVN: r194743
GCC Administrator [Fri, 28 Dec 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194742
Jerry DeLisle [Thu, 27 Dec 2012 20:13:35 +0000 (20:13 +0000)]
re PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/48960
* gfortran.dg/newunit_3.f90: New.
From-SVN: r194738
Jerry DeLisle [Thu, 27 Dec 2012 19:24:44 +0000 (19:24 +0000)]
re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/48976
* gfortran.dg/inquire_15.f90: New.
From-SVN: r194736
Jerry DeLisle [Thu, 27 Dec 2012 18:09:13 +0000 (18:09 +0000)]
re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/48976
* gfortran.h (gfc_inquire struct): Add pointer for inquire stream.
* io.c (io_tag): Add tag for inquire stream. (match_inquire_element):
Add matcher for new tag. (gfc_resolve_inquire): Resolve new tag.
* ioparm.def: Add new parameter for inquire stream.
* trans-io.c (gfc_trans_inquire): Add tranlste code for inquire
stream.
From-SVN: r194734
Jerry DeLisle [Thu, 27 Dec 2012 18:07:33 +0000 (18:07 +0000)]
re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/48976
* io/inquire.c (inquire_via_unit): Set user stream inquiry variable to
appropriate value based on unit access method. (inquire_via_filename):
Since filename is not associated with an open unit, set stream inquiry
to UNKNOWN.
* io/io.h: Define inquire stream parameters.
From-SVN: r194733
David Edelsohn [Thu, 27 Dec 2012 17:53:17 +0000 (17:53 +0000)]
rs6000.c (rs6000_deligitimze_address): Do not delegitimize TLS addresses on AIX.
* config/rs6000/rs6000.c (rs6000_deligitimze_address): Do not
delegitimize TLS addresses on AIX.
(rs6000_legitimize_tls_address_aix): Append TLS symbol qualifier.
Set SYMBOL_FLAG_LOCAL on module symbol.
(output_toc): Do not append TLS symbol qualifier here.
* config/rs6000/rs6000.md (tls_get_addr_internal): Add GPR 4 to
clobbers.
From-SVN: r194732
Andreas Schwab [Thu, 27 Dec 2012 10:04:51 +0000 (10:04 +0000)]
* target.def (supports_function_versions): Fix typo.
From-SVN: r194731
Sriraman Tallam [Thu, 27 Dec 2012 01:58:06 +0000 (01:58 +0000)]
Before this patch...
Before this patch, function multiversioning determines that two functions
are different by comparing the arch type and isa flags that are set
after the target string is processed. This leads to cases where the
versions become identical when the command-line target options are
altered.
This patch modifies the function version determination to
just compare the target string.
2012-12-27 Sriraman Tallam <tmsriram@google.com>
* doc/tm.texi.in (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Document
new target hook.
* doc/tm.texi: Regenerate.
* c-family/c-common.c (handle_target_attribute): Retain target attribute
for targets that support versioning.
* target.def (supports_function_versions): New hook.
* cp/class.c (add_method): Remove calls
to DECL_FUNCTION_SPECIFIC_TARGET.
* config/i386/i386.c (ix86_function_versions): Use target string
to check for function versions instead of target flags.
* (ix86_supports_function_versions): New function.
* (is_function_default_version): Check target string.
* TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS: New macro.
2012-12-27 Sriraman Tallam <tmsriram@google.com>
* testsuite/g++.dg/mv1.C: Remove target options.
* testsuite/g++.dg/mv2.C: Ditto.
* testsuite/g++.dg/mv3.C: Ditto.
* testsuite/g++.dg/mv4.C: Ditto.
* testsuite/g++.dg/mv5.C: Ditto.
From-SVN: r194730
GCC Administrator [Thu, 27 Dec 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194729
Steven Bosscher [Thu, 27 Dec 2012 00:10:14 +0000 (00:10 +0000)]
* cgraph.c (verify_cgraph_node): Don't allocate/free visited_nodes set.
From-SVN: r194726
Jerry DeLisle [Wed, 26 Dec 2012 18:11:42 +0000 (18:11 +0000)]
re PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)
2012-12-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/48960
* io/open.c (st_parameter_open): Assign newunit number to user
variable only if the the associated open statement is successful.
From-SVN: r194724
Anthony Green [Wed, 26 Dec 2012 16:28:02 +0000 (16:28 +0000)]
libffi merge
From-SVN: r194722
GCC Administrator [Wed, 26 Dec 2012 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194721
Janne Blomqvist [Tue, 25 Dec 2012 22:11:16 +0000 (00:11 +0200)]
PR fortran/55539 Fix regression in -fno-sign-zero.
libgfortran ChangeLog:
2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/55539
* io/write_float.def (output_float): Take into account decimal dot.
testsuite ChangeLog:
2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/55539
* gfortran.dg/nosigned_zero_3.f90: New testcase.
From-SVN: r194717
John David Anglin [Tue, 25 Dec 2012 17:57:35 +0000 (17:57 +0000)]
re PR target/53789 (ICE in gen_reg_rtx, at emit-rtl.c:864/865 when compiling GNU MPFR on parisc)
PR target/53789
* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
after reload starts.
From-SVN: r194714
GCC Administrator [Tue, 25 Dec 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194712
GCC Administrator [Mon, 24 Dec 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194709
Tobias Burnus [Sun, 23 Dec 2012 18:43:32 +0000 (19:43 +0100)]
re PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0)
2012-12-23 Tobias Burnus <burnus@net-b.de>
PR fortran/54884
* module.c (write_symbol1_recursion): Set attr.public_use.
* interface.c (check_sym_interfaces, check_uop_interfaces,
gfc_check_interfaces): Remove attr.public_use code.
* resolve.c (resolve_function, resolve_variable,
resolve_typebound_procedure): Ditto.
2012-12-23 Tobias Burnus <burnus@net-b.de>
PR fortran/54884
* gfortran.dg/public_private_module_8.f90: New.
From-SVN: r194706
Richard Sandiford [Sun, 23 Dec 2012 10:01:40 +0000 (10:01 +0000)]
r10k-cache-barrier-10.c: Make a branch-likely instruction more likely.
gcc/testsuite/
* gcc.target/mips/r10k-cache-barrier-10.c: Make a branch-likely
instruction more likely.
From-SVN: r194705
Richard Sandiford [Sun, 23 Dec 2012 09:47:31 +0000 (09:47 +0000)]
pr55315.c: Cast to long rather than int.
gcc/testsuite/
* gcc.target/mips/pr55315.c: Cast to long rather than int.
From-SVN: r194704
GCC Administrator [Sun, 23 Dec 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194703
Jan Hubicka [Sat, 22 Dec 2012 23:27:49 +0000 (00:27 +0100)]
re PR lto/54728 (ICE in input_gimple_stmt, at gimple-streamer-in.c:254)
PR lto/54728
* cgraph.h (symtab_real_symbol_p): Drop code looking for external functions.
* lto-streamer-out.c (output_symbol_p): New function.
(produce_symtab) Use it.
From-SVN: r194700
Tobias Burnus [Sat, 22 Dec 2012 17:27:03 +0000 (18:27 +0100)]
re PR fortran/55763 (Issues with some simpler CLASS(*) programs)
2012-12-21 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
* module.c (mio_component): Don't skip _hash's initializer.
* resolve.c (resolve_select_type): Add an assert.
* trans-expr.c (gfc_conv_procedure_call): Handle
INTENT(OUT) for UNLIMIT_POLY.
2012-12-21 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
* gfortran.dg/unlimited_polymorphic_6.f90: New.
From-SVN: r194696
Ian Lance Taylor [Sat, 22 Dec 2012 01:15:33 +0000 (01:15 +0000)]
libgo: Update to revision 15193:
6fdc1974457c of master library.
From-SVN: r194692
GCC Administrator [Sat, 22 Dec 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194691
Ed Schonberg [Fri, 21 Dec 2012 22:31:42 +0000 (22:31 +0000)]
re PR ada/53737 (Assert_Failure on a generic package with a package as parameter)
PR ada/53737
* sem_ch12.adb (Analyze_Associations): Do not check the legality of
actuals for RACW types if this is an internal instantiation for a formal
package with defaulted parameters.
From-SVN: r194687
Ian Lance Taylor [Fri, 21 Dec 2012 22:23:23 +0000 (22:23 +0000)]
compiler: Error if name defined in both package and file blocks.
From-SVN: r194685
Eric Botcazou [Fri, 21 Dec 2012 22:13:34 +0000 (22:13 +0000)]
Fix copyright notices.
From-SVN: r194683
Martin Jambor [Fri, 21 Dec 2012 22:06:38 +0000 (23:06 +0100)]
re PR tree-optimization/55355 (internal compiler error: in tree_low_cst, at tree.c:6415)
2012-12-21 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55355
* tree-sra.c (type_internals_preclude_sra_p): Also check that
bit_position is small enough to fit a single HOST_WIDE_INT.
* testsuite/g++.dg/torture/pr55355.C: New test.
From-SVN: r194682
Eric Botcazou [Fri, 21 Dec 2012 21:38:11 +0000 (21:38 +0000)]
rtlanal.c (volatile_insn_p): Delete commented out code.
* rtlanal.c (volatile_insn_p): Delete commented out code.
(side_effects_p): Likewise.
(may_trap_p_1) <UNSPEC_VOLATILE>: Return 1 again.
* target.def (unspec_may_trap_p): Adjust comment.
* targhooks.c (default_unspec_may_trap_p): Don't handle UNSPEC_VOLATILE.
* config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change.
From-SVN: r194681
Vladimir Makarov [Fri, 21 Dec 2012 21:20:48 +0000 (21:20 +0000)]
re PR inline-asm/55775 (ICE when building pari)
2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55775
* lra-assigns.c (improve_inheritance): Do nothing after
LRA_MAX_INHERITANCE_PASSES pass.
* lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Rename to
LRA_MAX_CONSTRAINT_ITERATION_NUMBER. Move to lra-int.h.
(MAX_INHERITANCE_PASSES): Rename to LRA_MAX_INHERITANCE_PASSES.
Move to lra-int.h.
* lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Move from
lra-constraints.c.
(LRA_MAX_INHERITANCE_PASSES): Ditto.
2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55775
* gcc.target/i386/pr55775.c: New test.
From-SVN: r194680
Thomas Koenig [Fri, 21 Dec 2012 20:50:48 +0000 (20:50 +0000)]
re PR libfortran/30162 (Document when sequential I/O with named pipes works)
2012-12-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/30162
* io/unix.c (raw_tell): If the lseek is done on a
non-seekable file, return 0.
From-SVN: r194679
Steve Ellcey [Fri, 21 Dec 2012 18:54:00 +0000 (18:54 +0000)]
re PR bootstrap/54128 (GCC does not bootstrap on little endian mips due to mis-compare on tree-data-ref.c)
2012-12-21 Steve Ellcey <sellcey@mips.com>
PR bootstrap/54128
* ira.c (build_insn_chain): Check only NONDEBUG instructions for
register usage.
From-SVN: r194676
David Edelsohn [Fri, 21 Dec 2012 17:25:57 +0000 (17:25 +0000)]
varasm.c (bss_initializer_p): Remove static.
* varasm.c (bss_initializer_p): Remove static.
* output.h (bss_initializer_p): Declare.
* xcoffout.c (xcoff_tbss_section_name): Define.
* xcoffout.h (xcoff_tbss_section_name): Declare.
* config/rs6000/xcoff.h (TARGET_ENCODE_SECTION_INFO): Define.
(ASM_OUTPUT_TLS_COMMON): Merge strings.
* config/rs6000/rs6000.c (tls_private_data_section): New.
(output_toc): Only output CSECT decoration for TLS.
Output appropriate CSECT for data or bss.
(rs6000_xcoff_asm_init_sections) Define tls_private_data_section.
(rs6000_xcoff_select_section): Handle TLS bss and private data.
(rs6000_xcoff_file_start): Generate xcoff_tbss_section_name.
(rs6000_xcoff_encode_section_info): Strip SYMBOL_FLAG_HAS_BLOCK_INFO
from native TLS symbols.
From-SVN: r194675
David Edelsohn [Fri, 21 Dec 2012 16:30:24 +0000 (16:30 +0000)]
* c-c++-common/pr43942.c: Remove XFAIL for AIX.
From-SVN: r194672
David Edelsohn [Fri, 21 Dec 2012 16:25:55 +0000 (16:25 +0000)]
* gcc.c-torture/compile/pr44707.c: Do not try to assemble on AIX.
From-SVN: r194671
David Edelsohn [Fri, 21 Dec 2012 16:21:53 +0000 (16:21 +0000)]
target-supports.exp (add_options_for_tls): Add -pthread for AIX as well.
* lib/target-supports.exp (add_options_for_tls): Add -pthread for
AIX as well.
(check_effective_target_powerpc_vsx_ok): Only test VSX on AIX 7.1
and above.
From-SVN: r194670
Ian Lance Taylor [Fri, 21 Dec 2012 15:59:27 +0000 (15:59 +0000)]
re PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
PR bootstrap/54659
compiler: Don't include <gmp.h>, now included by go-system.h.
* go-system.h: Don't include <cstdio>.
From-SVN: r194669
David Edelsohn [Fri, 21 Dec 2012 15:55:52 +0000 (10:55 -0500)]
pthread-init-2.c (dg-options): Define _XOPEN_SOURCE=500 on AIX.
* gcc.dg/pthread-init-2.c (dg-options): Define _XOPEN_SOURCE=500
on AIX.
From-SVN: r194668
Richard Biener [Fri, 21 Dec 2012 14:33:59 +0000 (14:33 +0000)]
re PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567)
2012-12-21 Richard Biener <rguenther@suse.de>
PR rtl-optimization/52996
* cprop.c (bypass_block): When loops are to be preserved
do not bypass loop headers. Revert earlier kludge to remove
loops when doing that.
From-SVN: r194666
Richard Biener [Fri, 21 Dec 2012 14:33:13 +0000 (14:33 +0000)]
re PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
2012-12-21 Richard Biener <rguenther@suse.de>
PR bootstrap/54659
* system.h: Include gmp.h.
* tree-ssa-loop-niter.c: Do not include gmp.h here.
* double-int.h: Likewise.
* realmpfr.h: Likewise.
fortran/
* gfortran.h: Do not include gmp.h here.
From-SVN: r194665
Paul Thomas [Fri, 21 Dec 2012 14:29:34 +0000 (14:29 +0000)]
re PR fortran/55763 (Issues with some simpler CLASS(*) programs)
2012-12-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55763
* match.c (select_type_set_tmp): Return is a derived type or
class typespec has no derived type.
* resolve.c (resolve_fl_var_and_proc): Exclude select type
temporaries from 'pointer'.
(resolve_symbol): Exclude select type temporaries from tests
for assumed size and assumed rank.
2012-12-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55763
* gfortran.dg/unlimited_polymorphic_4.f03: New test.
From-SVN: r194663
Eric Botcazou [Fri, 21 Dec 2012 12:32:31 +0000 (12:32 +0000)]
adaint.c: Move directive around.
* adaint.c: Move directive around.
* argv.c: Likewise.
* cio.c: Likewise.
* cstreams.c: Likewise.
* env.c: Likewise.
* exit.c: Likewise.
* init.c: Likewise.
* initialize.c: Likewise.
* raise.c: Likewise.
* seh_init.c: Likewise.
* targext.c: Likewise.
From-SVN: r194660
Richard Biener [Fri, 21 Dec 2012 10:32:43 +0000 (10:32 +0000)]
re PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567)
2012-12-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/52996
* gcc.dg/torture/pr52996.c: New testcase.
From-SVN: r194659
Kai Tietz [Fri, 21 Dec 2012 10:12:48 +0000 (11:12 +0100)]
os_defines.h (_GLIBCXX_LLP64): Define if llp64 abi is used.
* config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64
abi is used.
* config/os/mingw32-w64/os_defines.h: Likewise.
* libsupc++/cxxabi.h (__base_class_type_info): Adjust
type of __offset_flags for llp64.
* libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper
for llp64 abi.
(EMERGENCY_OBJ_COUNT): Likewise.
(bitmask_type): Likewise.
* libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64.
From-SVN: r194658
Greta Yorsh [Fri, 21 Dec 2012 09:49:58 +0000 (09:49 +0000)]
cortex-a7.md: New file.
gcc/
2012-12-21 Greta Yorsh <Greta.Yorsh@arm.com>
* config/arm/cortex-a7.md: New file.
* config/arm/t-arm (MD_INCLUDES): Add cortex-a7.md.
* config/arm/arm.md: Include cortex-a7.md.
(generic_sched): Don't use generic scheduler for Cortex-A7.
(generic_vfp): Likewise.
* config/arm/arm.c: (TARGET_SCHED_REORDER): Use arm_sched_reorder.
(arm_sched_reorder,cortexa7_sched_reorder): New function.
(cortexa7_older_only,cortexa7_younger): Likewise.
(arm_issue_rate): Add Cortex-A7.
From-SVN: r194656
GCC Administrator [Fri, 21 Dec 2012 00:18:30 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194655
Jonathan Wakely [Thu, 20 Dec 2012 22:19:57 +0000 (22:19 +0000)]
gthr.h (__gthread_cond_timedwait_recursive): Do not require.
* gthr.h (__gthread_cond_timedwait_recursive): Do not require.
* gthr-posix.h (__gthread_cond_timedwait_recursive): Remove.
From-SVN: r194652
Jonathan Wakely [Thu, 20 Dec 2012 21:02:33 +0000 (21:02 +0000)]
functional (_Require): Move to ...
* include/std/functional (_Require): Move to ...
* include/std/type_traits (_Require): ... here.
* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
Handle unique_ptr for arrays or with custom pointer types.
(__shared_ptr::__shared_ptr(unique_ptr<_Tp1, _Del>&&): Likewise.
* include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Use
_Dp::pointer if defined. Implement proposed resolution of LWG 2118.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: New.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc: New.
* testsuite/20_util/unique_ptr/cons/convertible_neg.cc: New.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc: New.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Adjust comments.
* testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
Likewise.
* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Likewise.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line number.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/default_delete/48631_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
dg-error text.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Use
different instantiations so static_assert fails for each.
From-SVN: r194651
Matthias Klose [Thu, 20 Dec 2012 19:17:53 +0000 (19:17 +0000)]
Makefile.def (install-target-libgfortran): Depend on install-target-libquadmath, install-target-libgcc.
2012-12-20 Matthias Klose <doko@ubuntu.com>
* Makefile.def (install-target-libgfortran): Depend on
install-target-libquadmath, install-target-libgcc.
(install-target-libsanitizer): Depend on install-target-libgcc.
(install-target-libjava): Depend on install-target-libgcc.
(install-target-libitm): Depend on install-target-libgcc.
(install-target-libobjc): Depend on install-target-libgcc.
(install-target-libstdc++-v3): Depend on install-target-libgcc.
* Makefile.in: Regenerate.
From-SVN: r194650
Ian Bolton [Thu, 20 Dec 2012 19:13:21 +0000 (19:13 +0000)]
Make zero_extends explicit for common AArch64 SI mode patterns
From-SVN: r194649
Janus Weil [Thu, 20 Dec 2012 18:15:13 +0000 (19:15 +0100)]
re PR libfortran/36044 (user-requested backtrace)
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.h (gfc_isym_id): Add GFC_ISYM_BACKTRACE.
* intrinsic.c (add_subroutines): Add "backtrace".
* intrinsic.texi (BACKTRACE): Document BACKTRACE intrinsic.
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.map: Add _gfortran_backtrace.
* libgfortran.h: Rename 'show_backtrace' and export.
* runtime/backtrace.c (show_backtrace): Rename to 'backtrace'.
Don't show message. Close file descriptor. Export.
* runtime/compile_options.c (backtrace_handler): Renamed
'show_backtrace'. Move message outside.
* runtime/error.c (sys_abort): Ditto.
From-SVN: r194648
Jakub Jelinek [Thu, 20 Dec 2012 18:13:56 +0000 (19:13 +0100)]
re PR middle-end/55750 (-( in expand_expr_addr_expr_1, at expr.c:7646)
PR middle-end/55750
* gimplify.c (gimplify_self_mod_expr): Don't force lvalue to
pass is_gimple_min_lval.
* gcc.c-torture/execute/pr55750.c: New test.
From-SVN: r194647
Richard Henderson [Thu, 20 Dec 2012 18:05:26 +0000 (10:05 -0800)]
s390: Generate rnsbg
* config/s390/s390.md (*insv_rnsbg_noshift, *insv_rnsbg_srl): New.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194646
Richard Henderson [Thu, 20 Dec 2012 18:05:19 +0000 (10:05 -0800)]
s390: Generate rxsbg, and shifted forms of rosbg
* config/s390/s390.md (IXOR): New code iterator.
(*r<IXOR>sbg_<GPR>_noshift): Rename from *insv<GPR>_or_z10_noshift;
macro-ize to handle XOR too.
(*r<IXOR>sbg_di_rotl, *r<IXOR>sbg_<GPR>_srl, *r<IXOR>sbg_<GPR>_sll):
New patterns.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194645
Richard Henderson [Thu, 20 Dec 2012 18:05:11 +0000 (10:05 -0800)]
s390: Implement extzv for z10
* config/s390/predicates.md (nonzero_shift_count_operand): New.
* config/s390/s390-protos.h (s390_extzv_shift_ok): Declare.
* config/s390/s390.c (s390_extzv_shift_ok): New function.
* config/s390/s390.md (extzv): New expander.
(*extzv<GPR>_zEC12, *extzv<GPR>_z10): New insns.
(*pre_z10_extzv<GPR>): Rename from *extzv<GPR>; simplify with
nonzero_shift_count_operand.
(*extzv_<mode>_srl, *extzv_<mode>_sll): New insns.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194644
Richard Henderson [Thu, 20 Dec 2012 18:05:03 +0000 (10:05 -0800)]
s390: Add mode attribute for mode bitsize
* config/s390/s390.md (bitsize): New mode attr.
(*extzv<GPR>, *extzv<GPR>, *insv<GPR>_zEC12, *insv<GPR>_z10): Use it.
(extend<HQI><DSI>2, zero_extend<HQI>si2): Likewise.
(zero_extend<HQI>di2, fixuns_trunc<BFP><GPR>2): Likewise.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194643
Richard Henderson [Thu, 20 Dec 2012 18:04:56 +0000 (10:04 -0800)]
s390: Use risbgz for AND
* config/s390/s390.md (*anddi3_cc): Add risbg alternative.
(*anddi3_cconly, *anddi3): Likewise.
(*andsi3, *andsi3_cconly, *andsi3_zarch): Likewise.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194642
Richard Henderson [Thu, 20 Dec 2012 18:04:49 +0000 (10:04 -0800)]
s390: Only use lhs zero_extract in word_mode
* config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194641
Richard Henderson [Thu, 20 Dec 2012 18:04:41 +0000 (10:04 -0800)]
s390: Constraints, predicates, and op letters for contiguous bitmasks
* config/s390/constraints.md (NxxDq, NxxSq): New.
* config/s390/predicates.md (contiguous_bitmask_operand): New.
* config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New
operand letters.
* config/s390/s390.md (bfstart, bfend): New mode attrs.
(*insv<GPR>_zEC12_noshift): Use them.
(*insv<GPR>_z10_noshift): Likewise.
(*insv<GPR>_or_z10_noshift): Likewise.
Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
From-SVN: r194640
Paul Thomas [Thu, 20 Dec 2012 18:03:37 +0000 (18:03 +0000)]
same_type_as_1.f03: Correct for improved message.
2012-12-20 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/same_type_as_1.f03: Correct for improved message.
From-SVN: r194639
Thomas Schwinge [Thu, 20 Dec 2012 15:57:18 +0000 (16:57 +0100)]
re PR driver/55202 (Building a combined tree is broken for LTO)
PR bootstrap/55202
* configure.ac <PLUGIN_LD_SUFFIX>: Use POSIX shell syntax.
* configure: Regenerate.
From-SVN: r194637
Andreas Krebbel [Thu, 20 Dec 2012 15:20:06 +0000 (15:20 +0000)]
re PR regression/55754 (FAIL: gcc.target/arm/unsigned-extend-2.c scan-assembler ands)
2012-12-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR target/55754
* config/arm/arm.c (arm_canonicalize_comparison): Remove
op0_preserve_value check for zero_extend to and transformation.
From-SVN: r194636
Jonathan Wakely [Thu, 20 Dec 2012 14:36:56 +0000 (14:36 +0000)]
re PR libstdc++/55741 (bootstrap fails in libstdc++-v3/src/c++11/thread.cc)
PR libstdc++/55741
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/c++11/thread.cc (__sleep_for): Use Sleep if available.
From-SVN: r194635
Teresa Johnson [Thu, 20 Dec 2012 14:31:09 +0000 (14:31 +0000)]
Fix PR gcov-profile/55734 by using methods from hwint.c instead of builtins...
Fix PR gcov-profile/55734 by using methods from hwint.c instead of
builtins, to handle non-GCC and older versions of GCC. When building
libgcov.a, however, hwint.c is not available, but we are always using
the bootstrapped compiler and can therefore use the builtins.
Use __builtin_popcount instead of __builtin_popcountll, since we
are operating on an int.
Use floor_log2 directly, instead of clz_hwi for the non-libgcov case,
and handle situations where the size of the gcov_type is bigger than
HOST_WIDE_INT. Verified that the various cases compiled by forcing
different HOST_BITS_PER_WIDE_INT values.
2012-12-20 Teresa Johnson <tejohnson@google.com>
Jakub Jelinek <jakub@redhat.com>
PR gcov-profile/55734
* gcov-io.c (gcov_read_summary): Use __builtin_popcount instead
of __builtin_popcountll when building libgcov.a, otherwise use
popcount_hwi.
(gcov_histo_index): When not building libgcov.a, use floor_log2
instead of __builtin_clzll.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r194634
Richard Biener [Thu, 20 Dec 2012 12:45:48 +0000 (12:45 +0000)]
re PR rtl-optimization/55740 (ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it)
2012-12-20 Richard Biener <rguenther@suse.de>
PR middle-end/55740
* cfghooks.c (merge_blocks): Properly handle merging of
two loop headers.
* g++.dg/torture/pr55740.C: New testcase.
From-SVN: r194633
Jakub Jelinek [Thu, 20 Dec 2012 10:41:47 +0000 (11:41 +0100)]
re PR c++/55619 (Chromium build fails with: error: memory input is not directly addressable)
PR c++/55619
* c-parser.c (c_parser_asm_operands): Remove CONVERT_P
argument, don't call default_function_array_conversion
nor c_fully_fold here.
(c_parser_asm_statement): Adjust callers.
* c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
and outputs here, and call default_function_array_conversion
on inputs that don't need to be addressable.
* c-c++-common/pr55619.c: New test.
From-SVN: r194631
Jakub Jelinek [Thu, 20 Dec 2012 10:40:26 +0000 (11:40 +0100)]
re PR c/39464 (Attribute may_alias causes invalid warning)
PR c/39464
* c-typeck.c (convert_for_assignment): For -Wpointer-sign
warning require that both c_common_unsigned_type as well as
c_common_signed_type is the same for both mvl and mvr types.
* gcc.dg/pr39464.c: New test.
From-SVN: r194630
Roland Stigge [Thu, 20 Dec 2012 09:57:34 +0000 (09:57 +0000)]
t-spe (MULTIARCH_DIRNAME): Remove.
2012-12-20 Roland Stigge <stigge@debian.org>
Matthias Klose <doko@ubuntu.com>
* config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove.
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for
powerpc-linux-gnuspe.
Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r194629
Tobias Burnus [Thu, 20 Dec 2012 08:13:21 +0000 (09:13 +0100)]
re PR fortran/54818 (error: type mismatch in binary expression)
2012-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54818
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
the string length is of type gfc_charlen_type_node.
2012-12-20 Tobias Burnus <burnus@net-b.de>
PR fortran/54818
* gfortran.dg/transfer_intrinsic_4.f: New.
From-SVN: r194628
Paul Thomas [Thu, 20 Dec 2012 00:23:40 +0000 (00:23 +0000)]
unlimited_polymorphic_2.f03: Remove bad test.
2012-12-19 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/unlimited_polymorphic_2.f03: Remove bad test.
From-SVN: r194626
GCC Administrator [Thu, 20 Dec 2012 00:18:51 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194625
Paul Thomas [Thu, 20 Dec 2012 00:15:00 +0000 (00:15 +0000)]
array.c (resolve_array_list): Apply C4106.
2012-12-19 Paul Thomas <pault@gcc.gnu.org>
* array.c (resolve_array_list): Apply C4106.
* check.c (gfc_check_same_type_as): Exclude polymorphic
entities from check for extensible types. Improved error
for disallowed argument types to name the offending type.
* class.c : Update copyright date.
(gfc_class_null_initializer): Add argument for initialization
expression and deal with unlimited polymorphic typespecs.
(get_unique_type_string): Give unlimited polymorphic
entities a type string.
(gfc_intrinsic_hash_value): New function.
(gfc_build_class_symbol): Incorporate unlimited polymorphic
entities.
(gfc_find_derived_vtab): Deal with unlimited polymorphic
entities.
(gfc_find_intrinsic_vtab): New function.
* decl.c (gfc_match_decl_type_spec): Match typespec for
unlimited polymorphic type.
(gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic.
expr.c (gfc_check_pointer_assign): Apply C717. If unlimited
polymorphic lvalue, find rvalue vtable for all typespecs,
except unlimited polymorphic expressions.
(gfc_check_vardef_context): Handle unlimited polymorphic
entities.
* gfortran.h : Add unlimited polymorphic attribute. Add
second arg to gfc_class_null_initializer primitive and
primitive for gfc_find_intrinsic_vtab. Add UNLIMITED_POLY
to detect unlimited polymorphic expressions.
* interface.c (gfc_compare_types): If expr1 is unlimited
polymorphic, always return 1. If expr2 is unlimited polymorphic
enforce C717.
(gfc_compare_interfaces): Skip past conditions that do not
apply for unlimited polymorphic entities.
(compare_parameter): Make sure that an unlimited polymorphic,
allocatable or pointer, formal argument is matched by an
unlimited polymorphic actual argument.
(compare_actual_formal): Ensure that an intrinsic vtable exists
to match an unlimited polymorphic formal argument.
* match.c (gfc_match_allocate): Type kind parameter does not
need to match an unlimited polymorphic allocate-object.
(alloc_opt_list): An unlimited polymorphic allocate-object
requires a typespec or a SOURCE tag.
(select_intrinsic_set_tmp): New function.
(select_type_set_tmp): Call new function. If it returns NULL,
build a derived type or class temporary instead.
(gfc_match_type_is): Remove restriction to derived types only.
Bind(C) or sequence derived types not permitted.
* misc (gfc_typename): Printed CLASS(*) for unlimited
polymorphism.
* module.c : Add AB_UNLIMITED_POLY to pass unlimited
polymorphic attribute to and from modules.
* resolve.c (resolve_common_vars): Unlimited polymorphic
entities cannot appear in common blocks.
(resolve_deallocate_expr): Deallocate unlimited polymorphic
enities.
(resolve_allocate_expr): Likewise for allocation. Make sure
vtable exists.
(gfc_type_is_extensible): Unlimited polymorphic entities are
not extensible.
(resolve_select_type): Handle unlimited polymorphic selectors.
Ensure that length type parameters are assumed and that names
for intrinsic types are generated.
(resolve_fl_var_and_proc): Exclude select type temporaries
from test of extensibility of type.
(resolve_fl_variable): Likewise for test that assumed character
length must be a dummy or a parameter.
(resolve_fl_derived0): Return SUCCESS unconditionally for
unlimited polymorphic entities. Also, allow unlimited
polymorphic components.
(resolve_fl_derived): Return SUCCESS unconditionally for
unlimited polymorphic entities.
(resolve_symbol): Return early with unlimited polymorphic
entities.
* simplifiy.c : Update copyright year.
(gfc_simplify_extends_type_of): No simplification possible
for unlimited polymorphic arguments.
* symbol.c (gfc_use_derived): Nothing to do for unlimited
polymorphic "derived type".
(gfc_type_compatible): Return unity if ts1 is unlimited
polymorphic.
* trans-decl.c (create_function_arglist) Formal arguments
without a character length should be treated in the same way
as passed lengths.
(gfc_trans_deferred_vars): Nullify the vptr of unlimited
polymorphic pointers. Avoid unlimited polymorphic entities
triggering gcc_unreachable.
* trans-expr.c (gfc_conv_intrinsic_to_class): New function.
(gfc_trans_class_init_assign): Make indirect reference of
src.expr.
(gfc_trans_class_assign): Expression NULL of unknown type
should set NULL vptr on lhs. Treat C717 cases where lhs is
a derived type and the rhs is unlimited polymorphic.
(gfc_conv_procedure_call): Handle the conversion of a non-class
actual argument to match an unlimited polymorphic formal
argument. Suppress the passing of a character string length
in this case. Make sure that calls to the character __copy
function have two character string length arguments.
(gfc_conv_initializer): Pass the initialization expression to
gfc_class_null_initializer.
(gfc_trans_subcomponent_assign): Ditto.
(gfc_conv_structure): Move handling of _size component.
trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions
where unlimited polymorphic arguments have null vptr.
* trans-stmt.c (trans_associate_var): Correctly treat array
temporaries associated with unlimited polymorphic selectors.
Recover the overwritten dtype for the descriptor. Use the _size
field of the vptr for character string lengths.
(gfc_trans_allocate): Cope with unlimited polymorphic allocate
objects; especially with character source tags.
(reset_vptr): New function.
(gfc_trans_deallocate): Call it.
* trans-types.c (gfc_get_derived_type): Detect unlimited
polymorphic types and deal with cases where the derived type of
components is null.
* trans.c : Update copyright year.
(trans_code): Call gfc_trans_class_assign for C717 cases where
the lhs is not unlimited polymorphic.
2012-12-19 Paul Thomas <pault@gcc.gnu.org>
* intrinsics/extends_type_of.c : Return correct results for
null vptrs.
2012-12-19 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/unlimited_polymorphic_1.f03: New test.
* gfortran.dg/unlimited_polymorphic_2.f03: New test.
* gfortran.dg/unlimited_polymorphic_3.f03: New test.
* gfortran.dg/same_type_as.f03: Correct for improved message.
From-SVN: r194622
Tobias Burnus [Wed, 19 Dec 2012 23:05:49 +0000 (00:05 +0100)]
re PR fortran/55733 (-fno-automatic: Fails for scalar allocatables)
2012-12-19 Tobias Burnus <burnus@net-b.de>
PR fortran/55733
* trans-decl.c (gfc_create_string_length): Avoid setting
TREE_STATIC for automatic variables with -fno-automatic.
From-SVN: r194621
Jason Merrill [Wed, 19 Dec 2012 22:22:36 +0000 (17:22 -0500)]
re PR c++/55724 ([C++11] Default type of a template value is not working)
PR c++/55724
* pt.c (type_unification_real): Re-combine post-deduction loops.
From-SVN: r194620
Matthias Klose [Wed, 19 Dec 2012 17:03:15 +0000 (17:03 +0000)]
Import GNU Classpath (
20121202).
2012-12-19 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (
20121202).
* Regenerate class and header files.
* Regenerate auto* files.
* sources.am, gcj/javaprims.h: Regenerate.
* gnu/java/nio/FileLockImpl.java (close): New override.
From-SVN: r194618
Matthias Klose [Wed, 19 Dec 2012 16:39:23 +0000 (16:39 +0000)]
t-kfreebsd (MULTIARCH_DIRNAME): Add comma to separate arguments in make function.
2012-12-19 Matthias Klose <doko@ubuntu.com>
* config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to
separate arguments in make function.
From-SVN: r194617
Matthias Klose [Wed, 19 Dec 2012 16:18:37 +0000 (16:18 +0000)]
Makefile.def (install-target-libgo): Depend on install-target-libatomic.
2012-12-19 Matthias Klose <doko@ubuntu.com>
* Makefile.def (install-target-libgo): Depend on
install-target-libatomic.
* Makefile.in: Regenerate.
From-SVN: r194616
Uros Bizjak [Wed, 19 Dec 2012 16:04:11 +0000 (17:04 +0100)]
i386.h (enum ix86_tune_indices): Add X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
* config/i386/i386.h (enum ix86_tune_indices): Add
X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
(TARGET_AVOID_MEM_OPND_FOR_CMOVE): New define.
* config/i386/i386.c (initial_ix86_tune_features)
<X86TUNE_AVOID_MEM_OPND_FOR_CMOVE>: Initialize.
* config/i386/i386.md (splitters to avoid cmove memory operands): New.
(peephole2s to avoid cmove memory operands): New.
From-SVN: r194614
Tobias Burnus [Wed, 19 Dec 2012 15:53:01 +0000 (16:53 +0100)]
fortran.exp: Set -fintrinsic-modules-path.
2012-12-19 Tobias Burnus <burnus@net-b.de>
* testsuite/libgomp.fortran/fortran.exp: Set
-fintrinsic-modules-path.
From-SVN: r194613
Kyrylo Tkachov [Wed, 19 Dec 2012 15:51:24 +0000 (15:51 +0000)]
arm.md (f_minmaxs, f_minmaxd): New types.
gcc/
2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (f_minmaxs, f_minmaxd): New types.
* config/arm/vfp.md (smax<mode>3): New pattern.
(smin<mode>3): Likewise.
gcc/testsuite/
2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/vmaxnmdf.c: New test.
* gcc.target/arm/vmaxnmsf.c: Likewise.
* gcc.target/arm/vminnmsf.c: Likewise.
* gcc.target/arm/vminnmdf.c: Likewise.
From-SVN: r194612
Tobias Burnus [Wed, 19 Dec 2012 15:02:50 +0000 (16:02 +0100)]
use_intrinsic_1.f90: New; moved from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
libgomp/
2012-12-19 Tobias Burnus <burnus@net-b.de>
* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
gcc/testsuite/
2012-12-19 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/gomp/use_intrinsic_1.f90: Moved
to libgomp/testsuite/libgomp.fortran/use_intrinsic_1.f90.
From-SVN: r194611
Richard Biener [Wed, 19 Dec 2012 14:38:10 +0000 (14:38 +0000)]
targhooks.h (default_canonicalize_comparison): Fix prototype.
2012-12-19 Richard Biener <rguenther@suse.de>
* targhooks.h (default_canonicalize_comparison): Fix prototype.
* targhooks.c (default_canonicalize_comparison): Define.
From-SVN: r194610
Richard Biener [Wed, 19 Dec 2012 13:53:18 +0000 (13:53 +0000)]
re PR lto/55736 (lto ICE: tree code ''junl is not supported in LTO streams)
2012-12-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/55736
PR tree-optimization/55703
* gimplify.c (prune_expr_location): New function.
(unshare_expr_without_location): Likewise.
* tree.h (unshare_expr_without_location): Declare.
* ipa-prop.c (prune_expression_for_jf): Remove.
(prune_expression_for_jf_1): Likewise.
(ipa_set_jf_constant): Use unshare_expr_without_location.
(ipa_set_jf_arith_pass_through): Likewise.
(determine_known_aggregate_parts): Likewise.
* tree-switch-conversion.c (build_constructors): Use
unshare_expr_without_location on all constructor elements.
* gcc.dg/lto/pr55703_0.c: New testcase.
From-SVN: r194609
Andreas Krebbel [Wed, 19 Dec 2012 12:39:17 +0000 (12:39 +0000)]
target.def: Define canonicalize_comparison hook.
2012-12-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* target.def: Define canonicalize_comparison hook.
* targhooks.h (default_canonicalize_comparison): New prototype.
* targhooks.c (default_canonicalize_comparison): New function.
* doc/tm.texi: Add documentation for the new target hook.
* doc/tm.texi.in: Likewise.
* combine.c (try_combine): Adjust to use the target hook.
* config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro
definition.
* config/alpha/alpha.c (alpha_canonicalize_comparison): New
function.
(TARGET_CANONICALIZE_COMPARISON): New macro definition.
* config/arm/arm-protos.h (arm_canonicalize_comparison): Remove
prototype.
* config/arm/arm.c (arm_canonicalize_comparison): Add new
parameter.
(TARGET_CANONICALIZE_COMPARISON): New macro definition.
* config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro
definition.
* config/s390/s390-protos.h (s390_canonicalize_comparison): Remove
prototype.
* config/s390/s390.c (s390_canonicalize_comparison): Add new
parameter.
(TARGET_CANONICALIZE_COMPARISON): New macro definition.
* config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro
definition.
* config/sh/sh-protos.h (sh_canonicalize_comparison): Remove
prototype.
* config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New
function overloading the old one.
(TARGET_CANONICALIZE_COMPARISON): New macro definition.
* config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro
definition.
* config/spu/spu.c (spu_canonicalize_comparison): New function.
(TARGET_CANONICALIZE_COMPARISON): New macro definition.
* config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro
definition.
From-SVN: r194608
Jakub Jelinek [Wed, 19 Dec 2012 12:16:56 +0000 (13:16 +0100)]
re PR debug/55730 (ICE in mem_loc_descriptor, at dwarf2out.c:12725)
PR debug/55730
* dwarf2out.c (mem_loc_descriptor): Ignore CLOBBER.
* valtrack.c (gen_lowpart_for_debug): New function.
(propagate_for_debug): Temporarily set rtl_hooks.gen_lowpart_no_emit
to gen_lowpart_for_debug.
* gcc.dg/debug/pr55730.c: New test.
From-SVN: r194607
Jan Hubicka [Wed, 19 Dec 2012 11:42:30 +0000 (12:42 +0100)]
re PR tree-optimization/55683 (ICE in inline_call, at ipa-inline-transform.c:270)
PR tree-optimization/55683
* g++.dg/ipa/devirt-9.C: New testcase.
* ipa-prop.c (try_make_edge_direct_virtual_call): Look into constants for binfo.
From-SVN: r194606
Terry Guo [Wed, 19 Dec 2012 11:40:52 +0000 (11:40 +0000)]
arm.c (thumb_find_work_register): Check argument register number based on current PCS.
gcc/ChangeLog:
2012-12-19 Terry Guo <terry.guo@arm.com>
* config/arm/arm.c (thumb_find_work_register): Check argument
register number based on current PCS.
gcc/testsuite/ChangeLog:
2012-12-19 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/thumb-find-work-register.c: New.
From-SVN: r194605
Tobias Burnus [Wed, 19 Dec 2012 09:21:17 +0000 (10:21 +0100)]
re PR fortran/55636 (Fortran name mangling collides with user namespace)
2012-12-19 Tobias Burnus <burnus@net-b.de>
Jakub Jelinek <jakub@redhat.com>
Janus Weil <janus@gcc.gnu.org>
PR fortran/55636
PR fortran/55733
* gfortran.h (GFC_PREFIX): Define.
* trans-decl.c (gfc_create_string_length): For VAR_DECLs that
will be TREE_STATIC, use GFC_PREFIX to mangle the names. Handle
-fno-automatic
(gfc_trans_deferred_vars): Don't free variables SAVEd via
-fno-automatic.
2012-12-19 Tobias Burnus <burnus@net-b.de>
PR fortran/55733
* gfortran.dg/save_5.f90: New.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r194604
GCC Administrator [Wed, 19 Dec 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194597
Jakub Jelinek [Tue, 18 Dec 2012 22:48:04 +0000 (23:48 +0100)]
re PR c/39464 (Attribute may_alias causes invalid warning)
PR c/39464
* c-typeck.c (convert_for_assignment): For -Wpointer-sign
warning require that both c_common_unsigned_type as well as
c_common_signed_type is the same for both mvl and mvr types.
* gcc.dg/pr39464.c: New test.
From-SVN: r194594
Ian Lance Taylor [Tue, 18 Dec 2012 22:07:38 +0000 (22:07 +0000)]
libgo: Link against libatomic_convenience.la.
gcc/go:
PR go/55201
* gospec.c: Revert last patch.
gcc/testsuite:
PR go/55201
* lib/go.exp: Revert last patch.
From-SVN: r194593
Ian Lance Taylor [Tue, 18 Dec 2012 22:04:08 +0000 (22:04 +0000)]
re PR go/55201 (libgo.so: undefined reference to `__atomic_compare_exchange_8')
PR go/55201
* Makefile.am (noinst_LTLIBRARIES): Define new make variable.
(libatomic_convenience_la_SOURCES): Likewise.
(libatomic_convenience_la_LIBADD): Likewise.
* Makefile.in: Rebuild.
* testsuite/Makefile.in: Rebuild.
From-SVN: r194592
Jakub Jelinek [Tue, 18 Dec 2012 21:40:29 +0000 (22:40 +0100)]
re PR target/55562 (FAIL: gcc.dg/sms-* on powerpc*-*-*)
PR target/55562
* sbitmap.c (bitmap_and, bitmap_xor, bitmap_ior): Return whether
dst sbitmap changed even if it doesn't have popcount.
From-SVN: r194591
James Greenhalgh [Tue, 18 Dec 2012 17:46:48 +0000 (17:46 +0000)]
[AArch64] Fix warning in aarch64.md
gcc/
* config/aarch64/aarch64.md (insv_imm<mode>): Add modes
for source operands.
From-SVN: r194589
James Greenhalgh [Tue, 18 Dec 2012 17:43:25 +0000 (17:43 +0000)]
[AArch64] Fix some warnings about unused variables.
gcc/
* config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
Remove unused variables.
(aarch64_split_compare_and_swap): Likewise.
From-SVN: r194588
Kyrylo Tkachov [Tue, 18 Dec 2012 16:43:22 +0000 (16:43 +0000)]
driver-arm.c (arm_cpu_table): Add Cortex-A7.
2012-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/driver-arm.c (arm_cpu_table):
Add Cortex-A7.
From-SVN: r194587
Aldy Hernandez [Tue, 18 Dec 2012 16:21:57 +0000 (16:21 +0000)]
re PR other/54324 (GCC install document does not list minimum required g++ version)
PR other/54324
* doc/install.texi (Tools/packages necessary for building GCC):
Suggest --disable-stage1-checking for older GCC's.
From-SVN: r194586