gcc.git
9 years agoFix date in ChangeLog entry.
Cary Coutant [Wed, 8 Apr 2015 18:29:29 +0000 (11:29 -0700)]
Fix date in ChangeLog entry.

From-SVN: r221929

9 years agoMAINTAINERS: Update my email address.
Cary Coutant [Wed, 8 Apr 2015 18:27:32 +0000 (11:27 -0700)]
MAINTAINERS: Update my email address.

2012-10-01  Cary Coutant  <ccoutant@gmail.com>

* MAINTAINERS: Update my email address.

From-SVN: r221928

9 years ago* doc/extend.texi (__sync Builtins): Fix grammar.
Gerald Pfeifer [Wed, 8 Apr 2015 18:27:20 +0000 (18:27 +0000)]
* doc/extend.texi (__sync Builtins): Fix grammar.

From-SVN: r221927

9 years agodoc/cfg.texi (GIMPLE statement iterators): Fix typo
Bernhard Reutner-Fischer [Wed, 8 Apr 2015 18:09:11 +0000 (20:09 +0200)]
doc/cfg.texi (GIMPLE statement iterators): Fix typo

2015-04-08  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* doc/cfg.texi (GIMPLE statement iterators): Fix typo.

From-SVN: r221926

9 years agoemit_local(): Fix unused warning
Bernhard Reutner-Fischer [Wed, 8 Apr 2015 17:56:18 +0000 (19:56 +0200)]
emit_local(): Fix unused warning

Honzas r221269 produced

gcc/varasm.c:1936:7: error: unused variable ‘align’
[-Werror=unused-variable]
   int align = symtab_node::get (decl)->definition_alignment ();
       ^
on e.g.:

log/alpha64-dec-vms
log/alpha-dec-vms
log/i686-cygwinOPT-enable-threads=yes
log/i686-mingw32crt
log/i686-openbsd3.0
log/i686-pc-msdosdjgpp
log/m68k-openbsd

Silence this by moving the variable into the corresponding blocks and
adding back the ATTRIBUTE_UNUSED decoration for the decl param.

From-SVN: r221925

9 years agomkoffload.c (process): Support variable mapping.
Julian Brown [Wed, 8 Apr 2015 15:58:33 +0000 (15:58 +0000)]
mkoffload.c (process): Support variable mapping.

gcc/
* config/nvptx/mkoffload.c (process): Support variable mapping.

