Commit Graph

136112 Commits

Author SHA1 Message Date
Caroline Tice
f7f049fa46 Committing VTV Cygwin patch for Patrick Wollgast
* gcc/config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
* gcc/config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
    if -fvtable-verify=preinit/std is used.
* gcc/config/i386/mingw-w64.h (LIB_SPEC): Likewise.
* gcc/config/i386/mingw32.h (LIB_SPEC): Likewise.

* gcc/cp/vtable-class-hierarchy.c (vtv_generate_init_routine): Add
    check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.

* gcc/varasm.c (assemble_variable): Add code to properly set the comdat
    section and name for the .vtable_map_vars section in case the
    target is PE or COFF.


* libgcc/Makefile.in: Move rules to build vtv_*.o out of the check
    for CUSTOM_CRTSTUFF.
* libgcc/config.host (i[34567]86-*-cygwin*, x86_64-*-cygwin*, i[34567]86-*-mingw*)
    (x86_64-*-mingw*): Only add vtv_*.o to extra_parts if enable_vtable_verify.


* libstdc++-v3/acinclude.m4: Define VTV_CYGMIN.
* libstdc++-v3/configure: Regenerate.

* libstdc++-v3/libsupc++/Makefile.am: Add vtv_sources only to
    libsupc___la_SOURCES and libsupc__convenience_la_SOURCES if VTV_CYGMIN is
    not set.
* libstdc++-v3/libsupc++/Makefile.in: Regenerated.
* libstdc++-v3/libsupc++/vtv_stubs.cc: Add none weak declaration of every
    function for Cygwin and MinGW.

* libstdc++-v3/src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES,
    if VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
    libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
* libstdc++-v3/src/Makefile.in: Regenerate.


* libvtv/Makefile.am : Add libvtv.la to toolexeclib_LTLIBRARIES, if VTV_CYGMIN
    is set. Define libvtv_la_LIBADD, libvtv_la_LDFLAGS, libvtv_stubs_la_LDFLAGS
    and libvtv_stubs_la_SOURCES if VTV_CYGMIN is set. Add obstac.c to
    libvtv_la_SOURCES if VTV_CYGMIN is set.
* libvtv/Makefile.in : Regenerate.
* libvtv/aclocal.m4 : Regenerate.
* libvtv/configure : Regenerate.
* libvtv/configure.ac : Add ACX_LT_HOST_FLAGS. Define VTV_CYGMIN.
* libvtv/configure.tgt : (x86_64-*-cygwin*, i?86-*-cygwin*, x86_64-*-mingw*)
    (i?86-*-mingw*): Add to supported targets.
* libvtv/vtv_fail.cc : Skip inclusion of execinfo.h on Cygwin and MinGW.
(log_error_message): Skip calls to backtrace and backtrace_symbols_fd on Cygwin
    and MinGW.
* libvtv/vtv_malloc.cc : Include windows.h and skip sys/mman.h inclusion on
    Cygwin and MinGW. Add sysconf port on Cygwin and MinGW.
(obstack_chunk_alloc): Exchange call to mmap with call to VirtualAlloc on Cygwin
    and MinGW.
(__vtv_malloc_init): Exchange call to sysconf with call to port of sysconf on
    Cygwin and MinGW.
* libvtv/vtv_malloc.h : Declare mprotect and define PROT_READ and PROT_WRITE on
    Cygwin and MinGW.
* libvtv/map.h : Include stdint.h on MinGW.
* libvtv/rts.cc : Include windows.h, winternl.h and psapi.h, skip include of
    execinfo.h, sys/mman.h and link.h on Cygwin and MinGW.
    Add port of __fortify_fail on Cygwin and MinGW.
    Change ElfW (Addr) to uintptr_t on Cygwin and MinGW.
(read_section_offset_and_length): Add port for Cygwin and MinGW
(iterate_modules): New function.
(vtv_unprotect_vtable_vars): Use iterate_modules instead of dl_iterate_phdr on
    Cygwin and MinGW.
(vtv_protect_vtable_vars): Likewise.
(count_all_pages): Likewise.
(dl_iterate_phdr_count_pages): Don't build on Cygwin and MinGW.
* libvtv/utils.cc : Include windows.h and skip execinfo.h inclusion on
    Cygwin and MinGW.
