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
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
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
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
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
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
GCC Administrator [Mon, 6 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221876
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
GCC Administrator [Sun, 5 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221871
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
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
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
GCC Administrator [Sat, 4 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221865
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 3 Apr 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221848
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 2 Apr 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221817
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
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
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
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
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
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
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
GCC Administrator [Wed, 1 Apr 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221805
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 31 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221785
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
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
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
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
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
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
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
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
Jan Hubicka [Mon, 30 Mar 2015 02:00:56 +0000 (04:00 +0200)]
re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
* ipa-inline.c (edge_badness): Base denominator on callee's
grwoth squared.
From-SVN: r221769
GCC Administrator [Mon, 30 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221768
John David Anglin [Sun, 29 Mar 2015 20:46:17 +0000 (20:46 +0000)]
re PR libffi/65567 (ERROR: tcl error sourcing /test/gnu/gcc/gcc/libffi/testsuite/libffi.complex/complex.exp)
PR libffi/65567
* testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
lindex is applied to a list.
From-SVN: r221765
Jan Hubicka [Sun, 29 Mar 2015 15:41:55 +0000 (17:41 +0200)]
re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
* gcc.target/i386/pr65588.c: New testcase.
From-SVN: r221764
Martin Jambor [Sun, 29 Mar 2015 15:38:52 +0000 (17:38 +0200)]
re PR ipa/65478 (crafty performance regression)
PR ipa/65478
* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
* ipa-prop.h (ipa_node_params): New flags node_within_scc and
node_calling_single_call.
* ipa-cp.c (count_callers): New function.
(set_single_call_flag): Likewise.
(initialize_node_lattices): Count callers and set single_flag_call if
necessary.
(incorporate_penalties): New function.
(good_cloning_opportunity_p): Use it, dump new flags.
(propagate_constants_topo): Set node_within_scc flag if appropriate.
* doc/invoke.texi (ipa-cp-recursion-penalty,
ipa-cp-single-call-pentalty): Document.
From-SVN: r221763
Thomas Koenig [Sun, 29 Mar 2015 14:33:09 +0000 (14:33 +0000)]
re PR libfortran/65563 (Segfault on reopening fort.xxx file with explicit name)
2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/65563
Refer to correct PR in ChangeLog.
From-SVN: r221762
Thomas Koenig [Sun, 29 Mar 2015 14:20:29 +0000 (14:20 +0000)]
re PR target/65564 (builtin-bnd-narrow-ptr-bounds-2-nov.c:15:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5745)
2015-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/65564
* gfortran.dg/open_errors_2.f90: New test.
From-SVN: r221761
GCC Administrator [Sun, 29 Mar 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221760
John David Anglin [Sat, 28 Mar 2015 17:27:22 +0000 (17:27 +0000)]
re PR libstdc++/65500 (FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for excess errors))
PR libstdc++/65500
* inclhack.def (hpux11_lwp_rwlock_valid): New fix.
* fixincl.x: Regenerate.
* tests/base/sys/pthread.h [HPUX11_LWP_RWLOCK_VALID_CHECK]: New test.
From-SVN: r221757
Jerry DeLisle [Sat, 28 Mar 2015 14:25:29 +0000 (14:25 +0000)]
re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65596
* gfortran.dg/namelist_86.f90: New test.
From-SVN: r221756
Jerry DeLisle [Sat, 28 Mar 2015 13:27:58 +0000 (13:27 +0000)]
re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65596
* io/transfer.c (data_transfer_init): If in namelist mode and
delimiter is not specified, set it to DELIM_QUOTE, independent
of -std.
* io/unit.c (init_units): Set flags.delim to the correct
initial value of DELIM_UNSPECIFIED.
From-SVN: r221753
Andre Vehreschild [Sat, 28 Mar 2015 10:39:24 +0000 (11:39 +0100)]
unlimited_polymorphic_24.f03: Fixing copyright statement to reflect new ownership.
* gfortran.dg/unlimited_polymorphic_24.f03: Fixing copyright
statement to reflect new ownership.
From-SVN: r221752
Paolo Carlini [Sat, 28 Mar 2015 10:28:14 +0000 (10:28 +0000)]
re PR c++/42328 (rejects valid friend)
2015-03-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42328
* g++.dg/template/friend58.C: New.
* g++.dg/template/friend59.C: Likewise.
From-SVN: r221751
Tim Shen [Sat, 28 Mar 2015 04:17:12 +0000 (04:17 +0000)]
re PR libstdc++/65420 (Enumerators in std::regex_constants should be constexpr variables instead)
PR libstdc++/65420
* include/bits/regex_constants.h: Use constexpr variables for flags.
* testsuite/28_regex/constants/constexpr.cc: New testcase.
From-SVN: r221750
GCC Administrator [Sat, 28 Mar 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r221749
Jan Hubicka [Fri, 27 Mar 2015 21:35:51 +0000 (22:35 +0100)]
re PR ipa/65588 (lto1: internal compiler error: Segmentation fault)
PR ipa/65588
* symtab.c (symtab_node::get_partitioning_class): Register vars
are duplicated.
* varpool.c (symbol_table::output_variables) Do not assemble unefined
decls for non-symbols.
From-SVN: r221745
Tobias Burnus [Fri, 27 Mar 2015 20:21:52 +0000 (21:21 +0100)]
re PR c/65586 (-fopenmp-simd rejects valid input)
2015-03-27 Tobias Burnus <burnus@net-b.de>
PR c/65586
gcc/c/
* c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
error out.
(c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
Update calls to not error for skipped omp pragmas with -fopenmp-simd.
gcc/cp/
* parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
cp_parser_omp_declare): Don't show error for skipped omp pragmas
with -fopenmp-simd.
gcc/testsuite/
* g++.dg/gomp/openmp-simd-3.C: New.
* gcc.dg/gomp/openmp-simd-3.c: New.
From-SVN: r221744
H.J. Lu [Fri, 27 Mar 2015 18:11:00 +0000 (18:11 +0000)]
Add default_binds_local_p_2 and use it for x86
Protected data symbol means that it can't be pre-emptied. It doesn't mean
its address won't be external. This is true for pointer to protected
function. With copy relocation, address of protected data defined in the
shared library may also be external. We only know that for sure at
run-time. TARGET_BINDS_LOCAL_P should return false on protected data
symbol.
gcc/
PR target/65248
* output.h (default_binds_local_p_2): New.
* varasm.c (default_binds_local_p_2): Renamed to ...
(default_binds_local_p_3): This. Don't return true on protected
data symbol if protected data may be external.
(default_binds_local_p): Use default_binds_local_p_3.
(default_binds_local_p_1): Likewise.
(default_binds_local_p_2): New.
* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
default_binds_local_p_2 if TARGET_MACHO is undefined.
gcc/testsuite/
PR target/65248
* gcc.target/i386/pr65248-1.c: New file.
* gcc.target/i386/pr65248-2.c: Likewise.
* gcc.target/i386/pr65248-3.c: Likewise.
* gcc.target/i386/pr65248-4.c: Likewise.
From-SVN: r221742
Jakub Jelinek [Fri, 27 Mar 2015 17:35:14 +0000 (18:35 +0100)]
re PR target/65593 (internal compiler error: in extract_insn, at recog.c:2343)
PR target/65593
* config/i386/i386.c (legitimize_pic_address): If base
is SYMBOL_REF or LABEL_REF using %rip addressing, force
it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
* gcc.c-torture/compile/pr65593.c: New test.
From-SVN: r221741
Paolo Carlini [Fri, 27 Mar 2015 17:21:32 +0000 (17:21 +0000)]
re PR c++/59329 (Using `assert(...)` is not allowed in constexpr functions)
2015-03-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59329
* g++.dg/cpp1y/constexpr-assert1.C: New.
From-SVN: r221740
Uros Bizjak [Fri, 27 Mar 2015 17:08:44 +0000 (18:08 +0100)]
Install back PR target/47230 fix (Revert the revert).
From-SVN: r221739
Marek Polacek [Fri, 27 Mar 2015 16:46:44 +0000 (16:46 +0000)]
re PR c++/65556 (ICE: verify_gimple failed (type precision mismatch in switch statement))
PR c++/65556
* semantics.c (finish_switch_cond): If the unlowered type is not an
enum, use the type of the condition.
* c-c++-common/pr65556.c: New test.
From-SVN: r221738
Jason Merrill [Fri, 27 Mar 2015 16:36:32 +0000 (12:36 -0400)]
re PR c++/65509 ([C++11] GCC rejects operator== with two distinct pointers as not constexpr)
PR c++/65509
* decl.c (make_rtl_for_nonlocal_decl): Don't defer static
constants.
From-SVN: r221737
Jan Hubicka [Fri, 27 Mar 2015 15:19:35 +0000 (16:19 +0100)]
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)
PR target/65531
* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
comdat groups.
From-SVN: r221736
Jan Hubicka [Fri, 27 Mar 2015 15:13:54 +0000 (16:13 +0100)]
re PR ipa/65600 (bost testsuite failure: ICE: Segmentation fault)
PR ipa/65600
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
of optimized out indirect call.
(redirect_to_unreachable): Always build symbol table node for
BUILT_IN_UNREACHABLE
* g++.dg/torture/pr65600.C: New testcase.
From-SVN: r221735
Vladimir Makarov [Fri, 27 Mar 2015 14:47:24 +0000 (14:47 +0000)]
re PR target/65407 (Extra mask register move in gcc.target/i386/avx512f-kandnw-1.c)
2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/65407
* ira-costs.c (record_reg_classes): Process all constraint string
containing 0-9.
2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/65407
* gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw.
From-SVN: r221734
Bernd Schmidt [Fri, 27 Mar 2015 13:02:39 +0000 (13:02 +0000)]
Allow misaligned volatile stores in C6X.
* config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
memory_operand.
From-SVN: r221732
Bernd Schmidt [Fri, 27 Mar 2015 12:50:01 +0000 (12:50 +0000)]
Fix c6x-uclinux build failure.
* config/c6x/constraints.md (S3): New constraint.
* config/c6x/c6x.md (real_jump): Use it.
From-SVN: r221731
Jonathan Wakely [Fri, 27 Mar 2015 12:45:10 +0000 (12:45 +0000)]
re PR libstdc++/65499 (Missing "using namespace literals::chrono_literals" in std::chrono)
PR libstdc++/65499
* include/std/chrono: Add using-directive for literals to std::chrono.
* testsuite/20_util/duration/literals/65499.cc: New.
From-SVN: r221730
Andre Vehreschild [Fri, 27 Mar 2015 12:42:01 +0000 (13:42 +0100)]
unlimited_polymorphic_24.f03: Added copyright statement and cleanup.
* gfortran.dg/unlimited_polymorphic_24.f03: Added copyright
statement and cleanup. Fixed typos.
From-SVN: r221729
Tom de Vries [Fri, 27 Mar 2015 12:10:16 +0000 (12:10 +0000)]
Add verification to libgomp.graphite/force-parallel-6.c
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594
* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
(init, check): New function.
(foo): Change return type to void.
(main): Call init and check.
From-SVN: r221728