libgomp/
* libgomp.h (target_mem_desc: Remove mem_map field.
(acc_dispatch_t): Remove open_device_func, close_device_func,
get_device_num_func, set_device_num_func, target_data members.
Change create_thread_data_func argument to device number instead of
generic pointer.
* oacc-async.c (assert.h): Include.
(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
(acc_wait_all, acc_wait_all_async): Use current host thread's
active device, not base_dev.
* oacc-cuda.c (acc_get_current_cuda_device)
(acc_get_current_cuda_context, acc_get_cuda_stream)
(acc_set_cuda_stream): Likewise.
* oacc-host.c (host_dispatch): Don't set open_device_func,
close_device_func, get_device_num_func or set_device_num_func.
* oacc-init.c (base_dev, init_key): Remove.
(cached_base_dev): New.
(name_of_acc_device_t): New.
(acc_init_1): Initialise default-numbered device, not zeroth.
(acc_shutdown_1): Close all devices of a given type.
(goacc_destroy_thread): Don't use base_dev.
(lazy_open, lazy_init, lazy_init_and_open): Remove.
(goacc_attach_host_thread_to_device): New.
(acc_init): Reimplement with goacc_attach_host_thread_to_device.
(acc_get_num_devices): Don't use base_dev.
(acc_set_device_type): Reimplement.
(acc_get_device_type): Don't use base_dev.
(acc_get_device_num): Tweak logic.
(acc_set_device_num): Likewise.
(acc_on_device): Use acc_get_device_type.
(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
(goacc_lazy_initialize): Reimplement with acc_init and
goacc_attach_host_thread_to_device.
* oacc-int.h (goacc_thread): Add base_dev field.
(base_dev): Remove extern declaration.
(goacc_attach_host_thread_to_device): Add prototype.
* oacc-mem.c (acc_malloc): Use current thread's device instead of
base_dev.
(acc_free): Likewise.
(acc_memcpy_to_device): Likewise.
(acc_memcpy_from_device): Likewise.
* oacc-parallel.c (select_acc_device): Remove. Replace calls with
goacc_lazy_initialize (throughout).
(GOACC_parallel): Use tgt_offset to locate target functions.
* target.c (gomp_map_vars): Don't set tgt->mem_map.
(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
(gomp_load_plugin_for_device): Remove open_device, close_device,
get_device_num, set_device_num openacc hook initialisation. Don't set
openacc.target_data.
* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
(GOMP_OFFLOAD_openacc_close_device)
(GOMP_OFFLOAD_openacc_get_device_num)
(GOMP_OFFLOAD_openacc_set_device_num): Remove.
(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
to int.
* plugin/plugin-nvptx.c (ptx_inited): Remove.
(instantiated_devices, ptx_dev_lock): New.
(struct ptx_image_data): New.
(ptx_devices, ptx_images, ptx_image_lock): New.
(fini_streams_for_device): Reorder cuStreamDestroy call.
(nvptx_get_num_devices): Remove forward declaration.
(nvptx_init): Change return type to bool.
(nvptx_fini): Remove.
(nvptx_attach_host_thread_to_device): New.
(nvptx_open_device): Return struct ptx_device* instead of void*.
(nvptx_close_device): Change argument type to struct ptx_device*,
return type to void.
(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
(kernel_target_data, kernel_host_table): Remove static globals.
(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
(GOMP_OFFLOAD_init_device): Reimplement.
(GOMP_OFFLOAD_fini_device): Likewise.
(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
(GOMP_OFFLOAD_host2dev): Use ORD argument.
(GOMP_OFFLOAD_openacc_open_device)
(GOMP_OFFLOAD_openacc_close_device)
(GOMP_OFFLOAD_openacc_set_device_num)
(GOMP_OFFLOAD_openacc_get_device_num): Remove.
(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
(device number).

libgomp/testsuite/
* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.

From-SVN: r221922

9 years agofix building for alpha-dec-vms
Trevor Saunders [Wed, 8 Apr 2015 14:58:39 +0000 (14:58 +0000)]
fix building for alpha-dec-vms

gcc/

* config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
alpha_links **.
(alpha_write_one_linkage): Correct typo.

From-SVN: r221921

9 years agomksysinfo.sh: Define Solaris zone_net_addr_t struct.
Ian Lance Taylor [Wed, 8 Apr 2015 14:17:13 +0000 (14:17 +0000)]
mksysinfo.sh: Define Solaris zone_net_addr_t struct.

From Rainer Orth.

From-SVN: r221920

9 years agoipa-comdats.c (propagate_comdat_group): Walk through thunks.
Ilya Enkovich [Wed, 8 Apr 2015 13:45:20 +0000 (13:45 +0000)]
ipa-comdats.c (propagate_comdat_group): Walk through thunks.

gcc/

* ipa-comdats.c (propagate_comdat_group): Walk through thunks.

gcc/testsuite/

* gcc.target/i386/mpx/chkp-thunk-comdat-3.c: New.

From-SVN: r221919

9 years ago* doc/install.texi (bootstrap-lto-noplugin): Rewrite.
Gerald Pfeifer [Wed, 8 Apr 2015 12:12:08 +0000 (12:12 +0000)]
* doc/install.texi (bootstrap-lto-noplugin): Rewrite.

From-SVN: r221918

9 years agotree-chkp.h (chkp_insert_retbnd_call): New.
Ilya Enkovich [Wed, 8 Apr 2015 10:44:59 +0000 (10:44 +0000)]
tree-chkp.h (chkp_insert_retbnd_call): New.

gcc/

* tree-chkp.h (chkp_insert_retbnd_call): New.
* tree-chkp.c (chkp_insert_retbnd_call): New.
* ipa-split.c (insert_bndret_call_after): Remove.
(split_function): Use chkp_insert_retbnd_call.
* cgraphunit.c (cgraph_node::expand_thunk): Build returned
bounds for instrumented functions.

gcc/testsuite/

* gcc/testsuite/gcc.target/i386/thunk-retbnd.c: New.

From-SVN: r221917

9 years agodecl.c (gnat_to_gnu_entity): Do not make a function returning an unconstrained type...
Eric Botcazou [Wed, 8 Apr 2015 09:08:12 +0000 (09:08 +0000)]
decl.c (gnat_to_gnu_entity): Do not make a function returning an unconstrained type 'const' for the middle-end.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make
a function returning an unconstrained type 'const' for the middle-end.

* gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use
exact condition to detect Reason => "..." pattern.

From-SVN: r221916

9 years agoDaily bump.
GCC Administrator [Wed, 8 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221914

9 years agore PR ipa/65540 (internal error on s-fatllf.ads at -O2)
Jan Hubicka [Tue, 7 Apr 2015 21:02:12 +0000 (23:02 +0200)]
re PR ipa/65540 (internal error on s-fatllf.ads at -O2)

  PR ipa/65540
* calls.c (initialize_argument_information): When producing tail
call also turn SSA_NAMES passed by references to original PARM_DECLs
* gcc.c-torture/compile/pr65540.c: New.

From-SVN: r221910

9 years ago* da.po: Update.
Joseph Myers [Tue, 7 Apr 2015 20:46:12 +0000 (21:46 +0100)]
* da.po: Update.

From-SVN: r221909

9 years ago* da.po: Update.
Joseph Myers [Tue, 7 Apr 2015 20:40:01 +0000 (21:40 +0100)]
* da.po: Update.

From-SVN: r221908

9 years agore PR go/63731 (Fallback to netgo does not work)
Ian Lance Taylor [Tue, 7 Apr 2015 18:09:28 +0000 (18:09 +0000)]
re PR go/63731 (Fallback to netgo does not work)

PR go/63731
libgo: Build and install libnetgo.a

libnetgo.a provides the net
package built with the netgo
tag enabled.  This provides the
netgo fallback solution for gccgo.
This lib must be explicitly linked
in using the -gccgoflags, so is
not included by default.

From-SVN: r221906

9 years ago[AArch64] Fix gcc.target/aarch64/c-output-template-3.c
Alan Lawrence [Tue, 7 Apr 2015 17:28:12 +0000 (17:28 +0000)]
[AArch64] Fix gcc.target/aarch64/c-output-template-3.c

gcc.target/aarch64/c-output-template-3.c: Add -O, remove
-Wno-pointer-arith.

From-SVN: r221905

9 years agogcc.pot: Regenerate.
Joseph Myers [Tue, 7 Apr 2015 15:59:24 +0000 (16:59 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r221904

9 years agoFix up 2 ChangeLog PR number typos.
Jakub Jelinek [Tue, 7 Apr 2015 15:10:14 +0000 (17:10 +0200)]
Fix up 2 ChangeLog PR number typos.

From-SVN: r221902

9 years agore PR debug/65678 (internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:909)
Vladimir Makarov [Tue, 7 Apr 2015 15:01:07 +0000 (15:01 +0000)]
re PR debug/65678 (internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:909)

2015-04-07  Vladimir Makarov  <vmakarov@redhat.com>

PR target/65678
* lra-remat.c (do_remat): Process input and non-input insn
registers separately.

From-SVN: r221901

9 years agore PR debug/65678 (internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:909)
Jakub Jelinek [Tue, 7 Apr 2015 14:35:18 +0000 (16:35 +0200)]
re PR debug/65678 (internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:909)

PR debug/65678
* valtrack.c (debug_lowpart_subreg): New function.
(dead_debug_insert_temp): Use it.

* g++.dg/debug/pr65678.C: New test.

From-SVN: r221900

9 years agore PR middle-end/65680 (ICE at -O1 and above on x86_64-linux-gnu in expand_assignment...
Jakub Jelinek [Tue, 7 Apr 2015 14:34:06 +0000 (16:34 +0200)]
re PR middle-end/65680 (ICE at -O1 and above on x86_64-linux-gnu in expand_assignment, at expr.c:4830)

PR middle-end/65680
* expr.c (get_inner_reference): Handle bit_offset that doesn't fit
into signed HOST_WIDE_INT the same as negative bit_offset.

* gcc.c-torture/compile/pr65680.c: New test.

From-SVN: r221899

9 years agore PR fortran/65548 (gfc_conv_procedure_call)
Andre Vehreschild [Tue, 7 Apr 2015 14:10:43 +0000 (16:10 +0200)]
re PR fortran/65548 (gfc_conv_procedure_call)

PR fortran/65548
        * gfortran.dg/allocate_with_source_5.f90: New test.

        * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
        use conv_expr_descriptor() instead of conv_expr_reference().

From-SVN: r221897

9 years agoipa-comdats.c (ipa_comdats): Visit all thunks to set proper comdat group.
Ilya Enkovich [Tue, 7 Apr 2015 14:06:38 +0000 (14:06 +0000)]
ipa-comdats.c (ipa_comdats): Visit all thunks to set proper comdat group.

gcc/

* ipa-comdats.c (ipa_comdats): Visit all thunks
to set proper comdat group.

gcc/testsuite/

* gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: New.
* gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: New.

From-SVN: r221896

9 years agoupdate_web_docs_libstdcxx_svn (FILTER): Introduce.
Gerald Pfeifer [Tue, 7 Apr 2015 11:46:23 +0000 (11:46 +0000)]
update_web_docs_libstdcxx_svn (FILTER): Introduce.

* update_web_docs_libstdcxx_svn (FILTER): Introduce.
Use to filter output of the copying process.

From-SVN: r221893

9 years ago[ARM] PR 65489: Accept VSTRUCT constants in arm_legitimate_constant_p
Kyrylo Tkachov [Tue, 7 Apr 2015 10:24:19 +0000 (10:24 +0000)]
[ARM] PR 65489: Accept VSTRUCT constants in arm_legitimate_constant_p

PR target/65489
* config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
on constants for NEON VSTRUCT modes.

From-SVN: r221892

9 years agore PR target/65351 (libiberty's pic version contains non-pic code on m32 darwin;...
Jakub Jelinek [Tue, 7 Apr 2015 09:57:46 +0000 (11:57 +0200)]
re PR target/65351 (libiberty's pic version contains non-pic code on m32 darwin; causes bootstrap fail building libcc1.)

PR target/65351
config/
* picflag.m4: Append -mno-dynamic-no-pic for Darwin.
libiberty/
* configure: Regenerate.
libada/
* configure: Regenerate.
libgcc/
* configure: Regenerate.
gcc/
* configure: Regenerate.

Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r221891

9 years agopr65647.c: Add option "-mfloat-abi=soft".
Bin Cheng [Tue, 7 Apr 2015 08:57:59 +0000 (08:57 +0000)]
pr65647.c: Add option "-mfloat-abi=soft".

gcc/testsuite/ChangeLog
* gcc.target/arm/pr65647.c: Add option "-mfloat-abi=soft".

From-SVN: r221889

9 years agore PR target/65614 (PowerPC VSX systems should use XSCPSGNDP to copy scalar fp data...
Michael Meissner [Tue, 7 Apr 2015 03:36:05 +0000 (03:36 +0000)]
re PR target/65614 (PowerPC VSX systems should use XSCPSGNDP to copy scalar fp data to/from Altivec registers)

[gcc]
2015-04-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/65614
* config/rs6000/rs6000.c (struct processor_costs): Add cost field
for SF->DF conversions to make FLOAT_EXTEND more expensive, so
that LFD is used to load double constants instead of LFS.  Add
defaults for all costs structures.  Add comments for missing
initialization fields.
(size32_cost): Likewise.
(size64_cost): Likewise.
(rs64a_cost): Likewise.
(mpccore_cost): Likewise.
(ppc403_cost): Likewise.
(ppc405_cost): Likewise.
(ppc440_cost): Likewise.
(ppc476_cost): Likewise.
(ppc601_cost): Likewise.
(ppc603_cost): Likewise.
(ppc604_cost): Likewise.
(ppc604e_cost): Likewise.
(ppc620_cost): Likewise.
(ppc630_cost): Likewise.
(ppccell_cost): Likewise.
(ppc750_cost): Likewise.
(ppc7450_cost): Likewise.
(ppc8540_cost): Likewise.
(ppce300c2c3_cost): Likewise.
(ppce500mc_cost): Likewise.
(ppce500mc64_cost): Likewise.
(ppce5500_cost): Likewise.
(ppce6500_cost): Likewise.
(titan_cost): Likewise.
(power4_cost): Likewise.
(power6_cost): Likewise.
(power7_cost): Likewise.
(power8_cost): Likewise.
(ppca2_cost): Likewise.
(rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.

* config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
instead of XXLOR to copy SFmode to clear out dirty bits created
when SFmode denormals are generated.
(mov<mode>_hardfloat, FMOVE32 case): Likewise.
(truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.

[gcc/testsuite]
2015-04-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/65614
* gcc.target/powerpc/compress-float-ppc-pic.c: Run test on power5
to get floating point compression.
* gcc.target/powerpc/compress-foat-ppc.c: Likewise.

From-SVN: r221888

9 years agoDaily bump.
GCC Administrator [Tue, 7 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221887

9 years agoadd option for the Samsung Exynos M1 core for AArch64
Evandro Menezes [Mon, 6 Apr 2015 19:19:43 +0000 (19:19 +0000)]
add option for the Samsung Exynos M1 core for AArch64

* doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
* config/aarch64/aarch64-cores.def (exynos-m1): New core.
* config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r221884

9 years agoadd option for the Samsung Exynos M1 core
Evandro Menezes [Mon, 6 Apr 2015 19:19:34 +0000 (19:19 +0000)]
add option for the Samsung Exynos M1 core

* doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
* config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
* config/arm/arm-cores.def (exynos-m1): New core.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-tables.opt: Add entry for "exynos-m1".
* config/arm/bpabi.h: Likewise.

From-SVN: r221883

9 years agore PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")
Jakub Jelinek [Mon, 6 Apr 2015 17:01:50 +0000 (19:01 +0200)]
re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")

PR preprocessor/61977
* lex.c (cpp_peek_token): If peektok is CPP_EOF, back it up
with all tokens peeked by the current function.

* gcc.dg/cpp/pr61977.c: New test.

From-SVN: r221882

9 years agoipa-cp (set_single_call_flag): Remove too restrictive assert.
Ilya Enkovich [Mon, 6 Apr 2015 15:58:37 +0000 (15:58 +0000)]
ipa-cp (set_single_call_flag): Remove too restrictive assert.

* ipa-cp (set_single_call_flag): Remove too
restrictive assert.

From-SVN: r221880

9 years agolibgomp: rework initialization of offloading
Ilya Verbin [Mon, 6 Apr 2015 12:40:28 +0000 (12:40 +0000)]
libgomp: rework initialization of offloading

gcc/
* config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
GOMP_offload_unregister from the destructor.
libgomp/
* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
* libgomp.h (struct gomp_memory_mapping): Remove.
(struct target_mem_desc): Change type of mem_map from
gomp_memory_mapping * to splay_tree_s *.
(struct gomp_device_descr): Remove register_image_func, get_table_func.
Add load_image_func, unload_image_func.
Change type of mem_map from gomp_memory_mapping to splay_tree_s.
Remove offload_regions_registered.
(gomp_init_tables): Remove.
(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
to splay_tree_s *.
* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
* oacc-host.c (host_dispatch): Do not initialize register_image_func,
get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
offload_regions_registered.
Initialize load_image_func, unload_image_func, mem_map.root.
(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
* oacc-init.c (lazy_open): Don't call gomp_init_tables.
(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
gomp_memory_mapping *.  Use dev's lock and splay_tree.
(lookup_dev): Use dev's lock.
(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
(acc_is_present): Likewise.
(acc_map_data): Likewise.
(acc_unmap_data): Likewise.  Use dev's lock.
(present_create_copy): Likewise.
(delete_copyout): Pass dev to lookup_host instead of mem_map.
(update_dev_host): Likewise.
(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
(GOMP_OFFLOAD_get_table): Remove
(GOMP_OFFLOAD_load_image): New function.
(GOMP_OFFLOAD_unload_image): New function.
* target.c (register_lock): New mutex for offload image registration.
(num_devices): Do not guard with PLUGIN_SUPPORT.
(gomp_realloc_unlock): New static function.
(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
before gomp_fatal.
(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
(gomp_copy_from_async): Use dev's lock and splay_tree instead of
mem_map's.
(gomp_unmap_vars): Likewise.
(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
(gomp_offload_image_to_device): New static function.
(GOMP_offload_register): Add mutex lock.
Call gomp_offload_image_to_device for all initialized devices.
Replace gomp_realloc with gomp_realloc_unlock.
(GOMP_offload_unregister): New function.
(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
get_table_func from the plugin with calls to init_device_func and
gomp_offload_image_to_device.
(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
to splay_tree_s *.
(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
(GOMP_target_data): Do not call gomp_init_tables.
(GOMP_target_update): Likewise.  Remove argument from gomp_update.
(gomp_load_plugin_for_device): Replace register_image and get_table
with load_image and unload_image in DLSYM ().
(gomp_register_images_for_device): Remove function.
(gomp_target_init): Do not initialize current_device.mem_map.*,
current_device.offload_regions_registered.
Remove call to gomp_register_images_for_device.
Do not free offload_images and num_offload_images.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp: Include map.
(AddrVect, DevAddrVect, ImgDevAddrMap): New typedefs.
(num_devices, num_images, address_table): New static vars.
(num_libraries, lib_descrs): Remove static vars.
(set_mic_lib_path): Rename to ...
(init): ... this.  Allocate address_table and get num_devices.
(GOMP_OFFLOAD_get_num_devices): return num_devices.
(load_lib_and_get_table): Remove static function.
(offload_image): New static function.
(GOMP_OFFLOAD_get_table): Remove function.
(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New functions.

From-SVN: r221878

9 years agoipa-chkp.c (chkp_maybe_create_clone): Reset cdtor flags for instrumentation thunk.
Ilya Enkovich [Mon, 6 Apr 2015 10:41:55 +0000 (10:41 +0000)]
ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor flags for instrumentation thunk.

gcc/

* ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
flags for instrumentation thunk.
(chkp_produce_thunks): Likewise.

gcc/testsuite/

* gcc.dg/lto/chkp-ctor-merge_0.c: New.

From-SVN: r221877

9 years agoDaily bump.
GCC Administrator [Mon, 6 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221876

9 years agore PR middle-end/65665 (g++.dg/torture/pr64378.C -O2 -flto -fno-use-linker-plugin...
Martin Liska [Sun, 5 Apr 2015 17:17:29 +0000 (19:17 +0200)]
re PR middle-end/65665 (g++.dg/torture/pr64378.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none)

Fix PR ipa/65665

PR ipa/65665
* ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
has computed data structure.
(sem_item_optimizer::update_hash_by_addr_refs): Likewise.

From-SVN: r221872

9 years agoDaily bump.
GCC Administrator [Sun, 5 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221871

9 years agoinvoke.texi (inline-unit-growth): Increase growth to 20%
Jan Hubicka [Sat, 4 Apr 2015 21:07:46 +0000 (23:07 +0200)]
invoke.texi (inline-unit-growth): Increase growth to 20%

* invoke.texi (inline-unit-growth): Increase growth to 20%
* params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.

From-SVN: r221868

9 years agore PR target/65647 (GCC won't stop when compile for armv6-m)
Vladimir Makarov [Sat, 4 Apr 2015 14:35:59 +0000 (14:35 +0000)]
re PR target/65647 (GCC won't stop when compile for armv6-m)

2015-04-04  Vladimir Makarov  <vmakarov@redhat.com>

PR target/65647
* lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New.  Add its
value checking.
(lra_rematerialization_iter): New.
* lra.c (lra): Initialize lra_rematerialization_iter.
Stop updating lra_constraint_new_regno_start after switching of
inheritance and rematerialization.
* lra-remat.c (lra_rematerialization_iter): New.
(lra_remat): Add printing pass iteration.  Do rematerialization
only first LRA_MAX_REMATERIALIZATION_PASSES iterations.

2015-04-04  Vladimir Makarov  <vmakarov@redhat.com>

PR target/65647
* gcc.target/arm/pr65647.c: New.

From-SVN: r221867

9 years agore PR tree-optimization/64909 (Missed vectorization with bdver1)
Richard Biener [Sat, 4 Apr 2015 10:47:08 +0000 (10:47 +0000)]
re PR tree-optimization/64909 (Missed vectorization with bdver1)

2015-04-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64909
PR tree-optimization/65660
* tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
to take a cost vector for scalar iteration cost.
(vect_get_single_scalar_iteration_cost): Likewise.
* tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
Compute the scalar iteration cost into a cost vector.
(vect_get_known_peeling_cost): Use the scalar cost vector to
account for the cost of the peeled iterations.
(vect_estimate_min_profitable_iters): Likewise.
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
Likewise.

From-SVN: r221866

9 years agoDaily bump.
GCC Administrator [Sat, 4 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221865

9 years agore PR target/65576 (ICE in gcc.c-torture/compile/pr33855.c)
Alan Modra [Fri, 3 Apr 2015 23:16:26 +0000 (09:46 +1030)]
re PR target/65576 (ICE in gcc.c-torture/compile/pr33855.c)

PR target/65576
PR target/65240
* config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
0.0 constant unless TARGET_VSX.
* config/rs6000/rs6000.md (extenddftf2_internal): Remove last
alternative.

From-SVN: r221862

9 years agore PR target/65648 (Bad code due to IRA fails to recognize the clobber in parallel)
Jan Hubicka [Fri, 3 Apr 2015 20:25:01 +0000 (22:25 +0200)]
re PR target/65648 (Bad code due to IRA fails to recognize the clobber in parallel)

PR ipa/65648
* ipa-inline-transform.c (inline_call): Skip sanity check to work
around the ICE

From-SVN: r221861

9 years agore PR ipa/65655 (ICE in speculative_call_info, at cgraph.c:1151)
Jan Hubicka [Fri, 3 Apr 2015 18:19:53 +0000 (20:19 +0200)]
re PR ipa/65655 (ICE in speculative_call_info, at cgraph.c:1151)

PR ipa/65655
* ipa-inline-analysis.c (edge_set_predicate): Do not redirect
speculative indirect edges to avoid ordering issue.
* g++.dg/torture/pr65655.C: New testcase.

From-SVN: r221860

9 years agore PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
Jan Hubicka [Fri, 3 Apr 2015 18:09:13 +0000 (20:09 +0200)]
re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)

PR ipa/65076
* ipa-inline.c (edge_badness): Add combined size to the denominator.

From-SVN: r221859

9 years agore PR c++/64085 (ICE on C++14 lambda by-reference capture with an initializer)
Paolo Carlini [Fri, 3 Apr 2015 17:23:27 +0000 (17:23 +0000)]
re PR c++/64085 (ICE on C++14 lambda by-reference capture with an initializer)

/cp
2015-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64085
* lambda.c (add_capture): Use dependent_type_p for capture by
reference too.

/testsuite
2015-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64085
* g++.dg/cpp1y/lambda-init13.C: New.

From-SVN: r221858

9 years ago* g++.dg/cpp0x/pr57101.C: Use proper type for size_t.
Marek Polacek [Fri, 3 Apr 2015 14:55:21 +0000 (14:55 +0000)]
* g++.dg/cpp0x/pr57101.C: Use proper type for size_t.

From-SVN: r221855

9 years agoomp-low.c (scan_omp_parallel, [...]): Set TYPE_ARTIFICIAL on the .omp_data* types.
Jakub Jelinek [Fri, 3 Apr 2015 13:35:49 +0000 (15:35 +0200)]
omp-low.c (scan_omp_parallel, [...]): Set TYPE_ARTIFICIAL on the .omp_data* types.

* omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
TYPE_ARTIFICIAL on the .omp_data* types.

From-SVN: r221853

9 years agocgraphunit.c (cgraph_node::expand_thunk): Don't expand instrumentation thunks.
Ilya Enkovich [Fri, 3 Apr 2015 09:00:53 +0000 (09:00 +0000)]
cgraphunit.c (cgraph_node::expand_thunk): Don't expand instrumentation thunks.

* cgraphunit.c (cgraph_node::expand_thunk): Don't expand
instrumentation thunks.

From-SVN: r221852

9 years agoi386.c (ix86_expand_call): Avoid nested PARALLEL in returned call value.
Ilya Enkovich [Fri, 3 Apr 2015 08:51:26 +0000 (08:51 +0000)]
i386.c (ix86_expand_call): Avoid nested PARALLEL in returned call value.

* config/i386/i386.c (ix86_expand_call): Avoid nested
PARALLEL in returned call value.

From-SVN: r221851

9 years agolto-cgraph.c (input_cgraph_1): Always link instrumented assembler name with original...
Ilya Enkovich [Fri, 3 Apr 2015 08:39:29 +0000 (08:39 +0000)]
lto-cgraph.c (input_cgraph_1): Always link instrumented assembler name with original one.

* lto-cgraph.c (input_cgraph_1): Always link instrumented
assembler name with original one.

From-SVN: r221850

9 years agoDaily bump.
GCC Administrator [Fri, 3 Apr 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221848

9 years agoi386.c (ix86_register_priority): Use AX_REG.
Uros Bizjak [Thu, 2 Apr 2015 17:33:22 +0000 (19:33 +0200)]
i386.c (ix86_register_priority): Use AX_REG.

* config/i386/i386.c (ix86_register_priority): Use AX_REG.

From-SVN: r221844

9 years agore PR c++/65642 ([C++11] GCC rejects valid constant expression)
Marek Polacek [Thu, 2 Apr 2015 16:51:27 +0000 (16:51 +0000)]
re PR c++/65642 ([C++11] GCC rejects valid constant expression)

PR c++/65642
* constexpr.c (cxx_eval_pointer_plus_expression): Call
cxx_eval_constant_expression on the first operand.

* g++.dg/cpp0x/constexpr-fold1.C: New test.
* g++.dg/cpp0x/constexpr-fold2.C: New test.

From-SVN: r221843

9 years agore PR c++/65625 (ICE in make_typename_type, at cp/decl.c:3499)
Jason Merrill [Thu, 2 Apr 2015 16:43:02 +0000 (12:43 -0400)]
re PR c++/65625 (ICE in make_typename_type, at cp/decl.c:3499)

PR c++/65625
* decl.c (make_typename_type): Handle seeing a variable template.

From-SVN: r221842

9 years ago2015-04-02 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Thu, 2 Apr 2015 15:23:36 +0000 (15:23 +0000)]
2015-04-02  Paolo Carlini  <paolo.carlini@oracle.com>

Complete commit.

From-SVN: r221841

9 years agoRevert parts of r216820.
Uros Bizjak [Thu, 2 Apr 2015 12:22:16 +0000 (14:22 +0200)]
Revert parts of r216820.

* config/i386/i386.md (movqi_internal): Correct type calculation
for alternatives 3 and 5.

From-SVN: r221840

9 years agore PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")
Jakub Jelinek [Thu, 2 Apr 2015 11:57:02 +0000 (13:57 +0200)]
re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")

PR preprocessor/61977
* lex.c (cpp_peek_token): Temporarily clear pfile->cb.line_change.

* gcc.target/powerpc/pr61977-1.c: New test.
* gcc.target/powerpc/pr61977-2.c: New test.

From-SVN: r221839

9 years agore PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")
Jakub Jelinek [Thu, 2 Apr 2015 11:54:58 +0000 (13:54 +0200)]
re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")

PR preprocessor/61977
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
predefine __vector/__bool/__pixel macros nor context sensitive
macros for CLK_ASM.
* config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.

From-SVN: r221838

9 years agopa.c (pa_output_move_double): Directly handle register indexed memory operand.
John David Anglin [Thu, 2 Apr 2015 11:29:48 +0000 (11:29 +0000)]
pa.c (pa_output_move_double): Directly handle register indexed memory operand.

* config/pa/pa.c (pa_output_move_double): Directly handle register
indexed memory operand.  Simplify handling of scaled register indexed
memory operands.

From-SVN: r221835

9 years ago[Patch] Add myself as AArch64 Port Reviewer
James Greenhalgh [Thu, 2 Apr 2015 10:49:16 +0000 (10:49 +0000)]
[Patch] Add myself as AArch64 Port Reviewer

* MAINTAINERS: Add myself as a reviewer for the AArch64 port.

From-SVN: r221834

9 years agoAdd myself as reviewer for arm port
Kyrylo Tkachov [Thu, 2 Apr 2015 10:19:37 +0000 (10:19 +0000)]
Add myself as reviewer for arm port

    * MAINTAINERS: Add myself as an arm port reviewer.

From-SVN: r221833

9 years agore PR driver/65444 (-z bndplt isn't passed to linker for -mmpx when building dynamic...
Ilya Enkovich [Thu, 2 Apr 2015 08:15:49 +0000 (08:15 +0000)]
re PR driver/65444 (-z bndplt isn't passed to linker for -mmpx when building dynamic objects)

gcc/
PR driver/65444
* config/i386/linux-common.h (MPX_SPEC): New.
(CHKP_SPEC): Add MPX_SPEC.
* doc/invoke.texi (-fcheck-pointer-boudns): Document
possible issues with '-z bndplt' support in linker.

libmpx/

PR driver/65444
* configure.ac: Add check for '-z bndplt' support
by linker. Add link_mpx output variable.
* libmpx.spec.in (link_mpx): New.
* configure: Regenerate.

From-SVN: r221831

9 years agosync.md (UNSPEC_FILD_ATOMIC, [...]): New.
Uros Bizjak [Thu, 2 Apr 2015 07:56:05 +0000 (09:56 +0200)]
sync.md (UNSPEC_FILD_ATOMIC, [...]): New.

* config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
(loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
(storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
* reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
(subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.

From-SVN: r221830

9 years agolto-cgraph.c (lto_output_node, [...]): Stream split_part.
Jan Hubicka [Thu, 2 Apr 2015 05:14:26 +0000 (05:14 +0000)]
lto-cgraph.c (lto_output_node, [...]): Stream split_part.

* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
split_part.
* ipa-inline.c (edge_badness): Add wrapper penalty.
(sum_callers): Move up.
(inline_small_functions): Set single_caller.
* ipa-inline.h (inline_summary): Add single_caller.
* ipa-split.c (split_function): Set split_part.
(cgraph_node::create_clone): Do not shadow decl; copy split_part.
* cgraph.h (cgraph_node): Add split_part.

From-SVN: r221818

9 years agoDaily bump.
GCC Administrator [Thu, 2 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221817

9 years agore PR c++/56100 (spurious -Wshadow warning with local variable in template class)
Paolo Carlini [Wed, 1 Apr 2015 21:27:55 +0000 (21:27 +0000)]
re PR c++/56100 (spurious -Wshadow warning with local variable in template class)

/cp
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56100
* pt.c (instantiating_current_function_p): New.
* name-lookup.c (pushdecl_maybe_friend_1): Use it.
* cp-tree.h (instantiating_current_function_p): Declare.

/testsuite
2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56100
* g++.dg/warn/Wshadow-8.C: New.
* g++.dg/warn/Wshadow-9.C: Likewise.
* g++.dg/warn/Wshadow-10.C: Likewise.
* g++.dg/warn/Wshadow-11.C: Likewise.

From-SVN: r221814

9 years agosync.md (UNSPEC_MOVA): Remove.
Uros Bizjak [Wed, 1 Apr 2015 17:36:24 +0000 (19:36 +0200)]
sync.md (UNSPEC_MOVA): Remove.

* config/i386/sync.md (UNSPEC_MOVA): Remove.
(atomic_load<mode>): Change operand 0 predicate to
nonimmediate_operand and fix up the destination when needed.
Use UNSPEC_LDA.
(atomic_loaddi_fpu): Use UNSPEC_LDA.
(atomic_store<mode>): Change operand 1 predicate to
nonimmendate_operand and move the source to register when needed.
Use UNSPEC_STA.
(atomic_store<mode>_1): Use UNSPEC_STA.
(atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
Fix moves from memory operand.  Use UNSPEC_STA.

From-SVN: r221811

9 years agore PR c++/65646 (ICE in invalid syntax)
Jason Merrill [Wed, 1 Apr 2015 16:36:50 +0000 (12:36 -0400)]
re PR c++/65646 (ICE in invalid syntax)

PR c++/65646
* decl.c (grokvardecl): Don't call check_explicit_specialization
for non-template members of a class template.

From-SVN: r221810

9 years agoexpmed.c (strict_volatile_bitfield_p): Check that the access will not cross a MODESIZ...
Bernd Edlinger [Wed, 1 Apr 2015 16:09:48 +0000 (16:09 +0000)]
expmed.c (strict_volatile_bitfield_p): Check that the access will not cross a MODESIZE boundary.

gcc:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * expmed.c (strict_volatile_bitfield_p): Check that the access will
        not cross a MODESIZE boundary.
        (store_bit_field, extract_bit_field): Added assertions in the
        strict volatile bitfields code path.

testsuite:
2015-04-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/pr23623.c: Added aligned attribute.
        * gcc.dg/20141029-1.c: Likewise.
        * gcc.dg/20150306-1.c: New test.

From-SVN: r221809

9 years agore PR middle-end/65554 (ICE: verify_gimple failed)
Marek Polacek [Wed, 1 Apr 2015 13:08:05 +0000 (13:08 +0000)]
re PR middle-end/65554 (ICE: verify_gimple failed)

PR c++/65554
* class.c (finish_struct): Require that the second field of a
user-defined initializer_list be of size type.

* g++.dg/cpp0x/initlist93.C: New test.
* g++.dg/cpp0x/initlist94.C: New test.

From-SVN: r221808

9 years agore PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intri...
Max Ostapenko [Wed, 1 Apr 2015 11:18:03 +0000 (14:18 +0300)]
re PR target/65624 (ICE in aarch64-builtins.c when expanding 4-argument aarch64 intrinsic.)

2015-04-01  Max Ostapenko  <m.ostapenko@partner.samsung.com>

PR target/65624

gcc/
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): Increase
args array size by one to avoid buffer overflow.

gcc/testsuite/
* gcc.target/aarch64/pr65624.c: New test.

From-SVN: r221807

9 years agolto-cgraph.c (lto_output_node, [...]): Stream split_part.
Jan Hubicka [Wed, 1 Apr 2015 07:41:17 +0000 (09:41 +0200)]
lto-cgraph.c (lto_output_node, [...]): Stream split_part.

* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
split_part.
* ipa-inline.c (edge_badness): Add wrapper penalty.
(sum_callers): Move up.
(inline_small_functions): Set single_caller.
* ipa-inline.h (inline_summary): Add single_caller.
* ipa-split.c (split_function): Set split_part.
(cgraph_node::create_clone): Do not shadow decl; copy split_part.
* cgraph.h (cgraph_node): Add split_part.

* gcc.dg/ipa/inlinehint-4.c: New testcase.

From-SVN: r221806

9 years agoDaily bump.
GCC Administrator [Wed, 1 Apr 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221805

9 years agoRemove some files that were accidentally committed in 2014.
Ian Lance Taylor [Tue, 31 Mar 2015 19:47:23 +0000 (19:47 +0000)]
Remove some files that were accidentally committed in 2014.

From-SVN: r221802

9 years agopr45701-1.c (history_expand_line_internal): Add an extra variable to force stack...
Alex Velenko [Tue, 31 Mar 2015 19:00:52 +0000 (19:00 +0000)]
pr45701-1.c (history_expand_line_internal): Add an extra variable to force stack alignment.

2015-03-31  Alex Velenko  <Alex.Velenko@arm.com>

* gcc.target/arm/pr45701-1.c (history_expand_line_internal): Add an
extra variable to force stack alignment.
* gcc.target/arm/pr45701-2.c (history_expand_line_internal): Add an
extra variable to force stack alignment.

From-SVN: r221801

9 years agogo/cmd/go: always link external test packages first
Ian Lance Taylor [Tue, 31 Mar 2015 17:54:07 +0000 (17:54 +0000)]
go/cmd/go: always link external test packages first

When linking complex packages that use both internal and external tests as well as many dependencies it is critical that the link order be external test package, internal test package, everything else.

This change is a back (forward?) port of the same change that canonical have been maintaining on their fork of the go tool for gccgo. Now that gccgo uses the go tool from upstream, this patch should be applied both to the gofrontend and golang/go repos.

From-SVN: r221800

9 years agore PR c++/65390 (ICE in strip_typedefs, at cp/tree.c:1361)
Marek Polacek [Tue, 31 Mar 2015 17:35:29 +0000 (17:35 +0000)]
re PR c++/65390 (ICE in strip_typedefs, at cp/tree.c:1361)

PR c++/65390
* tree.c (build_cplus_array_type): Use dependent_type_p rather than
checking for constness.

* g++.dg/template/pr65390.C: New test.

From-SVN: r221799

9 years agore PR target/58945 (Improve atomic_compare_and_swap*_doubleword pattern)
Uros Bizjak [Tue, 31 Mar 2015 17:06:37 +0000 (19:06 +0200)]
re PR target/58945 (Improve atomic_compare_and_swap*_doubleword pattern)

PR target/58945
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
Do not split operands 0 and operands 2 to halfmode.
(atomic_compare_and_swap<mode>): Update for
atomic_compare_and_swap<dwi>_doubleword changes.

From-SVN: r221798

9 years agotree.c (need_assembler_name_p): Artificial types have no ODR names.
Jan Hubicka [Tue, 31 Mar 2015 17:03:16 +0000 (19:03 +0200)]
tree.c (need_assembler_name_p): Artificial types have no ODR names.

* tree.c (need_assembler_name_p): Artificial types have no ODR
names.
* ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
no caching is done.
* lto.c (lto_read_decls): Move code registering odr types out
of TYPE_CANONICAL conditional and also register polymorphic types.

From-SVN: r221797

9 years agore PR ipa/65557 (ICE: SIGSEGV in hash_table<>::find_slot_with_hash() with -fdevirtual...
Martin Liska [Tue, 31 Mar 2015 16:03:03 +0000 (18:03 +0200)]
re PR ipa/65557 (ICE: SIGSEGV in hash_table<>::find_slot_with_hash() with -fdevirtualize -fipa-cp -fipa-icf-functions)

Fix PR65557.

* ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
has already filled up function summary.
(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
* g++.dg/ipa/pr65557.C: New test.

From-SVN: r221796

9 years agotree-sra.c (create_access_replacement): Drop under-/over-alignment of types.
Richard Biener [Tue, 31 Mar 2015 13:32:59 +0000 (13:32 +0000)]
tree-sra.c (create_access_replacement): Drop under-/over-alignment of types.

2015-03-31  Richard Biener  <rguenther@suse.de>

* tree-sra.c (create_access_replacement): Drop under-/over-alignment
of types.

From-SVN: r221795

9 years agoS/390: Hotpatch: Remove special handling of nested functions.
Dominik Vogt [Tue, 31 Mar 2015 12:07:06 +0000 (12:07 +0000)]
S/390: Hotpatch: Remove special handling of nested functions.

gcc/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
    nested functions.
    (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
    (s390_asm_output_function_label): Adapt to new signature of
    s390_function_num_hotpatch_hw
    Optimise the code generating assembler output.
    Add comments to assembler file.

gcc/testsuite/
2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>

    * gcc.target/s390/hotpatch-25.c: New test.
    * gcc.target/s390/hotpatch-1.c: Update test.
    * gcc.target/s390/hotpatch-10.c: Update test.
    * gcc.target/s390/hotpatch-11.c: Update test.
    * gcc.target/s390/hotpatch-12.c: Update test.
    * gcc.target/s390/hotpatch-13.c: Update test.
    * gcc.target/s390/hotpatch-14.c: Update test.
    * gcc.target/s390/hotpatch-15.c: Update test.
    * gcc.target/s390/hotpatch-16.c: Update test.
    * gcc.target/s390/hotpatch-17.c: Update test.
    * gcc.target/s390/hotpatch-18.c: Update test.
    * gcc.target/s390/hotpatch-19.c: Update test.
    * gcc.target/s390/hotpatch-2.c: Update test.
    * gcc.target/s390/hotpatch-21.c: Update test.
    * gcc.target/s390/hotpatch-22.c: Update test.
    * gcc.target/s390/hotpatch-23.c: Update test.
    * gcc.target/s390/hotpatch-24.c: Update test.
    * gcc.target/s390/hotpatch-3.c: Update test.
    * gcc.target/s390/hotpatch-4.c: Update test.
    * gcc.target/s390/hotpatch-5.c: Update test.
    * gcc.target/s390/hotpatch-6.c: Update test.
    * gcc.target/s390/hotpatch-7.c: Update test.
    * gcc.target/s390/hotpatch-8.c: Update test.
    * gcc.target/s390/hotpatch-9.c: Update test.
    * gcc.target/s390/hotpatch-compile-16.c: Update test.

From-SVN: r221794

9 years agore PR c++/65626 (ICE in fixup_noreturn_call called by tree-ssa-forwprop.c:2492)
Richard Biener [Tue, 31 Mar 2015 09:34:08 +0000 (09:34 +0000)]
re PR c++/65626 (ICE in fixup_noreturn_call called by tree-ssa-forwprop.c:2492)

2015-03-31  Richard Biener  <rguenther@suse.de>

PR middle-end/65626
* tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
of the noreturn call so it is last and cleanup_control_flow_bb
can do the CFG part.

* g++.dg/torture/pr65626.C: New testcase.

From-SVN: r221790

9 years agoFix bzero warning in child_setup_tty
Tom de Vries [Tue, 31 Mar 2015 08:30:15 +0000 (08:30 +0000)]
Fix bzero warning in child_setup_tty

2015-03-31  Tom de Vries  <tom@codesourcery.com>

PR ada/65490
* terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
bzero call is the same expression as the destination'.

From-SVN: r221789

9 years agore PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_gro...
Ilya Enkovich [Tue, 31 Mar 2015 08:29:28 +0000 (08:29 +0000)]
re PR target/65531 (ICE: symtab_node::verify failed: Two symbols with same comdat_group are not linked by the same_comdat_group list. with -fcheck-pointer-bounds -mmpx)

gcc/

PR target/65531
* ipa-chkp.c (chkp_maybe_create_clone): Don't set
same_comdat_group for external symbols.
* symtab.c (symtab_node::verify_symtab_nodes): Avoid
infinite same_comdat_group traversal loop.

gcc/testsuite/

PR target/65531
* gcc.target/i386/mpx/pr65531.cc: New.

From-SVN: r221788

9 years agore PR target/65602 (gcc.target/i386/mpx tests FAIL)
Ilya Enkovich [Tue, 31 Mar 2015 08:24:38 +0000 (08:24 +0000)]
re PR target/65602 (gcc.target/i386/mpx tests FAIL)

PR target/65602
* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Use
__builtin_alloca instead of alloca.
* gcc.target/i386/mpx/alloca-1-nov.c (mpx_test): Likewise.
* gcc.target/i386/mpx/alloca-1-ubv.c (mpx_test): Likewise.
* lib/mpx-dg.exp (check_effective_target_mpx): Add wrapper
check.

From-SVN: r221787

9 years agore PR plugins/61176 (plugin builds including gimple.h not building)
Jakub Jelinek [Tue, 31 Mar 2015 05:31:57 +0000 (07:31 +0200)]
re PR plugins/61176 (plugin builds including gimple.h not building)

PR plugins/61176
* Makefile.in (install-plugin): Add all gcc/*.{h,def} files
automatically to $headers.

From-SVN: r221786

9 years agoDaily bump.
GCC Administrator [Tue, 31 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r221785

9 years agocompiler: Mark builtin calls with bad types as errors.
Ian Lance Taylor [Tue, 31 Mar 2015 00:10:46 +0000 (00:10 +0000)]
compiler: Mark builtin calls with bad types as errors.

Fixes golang/go/#10285.

From-SVN: r221782

9 years agore PR ipa/65610 (Compare debug failure with -g3 -fsanitize=undefined -fno-sanitize...
Jakub Jelinek [Mon, 30 Mar 2015 21:56:02 +0000 (23:56 +0200)]
re PR ipa/65610 (Compare debug failure with -g3 -fsanitize=undefined -fno-sanitize=vptr -O3)

PR ipa/65610
* ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
function.
(decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
Use it.
* ipa-prop.c (param_type_may_change_p): Likewise.
* tree-ssa-live.c: Include ipa-utils.h and its dependencies.
(remove_unused_scope_block_p): Add in_ctor_dtor_block
argument.  Before inlining, preserve
inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them.  Adjust
recursive calls.
(remove_unused_locals): Adjust remove_unused_scope_block_p caller.

* g++.dg/ubsan/pr65610.C: New test.

From-SVN: r221781

9 years agore PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initia...
Marek Polacek [Mon, 30 Mar 2015 18:39:17 +0000 (18:39 +0000)]
re PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initialization)

PR c++/65398
* constexpr.c (cxx_fold_indirect_ref): Don't perform the
 *(&A[i] p+ j) => A[i + j] transformation here.
(cxx_eval_pointer_plus_expression): New function.
(cxx_eval_constant_expression): Use it here.

* g++.dg/cpp0x/pr65398-2.C: New test.

From-SVN: r221777

9 years agore PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)
Jakub Jelinek [Mon, 30 Mar 2015 17:54:05 +0000 (19:54 +0200)]
re PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)

PR fortran/65597
* trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
instead of the original step on the new iterator - count.

* testsuite/libgomp.fortran/pr65597.f90: New test.

From-SVN: r221776

9 years agore PR libstdc++/65630 (operator+ for new std::string not exported)
Jonathan Wakely [Mon, 30 Mar 2015 17:52:37 +0000 (18:52 +0100)]
re PR libstdc++/65630 (operator+ for new std::string not exported)

PR libstdc++/65630
* config/abi/pre/gnu.ver: Export operator+ for new strings.
* testsuite/21_strings/basic_string/operators/char/65630.cc: New.
* testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.

From-SVN: r221775

9 years agocompiler: implement Go 1 unsafe.Pointer conversion rules
Ian Lance Taylor [Mon, 30 Mar 2015 17:32:06 +0000 (17:32 +0000)]
compiler: implement Go 1 unsafe.Pointer conversion rules

Any type whose underlying type is uintptr can be converted
to unsafe.Pointer, and vice versa.

Fixes golang/go#10284.

From-SVN: r221774

9 years ago* c-c++-common/pr65556.c: Change the width of bit-fields.
Marek Polacek [Mon, 30 Mar 2015 14:20:14 +0000 (14:20 +0000)]
* c-c++-common/pr65556.c: Change the width of bit-fields.

From-SVN: r221771

9 years agolto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.
Jan Hubicka [Mon, 30 Mar 2015 08:51:50 +0000 (10:51 +0200)]
lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on DECL_ARTIFICAL symbols.

* lto-symtab.c (lto_symtab_merge_decls_2): Silence warning on
DECL_ARTIFICAL symbols.

From-SVN: r221770