(__vtv_open_log): Exchange call to getuid and getpid with GetCurrentProcessId and
    adjust call to snprintf accordingly on Cygwin and MinGW.
    Adjust calls to mkdir on MinGW.
    Adjust call to open on Cygwin and MinGW.
(__vtv_add_to_log): Adjust call to snprintf on Cygwin and MinGW.
(__vtv_log_verification_failure): Don't generate a backtrace on Cygwin and MinGW.

From-SVN: r220232
2015-01-29 00:03:56 -08:00
Jan Hubicka
10881cffc2 re PR ipa/64801 (kernel build failure due to ICF)
PR ipa/64801
	* gcc.dg/tree-ssa/pr64801.c: New testcase.
	* cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
	make sane BB profile.
	(cgraph_node::expand_thunk): Make sane BB profile.
	(cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
	* cgraph.h (init_lowered_empty_function): Update prototype.
	* config/i386/i386.c (make_resolver_func): Update call.
	* predict.c (gate): Disable branch prediction pass if
	profile is already there.

From-SVN: r220230
2015-01-29 07:43:14 +00:00
Jan Hubicka
bea30e0dea optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
* optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
	* opth-gen.awk: Likewise.
	* common.opt: Mark flag_fp_contract_mode as Optimization.

From-SVN: r220229
2015-01-29 05:05:48 +00:00
Bernd Edlinger
5fa25adb31 cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
        * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.

libjava/
2015-01-29  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * libtool-version: Add a comment about cygwin.

From-SVN: r220228
2015-01-29 00:34:03 +00:00
GCC Administrator
a5b8f50957 Daily bump.
From-SVN: r220227
2015-01-29 00:17:29 +00:00
H.J. Lu
380c25ea45 Call release_input_file only if not NULL
* lto-plugin.c (claim_file_handler): Call release_input_file only
	if it is not NULL.

From-SVN: r220224
2015-01-28 15:59:55 -08:00
Richard Henderson
1dd63990a2 Mark prs in changelog entry
From-SVN: r220223
2015-01-28 15:27:52 -08:00
Richard Henderson
ed4bf691b5 Merge with upstream libffi db1b34b7e1f5e473d17557e454a29933dfecd1af
Includes build fixes for Solaris and FreeBSD.

From-SVN: r220222
2015-01-28 15:23:55 -08:00
Jack Howarth
2dde0c3197 re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1)
2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR libgomp/64635
	* configure.tgt (*-*-aix*): Use config_path "aix posix".
	(*-*-darwin*): Use config_path "bsd darwin posix".
	(*-*-hpux*): Use config_path "hpux posix".
	* target.c: Add include of plugin-suffix.h and use
	SONAME_SUFFIX macro.
	* config/aix/plugin-suffix.h: New file.
	* config/darwin/plugin-suffix.h: New file.
	* config/hpux/plugin-suffix.h: New file.
	* config/posix/plugin-suffix.h: New file.

From-SVN: r220220
2015-01-28 21:25:19 +00:00
Oleg Endo
183153c9c6 gcc/testsuite/
Remove gcc/testsuite/ prefix in ChangeLog entry.

From-SVN: r220219
2015-01-28 21:23:33 +00:00
Jack Howarth
b5f7a6ca5c re PR libgomp/64635 (darwin produces libgomp-plugin-host_nonshm.1.dylib but tries to load libgomp-plugin-host_nonshm.so.1)
2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR libgomp/64635
	* configure.tgt (*-*-aix*): Use config_path "aix posix".
	(*-*-darwin*): Use config_path "bsd darwin posix".
	(*-*-hpux*): Use config_path "hpux posix".
	* target.c: Add include of plugin-suffix.h and use
	SONAME_SUFFIX macro.
	* config/aix/plugin-suffix.h: New file.
	* config/darwin/plugin-suffix.h: New file.
	* config/hpux/plugin-suffix.h: New file.
	* config/posix/plugin-suffix.h: New file.

