Jason Merrill
b9dc9ef63f
PR c++/72415 - member template with fold-expression constraint
...
* pt.c (tsubst_pack_expansion): Pull a single pack expansion out
of the TREE_VEC.
From-SVN: r239138
2016-08-04 12:06:22 -04:00
Jason Merrill
6a7b92036b
Rename TYPE_ANONYMOUS_P to TYPE_UNNAMED_P.
...
* cp-tree.h (TYPE_UNNAMED_P): Rename from TYPE_ANONYMOUS_P.
(TYPE_WAS_UNNAMED): Rename from TYPE_WAS_ANONYMOUS.
* class.c, decl.c, decl2.c, error.c, lambda.c, mangle.c,
name-lookup.c, parser.c, pt.c, semantics.c, tree.c: Adjust.
From-SVN: r239137
2016-08-04 12:06:17 -04:00
Jason Merrill
99676625e6
PR c++/72796 - wrong resolution of scoped method call.
...
* typeck.c (finish_class_member_access_expr): Avoid stripping
SCOPE_REF to dependent base.
From-SVN: r239136
2016-08-04 12:06:09 -04:00
Andrew Pinski
c3f2032729
aarch64.c (thunderx_vector_cost): New variable.
...
2016-08-04 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
(thunderx_tunings): Use thunderx_vector_cost instead of
generic_vector_cost.
From-SVN: r239135
2016-08-04 09:00:24 -07:00
Martin Liska
176bf572a8
Fix GNU coding style in gcov.c
...
* gcov.c (main): Fix GNU coding style.
(output_intermediate_file): Likewise.
(process_file): Likewise.
(generate_results): Likewise.
(release_structures): Likewise.
(create_file_names): Likewise.
(find_source): Likewise.
(read_graph_file): Likewise.
(find_exception_blocks): Likewise.
(canonicalize_name): Likewise.
(make_gcov_file_name): Likewise.
(mangle_name): Likewise.
(accumulate_line_counts): Likewise.
(output_branch_count): Likewise.
(read_line): Likewise.
From-SVN: r239134
2016-08-04 15:05:35 +00:00
Thomas Schwinge
ae9281fc64
Rework C/C++ OpenACC routine parsing
...
gcc/c/
* c-parser.c (struct oacc_routine_data): Add error_seen and
fndecl_seen members.
(c_finish_oacc_routine): Use these.
(c_parser_declaration_or_fndef): Adjust.
(c_parser_oacc_routine): Likewise. Support more C language
constructs, and improve diagnostics. Move pragma context
checking...
(c_parser_pragma): ... here.
gcc/cp/
* parser.c (cp_ensure_no_oacc_routine): Improve diagnostics.
(cp_parser_late_parsing_cilk_simd_fn_info): Fix diagnostics.
(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
Simplify code, and improve diagnostics.
(cp_parser_oacc_routine): Likewise. Move pragma context
checking...
(cp_parser_pragma): ... here.
gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Update.
From-SVN: r239128
2016-08-04 15:35:30 +02:00
Thomas Schwinge
0b212d8c86
C/C++: Simplify handling of location information for OpenACC routine directives
...
gcc/c/
* c-parser.c (struct oacc_routine_data): New.
(c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
Simplify code.
(c_finish_oacc_routine): Likewise. Don't attach clauses to "omp
declare target" attribute.
gcc/cp/
* parser.h (struct cp_omp_declare_simd_data): New.
(struct cp_parser): Use it for oacc_routine member.
* parser.c (cp_ensure_no_oacc_routine, cp_parser_oacc_routine)
(cp_parser_late_parsing_oacc_routine, cp_finalize_oacc_routine):
Use it. Simplify code.
(cp_parser_new): Initialize all members pointing to special
parsing data structures.
(cp_parser_cilk_simd_fn_vector_attrs): Initialize
parser->cilk_simd_fn_info->clauses.
(cp_parser_omp_declare_simd): Initialize
parser->omp_declare_simd->clauses.
(cp_parser_late_parsing_omp_declare_simd): Simplify code.
From-SVN: r239127
2016-08-04 15:35:19 +02:00
Thomas Schwinge
bbc79c0e9e
C++ OpenACC routine directive testing: templated, and "auto", trailing return type syntax
...
libgomp/
* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
Likewise.
* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
From-SVN: r239126
2016-08-04 15:35:10 +02:00
Thomas Schwinge
9ef64248fe
Make libgomp.oacc-c-c++-common/crash-1.c a "link" test, and don't hardcode -O0
...
libgomp/
* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
test, and don't hardcode -O0.
From-SVN: r239125
2016-08-04 15:34:57 +02:00
Jonathan Wakely
246c618e71
Update C++17 library implementation status table
...
* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
* doc/html/manual/status.html: Regenerate.
From-SVN: r239124
2016-08-04 14:33:02 +01:00
Bernd Edlinger
8d8e740c1c
016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
...
PR rtl-optimization/71779
* emit-rtl.c (set_reg_attrs_from_value): Only propagate REG_POINTER,
if the value was sign-extended according to POINTERS_EXTEND_UNSIGNED
or if it was truncated.
From-SVN: r239123
2016-08-04 13:23:36 +00:00
Bernd Edlinger
086ad22e0e
re PR target/70903 (wrong code with bfi @ aarch64 with -Os)
...
2016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/70903
* cse.c (cse_insn): If DEST is a paradoxical SUBREG, don't record DEST.
testsuite:
2016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/70903
* gcc.c-torture/execute/pr70903.c: New test.
From-SVN: r239122
2016-08-04 13:20:57 +00:00
Jonathan Wakely
9a8e528cf1
Define std::enable_shared_from_this::weak_from_this
...
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
effective target not dg-options. Move check for feature-test macro to:
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
New test.
From-SVN: r239121
2016-08-04 13:33:10 +01:00
Jonathan Wakely
7d2035fafe
Simplify std::__invoke_impl definitions
...
* include/std/functional (_Unwrap): Rename to __inv_unwrap.
(__invfwd): Adjust.
(__invoke_impl): Remove unused template parameters.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
parameter.
* testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
and test __invoke extension for C++11.
From-SVN: r239120
2016-08-04 12:09:29 +01:00
Martin Liska
6805e400e9
Use TESTING_IN_BUILD_TREE in params.exp
...
* gcc.dg/params/params.exp: Replace file exists with
TESTING_IN_BUILD_TREE.
From-SVN: r239119
2016-08-04 11:06:37 +00:00
Kugan Vivekanandarajah
231b116970
tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before accessing SSA_NAME_PTR_INFO.
...
gcc/ChangeLog:
2016-08-04 Kugan Vivekanandarajah <kuganv@linaro.org>
* tree-inline.c (remap_ssa_name): Check for POINTER_TYPE_P before
accessing SSA_NAME_PTR_INFO.
From-SVN: r239118
2016-08-04 09:15:03 +00:00
Georg-Johann Lay
90b1c81d64
re PR target/70677 (Suboptimal cond on AVR: unneeded stack frame)
...
PR 70677
* common/config/avr/avr-common.c (avr_option_optimization_table)
[OPT_LEVELS_ALL]: Turn off -fcaller-saves.
From-SVN: r239117
2016-08-04 07:52:38 +00:00
Georg-Johann Lay
e7ff6a46c9
re PR target/55181 (Expensive shift loop where a bit-testing instruction could be used)
...
PR 55181
* config/avr/avr.md: New pattern to work around do_store_flag
generating shift instructions for bit extractions.
From-SVN: r239116
2016-08-04 07:50:53 +00:00
Marek Polacek
a00084346a
re PR c++/70229 (error: constexpr constructor does not have empty body)
...
PR c++/70229
* constexpr.c (check_constexpr_ctor_body_1): Allow typedef
declarations.
* g++.dg/cpp0x/constexpr-ctor19.C: New test.
From-SVN: r239115
2016-08-04 07:47:50 +00:00
Richard Biener
fb46286e8d
re PR rtl-optimization/71984 (wrong code with -O -mavx512cd)
...
2016-08-04 Richard Biener <rguenther@suse.de>
PR middle-end/71984
* gcc.dg/torture/pr71984.c: Guard correctness check for
little-endian.
From-SVN: r239114
2016-08-04 07:02:47 +00:00
Kugan Vivekanandarajah
b29fcf3b64
tree-vrp.c (set_value_range): Use vrp_equiv_obstack with BITMAP_ALLOC.
...
gcc/ChangeLog:
2016-08-04 Kugan Vivekanandarajah <kuganv@linaro.org>
* tree-vrp.c (set_value_range): Use vrp_equiv_obstack with
BITMAP_ALLOC.
(add_equivalence): Likewise.
(get_value_range): Allocate value range with vrp_value_range_pool.
(vrp_initialize): Initialize vrp_equiv_obstack for equiv allocation.
(vrp_finalize): Relase vrp_equiv_obstack and vrp_value_range_pool.
From-SVN: r239113
2016-08-04 04:20:01 +00:00
GCC Administrator
5c5ad8cd63
Daily bump.
...
From-SVN: r239112
2016-08-04 00:16:13 +00:00
Ian Lance Taylor
8a14b86bcf
escape: Enable escape analysis in gccgo.
...
Off by default, enabled through -fgo-optimize-allocs.
Reviewed-on: https://go-review.googlesource.com/22378
From-SVN: r239109
2016-08-04 00:10:35 +00:00
Peter Bergner
2f9436e96c
rs6000.c (rs6000_option_override_internal): Make LRA the default for the rs6000 port.
...
* config/rs6000/rs6000.c (rs6000_option_override_internal): Make LRA
the default for the rs6000 port.
From-SVN: r239105
2016-08-03 18:13:20 -05:00
Ian Lance Taylor
9c26dfd08a
gotest: multiple +build lines must all be true
...
The code that handled +build lines did not correctly require them to all
be true. While looking into this I discovered that multiple +build
lines were mishandled in a different way, because the shell does not
preseve line breaks in backquoted data. Look for the +build token to
tell us when we are switching from one +build line to another.
Reviewed-on: https://go-review.googlesource.com/25460
From-SVN: r239100
2016-08-03 22:46:06 +00:00
Andrew Pinski
ac2c96ab12
20160802-1.c: New testcase.
...
2016-08-03 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/compile/20160802-1.c: New testcase.
From-SVN: r239099
2016-08-03 15:37:53 -07:00
Ian Lance Taylor
f177a3d139
compiler: improve type caching for interface types
...
Add a cached to Interface_info_expression::do_type() so as to reuse
previously created interface types. This change reduces gccgo peak heap
usage when compiling the "fmt" package from around 16mb to around 10mb.
Fixes golang/go#16334
Reviewed-on: https://go-review.googlesource.com/24890
From-SVN: r239095
2016-08-03 20:01:09 +00:00
Jonathan Wakely
c7fdbdcdbd
Define feature-test macro for std::enable_shared_from_this
...
* include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
Define feature-test macro.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
for the macro.
From-SVN: r239094
2016-08-03 20:10:06 +01:00
Jonathan Wakely
f21f4463ad
Define std::shared_ptr::weak_type
...
* include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
* include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
From-SVN: r239093
2016-08-03 20:09:57 +01:00
Bernd Edlinger
25f0609b21
re PR middle-end/71876 (longjmp is miscompiled with -ffreestanding)
...
2016-08-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/71876
* calls.c (special_function_p): Remove special handling of
"setjmp_syscall", "qsetjmp", "longjmp", "siglongjmp" and the
prefix "__x". Recognize "savectx", "vfork" and "getcontext" only
without prefix. Remove potentially unsafe ECF_LEAF and ECF_NORETURN.
From-SVN: r239092
2016-08-03 19:05:45 +00:00
Vladimir Makarov
73c77563c6
re PR rtl-optimization/72778 (internal compiler error: in create_pre_exit, at mode-switching.c:451)
...
2016-08-03 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/72778
* lra-spills.c (regno_in_use_p): Check bb and regno modification.
Don't stop on regular insns.
From-SVN: r239091
2016-08-03 18:54:49 +00:00
Jonathan Wakely
32eaac9c91
Define std::as_const
...
* include/std/utility (as_const): Define.
* testsuite/20_util/as_const/1.cc: New test.
* testsuite/20_util/as_const/rvalue_neg.cc: New test.
From-SVN: r239090
2016-08-03 19:11:23 +01:00
Jonathan Wakely
b7dabce5f3
Define std::owner_less<void> specialization (P0074R0)
...
* include/bits/shared_ptr.h (owner_less): Add default template
argument.
* include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
specialization.
(owner_less<void>): Define specialization.
* include/bits/stl_function.h (__cpp_lib_transparent_operators):
Update value.
* testsuite/20_util/owner_less/void.cc: New test.
* testsuite/experimental/feat-cxx14.cc: Update macro value tested.
From-SVN: r239089
2016-08-03 19:11:18 +01:00
Jonathan Wakely
068c8ac17c
Define C++17 feature-test macros
...
* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
Define feature-test macro.
* include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
* include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
* include/std/type_traits (__cpp_lib_logical_traits): Fix value.
(__cpp_lib_type_trait_variable_templates): Define.
From-SVN: r239088
2016-08-03 19:11:10 +01:00
Nathan Sidwell
c1311c86c0
nvptx.c (nvptx_declare_function_name): Round frame size to DImode boundary.
...
gcc/
* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
size to DImode boundary.
(nvptx_propagate): Likewise.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
From-SVN: r239086
2016-08-03 17:26:51 +00:00
Jonathan Wakely
0bd9bdb4db
Define __cpp_lib_generic_associative_lookup feature-test macro
...
* include/bits/stl_function.h: Remove commented-out macro.
* include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
Define feature-test macro.
* testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
From-SVN: r239084
2016-08-03 17:42:31 +01:00
Ian Lance Taylor
3af8a0a810
escape: Stack allocate non-escaping expressions.
...
Stack allocate expressions that the analysis tracked and determined
did not escape.
Reviewed-on: https://go-review.googlesource.com/22377
From-SVN: r239083
2016-08-03 16:32:17 +00:00
Eric Gallager
612a6ffe0e
download_prerequisites: Explicitly remove existing symlinks before trying to create new ones.
...
2016-08-03 Eric Gallager <egall@gwmail.gwu.edu>
* download_prerequisites: Explicitly remove existing symlinks
before trying to create new ones.
From-SVN: r239082
2016-08-03 10:11:50 -06:00
Jonathan Wakely
f8571e5150
Enable Mathematical Special Functions for C++17
...
* include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
true.
* include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
do #error for C++17.
* include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
of __STDCPP_WANT_MATH_SPEC_FUNCS__.
* include/tr1/bessel_function.tcc: Likewise.
* include/tr1/beta_function.tcc: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/ell_integral.tcc: Likewise.
* include/tr1/exp_integral.tcc: Likewise.
* include/tr1/gamma.tcc: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/tr1/legendre_function.tcc: Likewise.
* include/tr1/modified_bessel_func.tcc: Likewise.
* include/tr1/poly_hermite.tcc: Likewise.
* include/tr1/poly_laguerre.tcc: Likewise.
* include/tr1/riemann_zeta.tcc: Likewise.
* include/tr1/special_function_util.h: Likewise.
* testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
From-SVN: r239081
2016-08-03 16:54:13 +01:00
Jonathan Wakely
27631a2542
Remove deprecated has_trivial_xxx traits
...
* include/std/type_traits (has_trivial_default_constructor): Remove.
(has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
* testsuite/20_util/has_trivial_copy_assign/requirements/
explicit_instantiation.cc: Remove test.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/value.cc:
Likewise.
* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
Check has_trivial_default_constructor, has_trivial_copy_constructor,
and has_trivial_copy_assign are not defined.
* testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
tests.
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line number.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r239079
2016-08-03 16:18:30 +01:00
Fritz Reese
c98583e997
lang.opt: New option -fdec-intrinsic-ints.
...
2016-08-03 Fritz Reese <fritzoreese@gmail.com>
gcc/fortran/
* lang.opt: New option -fdec-intrinsic-ints.
* options.c (set_dec_flags): Enable with -fdec.
* gfortran.texi, invoke.texi, intrinsics.texi: Update documentation.
* intrinsic.c (add_function, add_subroutine): New B/I/J/K intrinsic
variants.
gcc/testsuite/gfortran.dg/
* dec_intrinsic_ints.f90: New testcase.
From-SVN: r239078
2016-08-03 14:55:26 +00:00
Richard Biener
9ad1a1da40
pr71403-1.c: Use dg-additional-options and remove -O3.
...
2016-08-03 Richard Biener <rguenther@suse.de>
* c-c++-common/ubsan/pr71403-1.c: Use dg-additional-options
and remove -O3.
* c-c++-common/ubsan/pr71403-2.c: Likewise.
* c-c++-common/ubsan/pr71403-3.c: Likewise.
From-SVN: r239077
2016-08-03 14:41:34 +00:00
Richard Biener
cd75c9792a
loadpre2.c: Disable LIM.
...
2016-08-03 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/loadpre2.c: Disable LIM.
* gcc.dg/tree-ssa/loadpre21.c: Likewise.
* gcc.dg/tree-ssa/loadpre22.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-23.c: Likewise.
From-SVN: r239071
2016-08-03 14:26:51 +00:00
Martin Liska
1a3c85fe05
Add branch_changer.py script to maintainer-scripts
...
* branch_changer.py: New file.
From-SVN: r239066
2016-08-03 12:43:11 +00:00
Senthil Kumar Selvaraj
30e8d8754d
Fix tests that break unnecessarily for avr.
...
Require int32plus for tests that assume so, and conditionally skip pr44024.c,
as it only works if the target allows deletion of null pointer checks.
gcc/testsuite/ChangeLog
* gcc.dg/init-excess-2.c: Require int32plus.
* gcc.dg/pr44024.c: Skip if target keeps null pointer checks.
* gcc.dg/pr59963-2.c: Require int32plus.
* gcc.dg/pr71084.c: Cast pointer to intprt_t.
* gcc.dg/unroll-7.c: Require int32plus.
From-SVN: r239065
2016-08-03 11:50:32 +00:00
Alan Modra
860271ec6c
[RS6000] power8 unaligned fp load/store
...
According to the POWER8 Processor User’s Manual and some
experimentation on power8 hardware, unaligned fp load/store on power8
does not invoke the alignment interrupt.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Make scalar
float access depend on TARGET_EFFICIENT_UNALIGNED_VSX.
* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Renamed
from -mefficient-unaligned-vector. Note that this affects fp too.
From-SVN: r239013
2016-08-03 10:12:06 +09:30
Alan Modra
cef58349a0
[RS6000] cost SLOW_UNALIGNED_ACCESS
...
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make unaligned mem
cost more.
From-SVN: r239012
2016-08-03 10:05:14 +09:30
Alan Modra
d1f0a70a12
[RS6000] Force source of fix_trunc<mode>si2 to reg
...
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
to a reg. Localize vars.
From-SVN: r239011
2016-08-03 10:03:37 +09:30
Alan Modra
819c714522
[RS6000] Remove negative from option help strings
...
* config/rs6000/rs6000.opt: Remove negatives from help strings
and comments.
From-SVN: r239010
2016-08-03 10:02:11 +09:30
Alan Modra
3717616ba7
[RS6000] Delete duplicate code
...
This removes the duplicate (TARGET_POWERPC64 && size == 16) block.
* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
Delete duplicated code.
From-SVN: r239009
2016-08-03 10:00:04 +09:30