platform/upstream/gcc.git
11 years agore PR tree-optimization/55831 (ICE: verify_flow_info failed)
Jakub Jelinek [Mon, 31 Dec 2012 23:50:00 +0000 (00:50 +0100)]
re PR tree-optimization/55831 (ICE: verify_flow_info failed)

PR tree-optimization/55831
* tree-vect-loop.c (get_initial_def_for_induction): Use
gsi_after_labels instead of gsi_start_bb.

* gcc.dg/pr55831.c: New test.

From-SVN: r194764

11 years agodevirt-9.C: Cleanup inline ipa dump.
Uros Bizjak [Mon, 31 Dec 2012 12:19:42 +0000 (13:19 +0100)]
devirt-9.C: Cleanup inline ipa dump.

* g++.dg/ipa/devirt-9.C: Cleanup inline ipa dump.

From-SVN: r194763

11 years agobuiltin_target.c (vendor_signatures): Remove.
Uros Bizjak [Mon, 31 Dec 2012 12:09:52 +0000 (13:09 +0100)]
builtin_target.c (vendor_signatures): Remove.

* gcc.target/i386/builtin_target.c (vendor_signatures): Remove.
(check_detailed): Use signature_INTEL_ebx and signature_AMD_ebx
to check vendor signature.

From-SVN: r194762

11 years agoDaily bump.
GCC Administrator [Mon, 31 Dec 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194760

11 years agoDaily bump.
GCC Administrator [Sun, 30 Dec 2012 00:18:33 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194756

11 years agoRemove superfluous blank lines
Eric Botcazou [Sat, 29 Dec 2012 17:41:26 +0000 (17:41 +0000)]
Remove superfluous blank lines

From-SVN: r194753

11 years ago* Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)
Andreas Schwab [Sat, 29 Dec 2012 16:25:27 +0000 (16:25 +0000)]
* Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)
(STAMP_GENINSRC, STAMP_BUILD_INFO, CLEANFILES)
(MAINTAINERCLEANFILES): Define.
(all-local, stamp-geninsrc, stamp-build-info): New targets.
(doc/libffi.info): Depend on $(STAMP_BUILD_INFO)
* configure.ac: Check for modern makeinfo.  Add support for
--enable-generated-files-in-srcdir.
* libffi/mdate-sh: New file.
* testsuite/lib/libffi.exp (load_gcc_lib): Load from gcc testsuite
lib dir.
(libffi-init): Properly set library paths for multilibs and add
path to libstdc++.
* configure: Regenerate.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.
* doc/stamp-vti: Regenerate.
* doc/version.texi: Regenerate.
* fficonfig.h.in: Regenerate.
* include/Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

From-SVN: r194752

11 years agoconfig.guess: Update to 2012-12-29 version.
Ben Elliston [Sat, 29 Dec 2012 08:22:45 +0000 (19:22 +1100)]
config.guess: Update to 2012-12-29 version.

* config.guess: Update to 2012-12-29 version.
* config.sub: Likewise.

From-SVN: r194751