From-SVN: r220218
2015-01-28 21:23:14 +00:00
Oleg Endo
c761dca15e re PR target/64659 ([SH] Immedate values not used for atomic ops)
gcc/
	PR target/64659
	* config/sh/predicates.md (atomic_arith_operand,
	atomic_logical_operand): Remove.
	* config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
	(atomic_arith_operand_0): New predicate.
	(atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
	Use atomic_arith_operand_0 for input values.
	(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
	atomic_compare_and_swap<mode>_soft_gusa,
	atomic_compare_and_swap<mode>_soft_tcb,
	atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_exchange<mode>): Use arith_reg_dest for output value.  Use
	atomic_arith_operand_0 for newval input.
	(atomic_exchangesi_hard, atomic_exchange<mode>_hard,
	atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
	atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
	fetchop_predicate_1, fetchop_constraint_1_llcs,
	fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
	fetchop_constraint_1_imask): New code iterator attributes.
	(atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1.
	(atomic_fetch_<fetchop_name>si_hard,
	atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1, fetchop_constraint_1_llcs.
	(atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_gusa.
	(atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_tcb.  Adjust asm sequence
	to allow R0 usage.
	(atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_imask.  Adjust asm sequence
	to allow R0 usage.
	(atomic_fetch_nand<mode>): Use arith_reg_dest instead of
	register_operand.  Use atomic_logical_operand_1.
	(atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
	atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
	Use arith_reg_dest and arith_reg_operand instead of register_operand.
	Use logical_operand and rK08.  Adjust asm sequence to allow R0 usage.
	(atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1.
	(atomic_<fetchop_name>_fetchsi_hard,
	atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_llcs.
	(atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_gusa.
	(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_tcb.  Adjust asm sequence to allow R0 usage.
	(atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_imask.  Adjust asm sequence to allow R0 usage.
	(atomic_nand_fetch<mode>): Use arith_reg_dest instead of
	register_operand.  Use atomic_logical_operand_1.
	(atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
	atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use logical_operand
	and K08.  Adjust asm sequence to allow R0 usage.
	(atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use logical_operand
	and K08.

gcc/testsuite/
	PR target/64659
	* gcc.target/sh/sh.exp
	(check_effective_target_atomic_model_soft_gusa_available,
	check_effective_target_atomic_model_soft_tcb_available,
	check_effective_target_atomic_model_soft_imask_available,
	check_effective_target_atomic_model_hard_llcs_available): New.
	* gcc.target/sh/pr64659-0.h: New.
	* gcc.target/sh/pr64659-1.c: New.
	* gcc.target/sh/pr64659-2.c: New.
	* gcc.target/sh/pr64659-3.c: New.
	* gcc.target/sh/pr64659-4.c: New.

From-SVN: r220217
2015-01-28 21:11:37 +00:00
Jakub Jelinek
13a48f3780 re PR other/63504 (Issues found by --enable-checking=valgrind)
PR other/63504
	* dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
	Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
	(attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
	only get_full_len HOST_WIDE_INTs from get_val () array rather than
	all bits in *val_wide.

From-SVN: r220216
2015-01-28 21:30:30 +01:00
Bruce Korb
11c3a68e35 checksums and test-text
* fixincl.tpl: add a check sum acceptance test
* fixlib.h: enumerate it
* fixincl.c: handle it
* README: document it and document the handling of test_text

From-SVN: r220215
2015-01-28 20:21:34 +00:00
Jan Hubicka
040968a88a * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
From-SVN: r220214
2015-01-28 19:57:35 +00:00
Jan Hubicka
b1474d30f9 varpool.c (tls_model_names): Fix names.
* varpool.c (tls_model_names): Fix names.
	(varpool_node::dump): Dump tls- prefix for tls models.

From-SVN: r220213
2015-01-28 19:55:13 +00:00
H.J. Lu
1e081edaad Call release_input_file in claim_file_handler
PR lto/64837
	* lto-plugin.c (release_input_file): New.
	(claim_file_handler): Call release_input_file.
	(onload): Set release_input_file.

From-SVN: r220212
2015-01-28 11:39:42 -08:00
Thomas Schwinge
1f83528e3e nvptx mkoffload.
gcc/
	* config/nvptx/mkoffload.c: New file.
	* config/nvptx/t-nvptx: Add build rules for it.
	* config.gcc <nvptx-*> [$enable_as_accelerator = yes]
	(extra_programs): Add mkoffload.
	* config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
	function.
	(TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>

From-SVN: r220209
2015-01-28 18:03:44 +01:00
Alex Velenko
26586d771d atomic-op-consume.c (scan-assember-times): Adjust scan-assembler-times pattern.
2015-01-28  Alex Velenko  <Alex.Velenko@arm.com>

gcc/testsuite/

	* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust
	scan-assembler-times pattern.

From-SVN: r220208
2015-01-28 15:11:58 +00:00
Jonathan Wakely
739cdc9041 re PR libstdc++/64828 (libstdc++-v3/libsupc++/del_opvs.cc:30:1: warning: ‘void operator delete [](void*, std::size_t)’ is a usual (non-placement) deallocation function in C++14 (or with -fsized-deallocation) [-Wc++14-compat])
PR libstdc++/64828
	* libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
	* libsupc++/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.

From-SVN: r220207
2015-01-28 15:02:28 +00:00
Kyrylo Tkachov
f6d04238e0 [libstdc++][testsuite][reverted] Remove check for truncation overflow
* testsuite/lib/libstdc++.exp (v3_target_compile): Remove
    check for unsupported.
    (v3_target_compile_as_c): Likewise.

From-SVN: r220206
2015-01-28 13:53:45 +00:00
Yuri Rumyantsev
090238ee1f re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))
gcc/

	PR middle-end/64809
	* cfgexpand.c (reorder_operands): Skip debug gimples.

gcc/testsuite/

	PR middle-end/64809
	* gcc.dg/pr64809.c: New test.

From-SVN: r220205
2015-01-28 11:46:44 +00:00
Ilya Enkovich
fa8e505188 re PR tree-optimization/64277 (Incorrect warning "array subscript is above array bounds")
gcc/

	PR tree-optimization/64277
	* tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
	range info when possible to refine estimation.

gcc/testsuite/

	PR tree-optimization/64277
	* gcc.dg/pr64277.c: New.

From-SVN: r220204
2015-01-28 11:41:40 +00:00
Thomas Preud'homme
8447859b3e re PR tree-optimization/64718 (Bad 16-bit bswap replacement)
2015-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/64718
    * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
    be a 16bit unsigned integer when n->range is 16.
    (bswap_replace): Convert src to that type if necessary for all bswap
    sizes.  Fix rotation right notation in nearby comment.  Use bswap_type
    set in pass_optimize_bswap::execute ().

    gcc/testsuite/
    PR tree-optimization/64718
    * gcc.c-torture/execute/pr64718.c: New test.

From-SVN: r220203
2015-01-28 10:20:19 +00:00
James Greenhalgh
285398d2db [Patch AArch64] Make integer vabs intrinsics UNSPECs
gcc/

	* config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
	* config/aarch64/aarch64-simd-builtins.def (abs): Split by
	integer and floating point variants.
	* config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.

gcc/testsuite/

	* gcc.target/aarch64/abs_2.c: New.

From-SVN: r220202
2015-01-28 10:08:57 +00:00
Richard Biener
8aa33fadbe re PR libstdc++/64798 (g++.old-deja/g++.eh/badalloc1.C FAILs)
2015-01-28  Richard Biener  <rguenther@suse.de>

	PR libstdc++/64798
	* libsupc++/eh_alloc.cc (struct allocated_entry): Align
	data member.
	(pool::allocate): Adjust allocation size and alignment to
	that change.
	(pool::free): Adjust pointer offsetting.

From-SVN: r220201
2015-01-28 09:53:39 +00:00
Robert Suchanek
de5bcff3bc Prohibit vector modes in accumulators.
gcc/
	* config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
	for all vector modes.

From-SVN: r220200
2015-01-28 09:44:39 +00:00
Robert Suchanek
6b18ab83aa Regression cleanup for MIPS nan2008 toolchain.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_mips_nanlegacy): New.
	* gcc.target/mips/loongson-simd.c: Require legacy NaN support.
	* gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for
	ISA rev < 2.

From-SVN: r220199
2015-01-28 09:22:20 +00:00
Jakub Jelinek
813ba01399 re PR bootstrap/64612 (profiledbootstrap failures)
PR bootstrap/64612
	* lib/target-supports.exp (check_effective_target_comdat_group): New.
	* g++.dg/ipa/pr64612.C: Guard scan-assembler test with
	{ target comdat_group }.

	* doc/sourcebuild.texi (comdat_group): Document.

From-SVN: r220198
2015-01-28 08:45:56 +01:00
Terry Guo
5ea22cfc70 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
From-SVN: r220197
2015-01-28 06:18:37 +00:00
GCC Administrator
e23fbe9133 Daily bump.
From-SVN: r220196
2015-01-28 00:17:07 +00:00
Jason Merrill
2cc7f90b6e re PR c++/58597 (ICE with lambda in default argument of template function)
PR c++/58597
	* lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
	current_function_decl.

From-SVN: r220192
2015-01-27 16:40:45 -05:00
David Malcolm
53c04ec92a toplev: gcc version information for jit
gcc/ChangeLog:
	* toplev.c (print_version): Add param "show_global_state", and
	only print GGC and plugin information if it is true.
	(init_asm_output): Pass in "true" for the new param when calling
	print_version.
	(process_options): Likewise.
	(toplev::main): Likewise.
	* toplev.h (print_version): Add new param to decl.

gcc/jit/ChangeLog:
	* docs/internals/test-hello-world.exe.log.txt: Add example version
	lines.
	* jit-common.h (gcc::jit::dump::get_file): New accessor.
	* jit-logging.c: Include toplev.h.
	(gcc::jit::logger::logger): Log the GCC version.
	* jit-recording.c: Include toplev.h.
	(gcc:jit::recording::context::dump_reproducer_to_file): Log the
	GCC version.

From-SVN: r220190
2015-01-27 20:19:36 +00:00
Tobias Burnus
710700abb8 re PR fortran/63861 (OpenACC coarray ICE (also with OpenMP?))
2015-01-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/63861
gcc/fortran/
        * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
        Fix handling for scalar coarrays.
        * trans-types.c (gfc_get_element_type): Add comment.
gcc/testsuite/
        * gfortran.dg/goacc/coarray_2.f90: New.

From-SVN: r220189
2015-01-27 20:57:55 +01:00
Jan Hubicka
e23f28927f re PR ipa/60871 (internal compiler error: in possible_polymorphic_call_targets, at ipa-devirt.c:1510)
PR ipa/60871
	PR ipa/64139
	* tree.c (lookup_binfo_at_offset): New function.
	(get_binfo_at_offset): Use it.

	* g++.dg/torture/pr64139.C: New testcase.
	* g++.dg/torture/pr60871.C: Likewise.

From-SVN: r220185
2015-01-27 19:39:37 +00:00
Jason Merrill
94e54b8d14 re PR c++/63889 (Ice with redundant static in class scope constexpr variable template.)
PR c++/63889
	* pt.c (finish_template_variable): Move from semantics.c.
	Handle multiple template arg levels.  Handle coercion here.
	(lookup_template_variable): Not here.

From-SVN: r220183
2015-01-27 14:16:51 -05:00
Rainer Orth
47da0bf6fb re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637)
2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        PR fortran/64771
        * interface.c: Remove <algorithm>.
        (check_dummy_characteristics): Use MAX instead of std::max.

From-SVN: r220182
2015-01-27 19:44:35 +01:00
Janus Weil
6e17947e9f re PR fortran/64230 (Invalid memory reference in a compiler-generated finalizer for allocatable component)
2015-01-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64230
	* gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to
	prevent linking errors.

From-SVN: r220181
2015-01-27 19:36:52 +01:00
Bernd Edlinger
7e8338d861 Fix build under cygwin/64.
2015-01-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix build under cygwin/64.
        * adaint.h: Add check for __CYGWIN__.
        * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.

From-SVN: r220180
2015-01-27 17:20:27 +00:00
Jan Hubicka
b833dedd61 re PR ipa/64282 (ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635)
PR ipa/64282
	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
	on vtable being vtable.
	* g++.dg/torture/pr64282.C: New testcase.

From-SVN: r220177
2015-01-27 16:59:31 +00:00
Kyrylo Tkachov
e24ca886a8 [AArch64][test] Fix FAIL: gcc.target/aarch64/store-pair-1.c scan-assembler stp\tw[0-9]+, w[0-9]+
* gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check
	for wzr reg.

From-SVN: r220176
2015-01-27 16:45:29 +00:00
Matthias Klose
67caf5381c sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
2015-01-27  Matthias Klose  <doko@ubuntu.com>

        * sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.

From-SVN: r220175
2015-01-27 16:28:35 +00:00
Robert Suchanek
82a9447166 Add myself to maintaners.
/
	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r220172
2015-01-27 15:31:14 +00:00
Dominik Vogt
94091f43bd extend.texi: s/390: Update documentation of hotpatch attribute.
2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

        * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
        * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
        -mhotpatch= option.
        * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
        -mno-hotpatch options.  Change syntax of -mhotpatch= option.
        * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
        Renamed.
        (s390_hotpatch_trampoline_halfwords_max): Renamed.
        (s390_hotpatch_hw_max): New name.
        (s390_hotpatch_trampoline_halfwords): Renamed.
        (s390_hotpatch_hw_before_label): New name.
        (get_hotpatch_attribute): Removed.
        (s390_hotpatch_hw_after_label): New name.
        (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
        attribute.
        (s390_attribute_table): Ditto.
        (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
        (s390_function_num_hotpatch_hw): New name.
        Remove special handling of inline functions and hotpatching.
        Return number of nops before and after the function label.
        (s390_can_inline_p): Removed.
        (s390_asm_output_function_label): Emit a configurable number of nops
        after the function label.
        (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
        (TARGET_CAN_INLINE_P) Removed.
        (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.

2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc/testsuite/gcc.target/s390/hotpatch-13.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-14.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-15.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-16.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-17.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-18.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-19.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-20.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c: New
	testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-1.c: Testcase adjusted to
	new -mhotpatch.
	* gcc/testsuite/gcc.target/s390/hotpatch-10.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-11.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-12.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-2.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-3.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-4.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-5.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-6.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-7.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-8.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-9.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c: Likewise.

From-SVN: r220171
2015-01-27 15:26:16 +00:00
Jiong Wang
096e8448ca [AArch64] Improve bit-test-branch pattern to avoid unnecessary register clobber
2015-01-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Jiong Wang  <jiong.wang@arm.com>

  gcc/
    * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead of
    scratch reg.
    (cb<optab><mode>1): Likewise.
    * config/aarch64/iterators.md (bcond): New define_code_attr.

  gcc/testsuite/
    * gcc.dg/long_branch.c: New testcase.

From-SVN: r220170
2015-01-27 15:20:14 +00:00
Andreas Krebbel
fb1a3f8f57 s390.c (s390_memory_move_cost): Increase costs for memory accesses.
2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_memory_move_cost): Increase costs for
	memory accesses.

From-SVN: r220169
2015-01-27 15:01:46 +00:00
Andreas Krebbel
f954fb25aa s390.c (s390_register_move_cost): Increase costs for FPR->GPR moves.
2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_register_move_cost): Increase costs for
	FPR->GPR moves.

From-SVN: r220168
2015-01-27 14:59:48 +00:00
Matthias Klose
94213c1020 configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
2015-01-26  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
        * configure: Regenerate.

From-SVN: r220165
2015-01-27 12:50:46 +00:00
Richard Biener
755359b75e tree-vrp.c (update_value_range): Intersect the range with old recorded SSA name range information.
2015-01-27  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (update_value_range): Intersect the range with
	old recorded SSA name range information.

From-SVN: r220164
2015-01-27 12:11:37 +00:00
Nick Clifton
eb42aba984 rl78.c (rl78_expand_prologue): In G10 mode push the BC, DE and HL registers directly, not via AX.
* config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
	BC, DE and HL registers directly, not via AX.
	When decrementing the stack pointer by a large amount, transfer SP
	into AX and perform the subtraction there.
	(rl78_expand_epilogue): Perform the inverse of the above
	enhancements.

From-SVN: r220163
2015-01-27 11:37:08 +00:00