Jan Hubicka
9b21e86682
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
...
PR ipa/61886
* varpool.c (varpool_node::get_availability): Recurse only on
weakrefs with definition in the target.
(symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.
From-SVN: r231429
2015-12-08 22:02:23 +00:00
Jan Hubicka
ced7e9584b
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
...
PR ipa/61886
* ipa-visibility.c (can_replace_by_local_alias): Look through transparent
aliaes; refuse weakrefs.
(update_visibility_by_resolution_info): Skip transparent aliases in the
analysis part
From-SVN: r231428
2015-12-08 22:01:41 +00:00
Jan Hubicka
54f97f9000
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
...
PR ipa/61886
* symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
(symtab_node::noninterposable_alias): Do not accept transparent
aliases.
From-SVN: r231427
2015-12-08 22:00:55 +00:00
Nathan Sidwell
4d5438cd3c
nvptx.c (decl_chunk_size, [...]): Replace with ...
...
gcc/
* config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
decl_offset, init_part, object_size, object_finished): Replace
with ...
(struct init_frag): ... this new struct variable.
(begin_decl_field, output_decl_chunk): Replace with ...
(output_init_frag): ... this new function.
(nvptx_assemble_value): Reimplement.
(nvptx_assemble_integer, nvptx_output_skip): Adjust.
(nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
(nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.
gcc/testsuite/
* gcc.target/nvptx/trailing-init.c: New.
From-SVN: r231426
2015-12-08 21:06:42 +00:00
Jan Hubicka
41c60c6c75
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
...
PR ipa/61886
* lto-partition.c (add_symbol_to_partition_1): Transparent aliases
are not part of the definition.
(contained_in_symbol): Likewise.
(promote_symbol): When promoting a symbol also promote all transparent
aliases.
(rename_statics): Weakref needs unique name, too.
From-SVN: r231425
2015-12-08 20:46:42 +00:00
Eric Botcazou
21fc3950f6
re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540)
...
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
with BLKmode promoted mode based on RESULT_DECLs.
From-SVN: r231422
2015-12-08 18:47:54 +00:00
Nathan Sidwell
2f0ce51aee
920723-1.c: Remove PTX skip.
...
* gcc.c-torture/compile/920723-1.c: Remove PTX skip.
* gcc.c-torture/compile/pr33855.c: Likewise.
* gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip.
From-SVN: r231421
2015-12-08 18:43:10 +00:00
Uros Bizjak
46e04bb53f
* testsuite/ChangeLog: Fix last entry.
...
From-SVN: r231420
2015-12-08 19:42:15 +01:00
Uros Bizjak
9e5d0977ff
re PR target/68701 ("gcc -m32 -finstrument-functions -ffixed-ebp" produces internal compiler error)
...
PR target/68701
* config/i386/i386.c (ix86_option_override_internal): Enable
-maccumulate-outgoing-args when %ebp is fixed due to stack
realignment requirements.
testsuite/ChangeLog:
PR target/68701
* testsuite/gcc.target/i386/pr68701-1.c: New test.
* testsuite/gcc.target/i386/pr68701-2.c: Ditto.
From-SVN: r231419
2015-12-08 19:41:21 +01:00
Uros Bizjak
0b8d93e55f
sse4_1-round.h (do_round): Fix inline asm statements.
...
* gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements.
* gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto.
* gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto.
From-SVN: r231418
2015-12-08 19:21:15 +01:00
Eric Botcazou
315a541c45
* gcc.dg/sso-9.c (foo): Robustify trick.
...
From-SVN: r231416
2015-12-08 17:08:18 +00:00
David Malcolm
a1b93f8daf
C: fix uninitialized ranges for __alignof__
...
gcc/c/ChangeLog:
* c-parser.c (c_parser_alignof_expression): Capture location of
closing parenthesis (if any), or of end of unary expression, and
use it to build a src_range for the expression.
gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-expressions-1.c (test_alignof):
New test function.
From-SVN: r231415
2015-12-08 17:03:26 +00:00
David Malcolm
46c6e1e20e
PR c/68757: fix uninitialized src_range for various builtins
...
gcc/c/ChangeLog:
PR c/68757
* c-parser.c (c_parser_get_builtin_args): Add
"out_close_paren_loc" param, and write back to it.
(c_parser_postfix_expression): Capture the closing
parenthesis location for RID_CHOOSE_EXPR,
RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
RID_BUILTIN_SHUFFLE and use it to set the source range
for such expressions; within RID_BUILTIN_COMPLEX set
the underlying location.
gcc/testsuite/ChangeLog:
PR c/68757
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_choose_expr): New test function.
(test_builtin_call_with_static_chain): Likewise.
(test_builtin_complex): Likewise.
(test_builtin_shuffle): Likewise.
From-SVN: r231414
2015-12-08 16:57:27 +00:00
Jiong Wang
b26a3da5cc
[AArch64] Skip big-endian as well for gcc.target/aarch64/got_mem_hoist_1.c
...
2015-12-08 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/got_mem_hoist_1.c (dg-skip-if): Match big-endian
as well.
From-SVN: r231413
2015-12-08 15:37:07 +00:00
Marek Polacek
d5cec9c4ca
re PR c++/68116 (ice in add_expr, at tree.c:7840)
...
PR c++/68116
* g++.dg/cpp0x/pr68116.C: New test.
From-SVN: r231412
2015-12-08 14:43:32 +00:00
Tom de Vries
8498c16b04
Clear restrict in install_var_field
...
2015-12-08 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68640
* omp-low.c (install_var_field): Clear the restrict qualifier on the var
type.
From-SVN: r231411
2015-12-08 14:17:42 +00:00
Kirill Yukhin
9b34093469
AVX-512. Fix assembler section for broadcast pattern.
...
gcc/
* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
assembler to make source always 128bit.
From-SVN: r231410
2015-12-08 14:09:45 +00:00
Kirill Yukhin
9a89e06977
pr68627.f: Use '!ia32' instead of 'lp64' in target specifier.
...
gcc/testsuite/
* gfortran.dg/pr68627.f: Use '!ia32' instead of 'lp64' in target
specifier.
From-SVN: r231408
2015-12-08 13:54:30 +00:00
Bernd Schmidt
7be7346548
Add file missing from earlier commit.
...
From-SVN: r231407
2015-12-08 13:35:46 +00:00
Jakub Jelinek
63bbf46d5f
re PR c/48088 (-Werror=frame-larger-than=100 does not work as expected)
...
PR c/48088
PR c/68657
* common.opt (Wframe-larger-than=): Add Warning.
* opts.h (control_warning_option): Add ARG argument.
* opts-common.c (cmdline_handle_error): New function.
(read_cmdline_option): Use it.
(control_warning_option): Likewise. Add ARG argument.
If non-NULL, decode it if needed and pass through
to handle_generated_option. Handle CLVC_ENUM like
CLVC_BOOLEAN.
* opts.c (common_handle_option): Adjust control_warning_option
caller.
(enable_warning_as_error): Likewise.
c-family/
* c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
* c-pragma.c (handle_pragma_diagnostic): Adjust
control_warning_option caller.
ada/
* gcc-interface/trans.c (Pragma_to_gnu): Adjust
control_warning_option caller.
testsuite/
* c-c++-common/pr68657-1.c: New test.
* c-c++-common/pr68657-2.c: New test.
* c-c++-common/pr68657-3.c: New test.
* gcc.dg/cpp/warn-normalized-3.c: Use
-Werror=normalized=nfc instead of -Werror=normalized=
in dg-options.
From-SVN: r231406
2015-12-08 14:26:35 +01:00
David Sherwood
091db7b0af
Add file missing from previous commit:
...
2015-12-08 David Sherwood <david.sherwood@arm.com>
Add file missing from previous commit:
gcc/testsuite:
* gcc.target/aarch64/fmaxmin.c
From-SVN: r231404
2015-12-08 11:26:33 +00:00
Christophe Lyon
f9184ba045
[testsuite][ARM target attributes] Fix effective_target tests.
...
2015-12-08 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp
(check_effective_target_arm_vfp_ok_nocache): New.
(check_effective_target_arm_vfp_ok): Call the new
check_effective_target_arm_vfp_ok_nocache function.
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_vfp effective
target instead.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead.
* gcc.target/arm/attr-neon3.c: Likewise.
From-SVN: r231403
2015-12-08 12:17:18 +01:00
Kirill Yukhin
409c286f84
pr68627.f: Limit target to x86.
...
gcc/testsuite:
* gfortran.dg/pr68627.f: Limit target to x86.
From-SVN: r231402
2015-12-08 10:41:01 +00:00
Andre Vieira
ceeb21ef31
builtin-return-1.c: Add an inline assembly read to make sure dummy is not optimized away by LTO.
...
2015-12-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
Joern Rennecke <joern.rennecke@embecosm.com>
gcc/testsuite/
* gcc.dg/torture/stackalign/builtin-return-1.c: Add an
inline assembly read to make sure dummy is not optimized
away by LTO.
Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>
From-SVN: r231401
2015-12-08 10:01:45 +00:00
Matthew Wahab
5b68899305
[AArch64] Rework ARMv8.1 command line options.
...
* config/aarch64/aarch64-options-extensions.def: Remove
AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor",
"rdma".
* config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
(AARCH64_FL_LOR): Remove.
(AARCH64_FL_RDMA): Remove.
(AARCH64_FL_V8_1): New.
(AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
(AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
* doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
section on -march=native. Group descriptions of permitted
architecture names together. Expand description of
-march=armv8.1-a.
(AArch64 -mtune): Slightly rework section on -march=native.
(AArch64 -mcpu): Slightly rework section on -march=native.
(AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
State that -march=armv8.1-a enables "crc" and "lse".
From-SVN: r231400
2015-12-08 09:23:51 +00:00
Eric Botcazou
fb0e6f4f4e
* doc/invoke.texi (SPARC options): Fix typo.
...
From-SVN: r231399
2015-12-08 09:01:58 +00:00
Eric Botcazou
73866e0dfa
ia64.c (ia64_emit_probe_stack_range): Adjust.
...
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.
From-SVN: r231398
2015-12-08 08:55:51 +00:00
Uros Bizjak
e8e1c90f3f
i386.c (ix86_emit_swsqrtsf): Cleanup infinity filterning code.
...
* config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
infinity filterning code.
From-SVN: r231397
2015-12-08 09:53:42 +01:00
Uros Bizjak
8d22292eb7
ChangeLog: Fix whitespace.
...
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r231396
2015-12-08 09:50:47 +01:00
Ilya Enkovich
dc9604d432
re PR tree-optimization/68766 (internal compiler error: in expand_LOOP_VECTORIZED, at internal-fn.c:1905)
...
gcc/
PR tree-optimization/68766
* tree-vectorizer.c (vectorize_loops): Check for
if-converted loops when debug counters are used.
gcc/testsuite/
PR tree-optimization/68766
* gcc.dg/pr68766.c: New test.
From-SVN: r231395
2015-12-08 07:16:04 +00:00
DJ Delorie
27d815b236
constraints.md (Wfr): Change to be a non-memory constraint.
...
* config/rl78/constraints.md (Wfr): Change to be a non-memory
constraint.
* config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
* config/rl78/rl78.c (rl78_one_far_p): Define.
* config/rl78/rl78-virt (movqi_virt): Fix far memory
alternatives.
(movhi_virt): Likewise.
(zero_extendqihi2_virt): Likewise.
(extendqihi2_virt): Likewise.
(add<mode>3_virt): Likewise.
(sub<mode>3_virt): Likewise.
(andqi3_virt): Likewise.
(iorqi3_virt): Likewise.
(xorqi3_virt): Likewise.
* config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
overflow in large files.
From-SVN: r231394
2015-12-08 01:10:17 -05:00
GCC Administrator
196889fa04
Daily bump.
...
From-SVN: r231391
2015-12-08 00:16:11 +00:00
Eric Botcazou
9250444b59
re PR target/63668 (-mstd-struct-return fails for non-leaf functions)
...
PR target/63668
* doc/invoke.texi (SPARC options): Document -mstd-struct-return.
* config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
* config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
* config/sparc/sparc.opt (mstd-struct-return): Accept negative form.
From-SVN: r231387
2015-12-07 23:18:29 +00:00
Jakub Jelinek
7c010e27a9
re PR c++/68760 (ICE in pp_string (pretty-print.c:909))
...
PR c++/68760
* error.c (dump_global_iord): Use DECL_SOURCE_FILE (t)
instead of LOCATION_FILE (input_location).
* g++.dg/tree-ssa/pr68760.C: New test.
From-SVN: r231386
2015-12-07 23:44:19 +01:00
Ryan Burn
17c6c56b90
re PR c++/68683 ([concepts] function satisfy_argument_deduction_constraint modifies a type tree node but leaves TYPE_CANONICAL unchanged)
...
PR c++/68683
* constraint.cc (satisfy_argument_deduction_constraint): Set
TYPE_CANONICAL to NULL_TREE if PLACEHOLDER_TYPE_CONSTRAINTS are
changed.
From-SVN: r231385
2015-12-07 16:45:13 -05:00
Jakub Jelinek
0be72a6b4b
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
...
PR middle-end/66726
* g++.dg/tree-ssa/pr66726.c: Renamed to...
* g++.dg/tree-ssa/pr66726.C: ... this.
From-SVN: r231384
2015-12-07 22:05:51 +01:00
Steve Ellcey
bcaddce275
wrap-delay.c: New test.
...
2015-12-07 Steve Ellcey <sellcey@imgtec.com>
* gcc.target/mips/wrap-delay.c: New test.
From-SVN: r231383
2015-12-07 20:39:04 +00:00
Steve Ellcey
1167d047bc
reorg.c (optimize_skip): Do not put frame related instructions in annulled delay slots.
...
2015-12-07 Steve Ellcey <sellcey@imgtec.com>
* reorg.c (optimize_skip): Do not put frame related instructions
in annulled delay slots.
(steal_delay_list_from_target): Ditto.
(fill_slots_from_thread): Ditto.
From-SVN: r231382
2015-12-07 20:37:38 +00:00
Jason Merrill
2fa586ad98
re PR c++/68464 (ICE in valid constexpr function: ../../src/gcc/tree.c:11497)
...
PR c++/68464
* cp-gimplify.c (cp_fold): Don't assume X has TREE_TYPE.
(cp_genericize): Don't do cp_fold_r here.
(cp_fold_function): New.
* cp-tree.h: Declare it.
* decl.c (finish_function): Call it and the pre-genericize plugin
before NRV processing.
From-SVN: r231381
2015-12-07 14:34:11 -05:00
Jason Merrill
7873d5fbc3
re PR c++/68170 (Declaring friend template class template in C++1z produces error: specialization of ‘template<class T> class A’ must appear at namespace)
...
PR c++/68170
* pt.c (maybe_new_partial_specialization): The injected-class-name
is not a new partial specialization.
From-SVN: r231380
2015-12-07 14:34:04 -05:00
Jason Merrill
122ea31075
g++.exp: Also find -std list in GXX_TESTSUITE_STDS environment variable.
...
gcc/testsuite/
* lib/g++.exp: Also find -std list in GXX_TESTSUITE_STDS
environment variable.
gcc/cp/
* Make-lang.in (check-c++1z, check-c++-all): Use GXX_TESTSUITE_STDS.
From-SVN: r231379
2015-12-07 14:33:59 -05:00
Evandro Menezes
b2ca46dfad
Add scheduling model for Exynos M1
...
gcc/
* config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
* config/aarch64/aarch64.md: Include "exynos-m1.md".
* config/arm/arm.md: Likewise.
* config/arm/exynos-m1.md: New file.
From-SVN: r231378
2015-12-07 19:30:01 +00:00
Jan Hubicka
2efd77e92d
* fold-const.c (operand_equal_p): Drp flag_strict_aliasing check.
...
From-SVN: r231377
2015-12-07 18:50:07 +00:00
Nathan Sidwell
0beb7c71f1
nvptx.c (write_return): New.
...
* config//nvptx/nvptx.c (write_return): New.
(write_fn_proto, nvptx_declare_function_name): Call it.
From-SVN: r231375
2015-12-07 17:53:09 +00:00
Marek Polacek
66189108d3
re PR c/68668 (bogus error: invalid use of array with unspecified bounds)
...
PR c/68668
* c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
* gcc.dg/pr68668.c: New test.
From-SVN: r231374
2015-12-07 17:52:23 +00:00
Jan Hubicka
71e546870c
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
...
PR ipa/61886
* symtab.c (ultimate_transparent_alias_target): New inline function.
(symbol_table::assembler_names_equal_p): New method; break out from ...
(symbol_table::decl_assembler_name_equal): ... here.
(symbol_table::change_decl_assembler_name): Also update names and
translation links of transparent aliases.
(symtab_node::dump_base): Dump transparent_alias.
(symtab_node::verify_base): Implement basic transparent alias
verification.
(symtab_node::make_decl_local): Support localization of weakrefs;
recurse to transparent aliases; set TREE_STATIC.
(symtab_node::ultimate_alias_target_1): Handle visibility of
transparent aliases.
(symtab_node::resolve_alias): New parmaeter transparent; handle
transparent aliases; recurse to aliases of aliases to fix comdat
groups.
(symtab_node::get_partitioning_class): Handle transparent aliases.
* ipa-visibility.c (cgraph_externally_visible_p,
varpool_node::externally_visible_p): Visibility of transparent alias
depends on its target.
(function_and_variable_visibility): Do not tweak visibility of
transparent laiases.
(function_and_variable_visibility): Likewise.
* ipa.c (symbol_table::remove_unreachable_nodes): Clear
transparent_alias flag.
* alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
Support transparent aliases.
* cgraph.h (symtab_node): Update prototype of resolve_alias;
add transparent_alias flag.
(symbol_table: Add assembler_names_equal_p.
(symtab_node::real_symbol_p): Skip transparent aliases.
* cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
(handle_alias_pairs): Set transparent_alias for weakref.
(cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
aliases.
* lto-cgraph.c (lto_output_node): When outputting same_comdat_group
skip symbols not put into boundary; stream transparent_alias.
(lto_output_varpool_node): Likewise.
(input_overwrite_node, input_varpool_node): Stream transparent alias.
* varpool.c (ctor_for_folding, varpool_node::get_availability,
varpool_node::assemble_aliases,
symbol_table::remove_unreferenced_decls): Handle transparent aliase.
(varpool_node::create_alias): Set transparent_alias.
* lto-partition.c (add_symbol_to_partition_1, contained_in_symbol,
rename_statics, rename_statics): Handle transparent aliases.
From-SVN: r231373
2015-12-07 17:36:54 +00:00
Eric Botcazou
058c6384fe
re PR middle-end/68291 (ICE in emit_move_insn, at expr.c:3540)
...
PR middle-end/68291
PR middle-end/68292
* cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
SSA names based on RESULT_DECLs.
* function.c (expand_function_start): Do not create BLKmode REGs
for GIMPLE registers when coalescing is enabled.
From-SVN: r231372
2015-12-07 16:45:45 +00:00
Bernd Edlinger
5dd2902aa1
final.c (shorten_branches): Fix check for basic asm.
...
2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* final.c (shorten_branches): Fix check for basic asm.
From-SVN: r231371
2015-12-07 16:27:59 +00:00
Vladimir Makarov
2b7482f813
pr68349.c (strlen): Rename to my_strlen.
...
2015-12-07 Vladimir Makarov <vmakarov@redhat.com>
* gcc.target/i386/pr68349.c (strlen): Rename to my_strlen.
From-SVN: r231370
2015-12-07 16:26:23 +00:00
Bernd Edlinger
a20b66911f
ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for basic asm.
...
2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
basic asm.
From-SVN: r231369
2015-12-07 16:23:49 +00:00