11 years agoDaily bump.
GCC Administrator [Sat, 29 Dec 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194749

11 years agortti.c (LONGPTR_T): New helper-macro.
Kai Tietz [Fri, 28 Dec 2012 21:49:59 +0000 (22:49 +0100)]
rtti.c (LONGPTR_T): New helper-macro.

        * rtti.c (LONGPTR_T): New helper-macro.
        (get_pseudo_ti_init): Initialize offset_type by LONGPTR_T
        type instead of 'long' type.
        (create_tinfo_types): Use for offset/flags field LONGPTR_T
        type instead of 'long' type.

From-SVN: r194745

11 years agore PR fortran/55692 (ICE on incorrect use of ASSOCIATED function)
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

11 years agore PR fortran/55763 (Issues with some simpler CLASS(*) programs)
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

11 years agoDaily bump.
GCC Administrator [Fri, 28 Dec 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194742

11 years agore PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)
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

11 years agore PR fortran/48976 (INQUIRE with STREAM= not supported)
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

11 years agore PR fortran/48976 (INQUIRE with STREAM= not supported)
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

11 years agore PR fortran/48976 (INQUIRE with STREAM= not supported)
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

11 years agors6000.c (rs6000_deligitimze_address): Do not delegitimize TLS addresses on AIX.
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

11 years ago* target.def (supports_function_versions): Fix typo.
Andreas Schwab [Thu, 27 Dec 2012 10:04:51 +0000 (10:04 +0000)]
* target.def (supports_function_versions): Fix typo.

From-SVN: r194731

11 years agoBefore this patch...
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

11 years agoDaily bump.
GCC Administrator [Thu, 27 Dec 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194729

11 years ago* cgraph.c (verify_cgraph_node): Don't allocate/free visited_nodes set.
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

11 years agore PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)
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

11 years agolibffi merge
Anthony Green [Wed, 26 Dec 2012 16:28:02 +0000 (16:28 +0000)]
libffi merge

From-SVN: r194722

11 years agoDaily bump.
GCC Administrator [Wed, 26 Dec 2012 00:18:54 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194721

11 years agoPR fortran/55539 Fix regression in -fno-sign-zero.
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

11 years agore PR target/53789 (ICE in gen_reg_rtx, at emit-rtl.c:864/865 when compiling GNU...
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

11 years agoDaily bump.
GCC Administrator [Tue, 25 Dec 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194712

11 years agoDaily bump.
GCC Administrator [Mon, 24 Dec 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194709

11 years agore PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_...
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

11 years agor10k-cache-barrier-10.c: Make a branch-likely instruction more likely.
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

11 years agopr55315.c: Cast to long rather than int.
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

11 years agoDaily bump.
GCC Administrator [Sun, 23 Dec 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194703

11 years agore PR lto/54728 (ICE in input_gimple_stmt, at gimple-streamer-in.c:254)
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

11 years agore PR fortran/55763 (Issues with some simpler CLASS(*) programs)
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

11 years agolibgo: Update to revision 15193:6fdc1974457c of master library.
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

11 years agoDaily bump.
GCC Administrator [Sat, 22 Dec 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194691

11 years agore PR ada/53737 (Assert_Failure on a generic package with a package as parameter)
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

11 years agocompiler: Error if name defined in both package and file blocks.
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

11 years agoFix copyright notices.
Eric Botcazou [Fri, 21 Dec 2012 22:13:34 +0000 (22:13 +0000)]
Fix copyright notices.

From-SVN: r194683

11 years agore PR tree-optimization/55355 (internal compiler error: in tree_low_cst, at tree...
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

11 years agortlanal.c (volatile_insn_p): Delete commented out code.
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

11 years agore PR inline-asm/55775 (ICE when building pari)
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

11 years agore PR libfortran/30162 (Document when sequential I/O with named pipes works)
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

11 years agore PR bootstrap/54128 (GCC does not bootstrap on little endian mips due to mis-compar...
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

11 years agovarasm.c (bss_initializer_p): Remove static.
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

11 years ago* c-c++-common/pr43942.c: Remove XFAIL for AIX.
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

11 years ago* gcc.c-torture/compile/pr44707.c: Do not try to assemble on AIX.
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

11 years agotarget-supports.exp (add_options_for_tls): Add -pthread for AIX as well.
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

11 years agore PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
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

11 years agopthread-init-2.c (dg-options): Define _XOPEN_SOURCE=500 on AIX.
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

11 years agore PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567)
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

11 years agore PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
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

11 years agore PR fortran/55763 (Issues with some simpler CLASS(*) programs)
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

11 years agoadaint.c: Move directive around.
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

11 years agore PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567)
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

11 years agoos_defines.h (_GLIBCXX_LLP64): Define if llp64 abi is used.
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

11 years agocortex-a7.md: New file.
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

11 years agoDaily bump.
GCC Administrator [Fri, 21 Dec 2012 00:18:30 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194655

11 years agogthr.h (__gthread_cond_timedwait_recursive): Do not require.
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

11 years agofunctional (_Require): Move to ...
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

11 years agoMakefile.def (install-target-libgfortran): Depend on install-target-libquadmath,...
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

11 years agoMake zero_extends explicit for common AArch64 SI mode patterns
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

11 years agore PR libfortran/36044 (user-requested backtrace)
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

11 years agore PR middle-end/55750 (-( in expand_expr_addr_expr_1, at expr.c:7646)
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

11 years agos390: Generate rnsbg
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

11 years agos390: Generate rxsbg, and shifted forms of rosbg
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

11 years agos390: Implement extzv for z10
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

11 years agos390: Add mode attribute for mode bitsize
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

11 years agos390: Use risbgz for AND
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

11 years agos390: Only use lhs zero_extract in word_mode
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

11 years agos390: Constraints, predicates, and op letters for contiguous bitmasks
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

11 years agosame_type_as_1.f03: Correct for improved message.
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

11 years agore PR driver/55202 (Building a combined tree is broken for LTO)
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

11 years agore PR regression/55754 (FAIL: gcc.target/arm/unsigned-extend-2.c scan-assembler ands)
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

11 years agore PR libstdc++/55741 (bootstrap fails in libstdc++-v3/src/c++11/thread.cc)
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

11 years agoFix PR gcov-profile/55734 by using methods from hwint.c instead of builtins...
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

11 years agore PR rtl-optimization/55740 (ICE in verify_loop_structure, at cfgloop.c:1582, error...
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

11 years agore PR c++/55619 (Chromium build fails with: error: memory input is not directly addre...
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

11 years agore PR c/39464 (Attribute may_alias causes invalid warning)
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

11 years agot-spe (MULTIARCH_DIRNAME): Remove.
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

11 years agore PR fortran/54818 (error: type mismatch in binary expression)
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

11 years agounlimited_polymorphic_2.f03: Remove bad test.
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

11 years agoDaily bump.
GCC Administrator [Thu, 20 Dec 2012 00:18:51 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194625

11 years agoarray.c (resolve_array_list): Apply C4106.
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

11 years agore PR fortran/55733 (-fno-automatic: Fails for scalar allocatables)
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

11 years agore PR c++/55724 ([C++11] Default type of a template value is not working)
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

11 years agoImport GNU Classpath (20121202).
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

11 years agot-kfreebsd (MULTIARCH_DIRNAME): Add comma to separate arguments in make function.
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

11 years agoMakefile.def (install-target-libgo): Depend on install-target-libatomic.
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

11 years agoi386.h (enum ix86_tune_indices): Add X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
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

11 years agofortran.exp: Set -fintrinsic-modules-path.
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

11 years agoarm.md (f_minmaxs, f_minmaxd): New types.
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

11 years agouse_intrinsic_1.f90: New; moved from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1...
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

11 years agotarghooks.h (default_canonicalize_comparison): Fix prototype.
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

11 years agore PR lto/55736 (lto ICE: tree code ''junl is not supported in LTO streams)
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

11 years agotarget.def: Define canonicalize_comparison hook.
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

11 years agore PR debug/55730 (ICE in mem_loc_descriptor, at dwarf2out.c:12725)
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

11 years agore PR tree-optimization/55683 (ICE in inline_call, at ipa-inline-transform.c:270)
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

11 years agoarm.c (thumb_find_work_register): Check argument register number based on current...
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