Commit Graph

160388 Commits

Author SHA1 Message Date
Igor Tsimbalist f262038551 Fix PR85025: libgcc/config/i386/shadow-stack-unwind.h is wrong.
PR target/85025
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
	Fix a typo, tmp => 255.

From-SVN: r258763
2018-03-22 12:22:31 +01:00
Tom de Vries 71b7c365f9 [tail-merge] Don't merge bbs with bb_has_abnormal_pred
2018-03-22  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/84956
	* tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with
	bb_has_abnormal_pred.

	* gcc.dg/pr84956.c: New test.

From-SVN: r258758
2018-03-22 10:21:12 +00:00
Jakub Jelinek f13ed3ed23 re PR sanitizer/85018 (Many sanitizer tests ICE since r258681)
PR sanitizer/85018
	* dwarf2asm.c (dw2_output_indirect_constant_1): Set
	DECL_INITIAL (decl) to decl at the end.
	* varasm.c (use_blocks_for_decl_p): Revert the 2018-03-20 change,
	adjust the comment.

From-SVN: r258757
2018-03-22 09:32:12 +01:00
Marek Polacek 08ad2797c6 re PR c++/84854 (ICE: unexpected expression in cxx_eval_constant_expression, at cp/constexpr.c:4774)
PR c++/84854
	* semantics.c (finish_if_stmt_cond): Check if the type of the condition
	is boolean.

	* g++.dg/cpp1z/constexpr-if15.C: New test.
	* g++.dg/cpp1z/constexpr-if16.C: New test.

From-SVN: r258756
2018-03-22 08:08:07 +00:00
Jason Merrill 2170d4b6dd PR c++/81311 - wrong C++17 overload resolution.
* call.c (build_user_type_conversion_1): Remove C++17 code.
	(conv_binds_ref_to_prvalue): New.
	(build_over_call): Handle C++17 copy elision.
	(build_special_member_call): Only do C++17 copy elision here if the
	argument is already the right type.

From-SVN: r258755
2018-03-21 23:53:19 -04:00
GCC Administrator a0e46153b6 Daily bump.
From-SVN: r258754
2018-03-22 00:16:17 +00:00
Joseph Myers c5c5822ae5 Adjust __builtin_tgmath handling of integer arguments to _FloatN narrowing macros.
When adding __builtin_tgmath to support a better tgmath.h
implementation, I noted that further changes might be needed regarding
the TS 18661 functions that round their results to a narrower type,
because of unresolved issues with how the corresponding type-generic
macros are defined in TS 18661.

The resolution of those issues is still in flux, but the latest
version does indeed require something slightly different from
__builtin_tgmath.  It specifies that integer arguments to type-generic
macros such as f32xadd are treated as _Float64 not double - which was
also present in earlier versions of the resolution - but then it also
specifies different handling for _Float64 arguments and double
arguments, which wasn't in earlier versions.  Specifically, in the
latest version
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2213.pdf>, f32xadd
with _Float64 arguments would call f32xaddf64, while f32xadd with
double arguments would call f32xaddf64x.  Since integer arguments are
converted directly to the argument type of the selected function (not
to double / _Float64x unless that ends up as the argument type), this
is a user-visible difference in semantics that means __builtin_tgmath
actually needs to implement treating integer arguments as _Float64 in
this case (the rest of the latest semantics can then be implemented in
the header, with a few inline functions there).

To avoid releasing with the older version of the __builtin_tgmath
semantics that doesn't work with the latest proposed DR#13 resolution,
this patch implements a rule in __builtin_tgmath that maps integer
types to _Float64 (respectively _Complex _Float64 for complex integer
types) where all the specified functions return the same _FloatN or
_FloatNx type.  This does not affect any existing uses of
__builtin_tgmath in glibc's or GCC's tgmath.h since I haven't yet
added any of these type-generic macros to glibc when adding the
corresponding narrowing functions.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

	* doc/extend.texi (__builtin_tgmath): Document when complex
	integer types are treated as _Complex _Float64.

gcc/c:
	* c-parser.c (c_parser_postfix_expression): For __builtin_tgmath
	where all functions return the same _FloatN or _FloatNx type,
	treat integer types as _Float64 instead of double.

gcc/testsuite:
	* gcc.dg/builtin-tgmath-3.c: New test.

From-SVN: r258751
2018-03-21 22:29:37 +00:00
Tom de Vries f4274af890 [doc] Remove pasto in __builtin_extend_pointer doc
2018-03-21  Tom de Vries  <tom@codesourcery.com>

	* doc/extend.texi (__builtin_extend_pointer): Remove pasto.

From-SVN: r258750
2018-03-21 22:24:04 +00:00
Alexandre Oliva 0186f68450 [PR c++/71965] silence multi-dim array init sorry without tf_error
We shouldn't substitute templates into short-circuited-out concepts
constraints, but we do, and to add insult to injury, we issue a
sorry() error when a concept that shouldn't even have been substituted
attempts to perform a multi-dimensional array initialization with a
new{} expression.

Although fixing the requirements short-circuiting is probably too
risky at this point, we can get closer to the intended effect by
silencing that sorry just as we silence other errors.

for  gcc/cp/ChangeLog

	PR c++/71965
	* init.c (build_vec_init): Silence error, former sorry,
	without tf_error.

for  gcc/testsuite/ChangeLog

	PR c++/71965
	* g++.dg/concepts/pr71965.C: New.

From-SVN: r258749
2018-03-21 22:08:34 +00:00
Alexandre Oliva 7446b353b5 [PR c++/84610,84642] recover from implicit template parms gracefully
If we get a parse error during an attempted fully implicit function
template parse, and need to skip to the end of the statement or block,
we may discard the function parms scope rather than the enclosing
injected implicit template parms scope.  If we rollback a tentative
parse and try something else, we'll no longer be in a function parms
scope, but rather in a template parms scope, but we may still attempt
to synthesize implicit template parms and then fail the assert that
checks we're in a function parms scope.

This patch introduces an alternative to
finish_fully_implicit_template_p, to be used during error recovery,
that floats the implicit template parm scope to the top so that it
gets discarded as we finish and discard the failed implicit template
data, while other scopes are retained as expected.  It also clears the
implicit template parser data as we finish the template, so that it
doesn't linger on referencing discarded or used scopes and parms.

for gcc/cp/ChangeLog

	PR c++/84610
	PR c++/84642
	* parser.c (abort_fully_implicit_template_p): New.
	(cp_parser_skip_to_end_of_statement): Use it.
	(cp_parser_skip_to_end_of_block_or_statement): Likewise.
	(finish_fully_implicit_template_p): Clear
	implicit_template_parms and implicit_template_scope.

for  gcc/testsuite/ChangeLog

	PR c++/84610
	PR c++/84642
	* g++.dg/cpp0x/pr84610.C: New.
	* g++.dg/cpp0x/pr84642.C: New.

From-SVN: r258748
2018-03-21 22:08:19 +00:00
Jakub Jelinek aa1c94299c re PR c/84999 (ICE in make_vector_type, at tree.c:9561)
PR c/84999
	* c-typeck.c (build_binary_op): If c_common_type_for_size fails when
	building vector comparison, diagnose it and return error_mark_node.

	* c-c++-common/pr84999.c: New test.

From-SVN: r258747
2018-03-21 22:48:47 +01:00
Paolo Carlini e299d4fc1a re PR c++/84972 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in extended_tree, at tree.h:5545)
/cp
2018-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84972
	* decl.c (maybe_deduce_size_from_array_init): Set TREE_TYPE to
	error_mark_node when check_array_designated_initializer fails.

/testsuite
2018-03-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84972
	* g++.dg/ext/desig10.C: New.

From-SVN: r258746
2018-03-21 21:19:03 +00:00
Thomas Koenig 482768bd6b re PR fortran/84957 (ICE in gfc_sym_type, at fortran/trans-types.c:2255)
2018-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

	PR fortran/84957
	* trans-types.c (gfc_sym_type): Do not dereference NULL pointer.

2018-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

	PR fortran/84957
	* gfortran.dg/pr84957.f90: New test.


Co-Authored-By: Harald Anlauf <anlauf@gmx.de>

From-SVN: r258745
2018-03-21 21:12:41 +00:00
Jakub Jelinek 3e129b5bc6 re PR tree-optimization/84960 (ICE in GIMPLE pass: isolate-paths)
PR tree-optimization/84960
	* tree-cfg.c (remove_bb): Don't move forced labels into bb->prev_bb
	if it is ENTRY block, move them into single succ of ENTRY in that case.

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

From-SVN: r258744
2018-03-21 21:53:16 +01:00
Richard Sandiford 535808fd72 poly_span_traits fixes (PR 84811)
This patch fixes incorrect results for HOST_WIDE_INT positions
at opposite extremes when used with HOST_WIDE_INT sizes.  It also
fixes UB when comparing such positions with unsigned HOST_WIDE_INT
sizes (although the results in that case were wrapv-correct).

2018-03-20  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR tree-optimization/84811
	* poly-int.h (poly_span_traits): Remove the T3 parameter and
	promote HOST_WIDE_INT T2 - T1 results to unsigned HOST_WIDE_INT.
	(maybe_in_range_p, known_in_range_p, ranges_known_overlap_p):
	(known_subrange_p): Update accordingly.  Cast each value involved
	in the size comparison, rather than casting the result of the
	subtraction.

gcc/testsuite/
	PR tree-optimization/84811
	* gcc.dg/torture/pr84811.c: New test.

From-SVN: r258743
2018-03-21 20:52:15 +00:00
Jakub Jelinek e215422f1d re PR tree-optimization/84982 (logically inverting bools into local array results in bitwise negation)
PR tree-optimization/84982
	* gimple-ssa-store-merging.c (invert_op): Handle boolean inversion
	by flipping the least significant bit rather than all bits from
	bitpos to bitpos + bitsize - 1.

	* c-c++-common/pr84982.c: New test.

From-SVN: r258742
2018-03-21 21:20:40 +01:00
Jakub Jelinek 57e20f74e0 re PR c++/84961 (ICE error: SSA_NAME_DEF_STMT is wrong)
PR c++/84961
	* cp-tree.h (genericize_compound_lvalue): Declare.
	* typeck.c (genericize_compound_lvalue): New function.
	(unary_complex_lvalue, cp_build_modify_expr): Use it.
	* semantics.c (finish_asm_stmt): Replace MODIFY_EXPR, PREINCREMENT_EXPR
	and PREDECREMENT_EXPR in output and "m" constrained input operands with
	COMPOUND_EXPR.  Call cxx_mark_addressable on the rightmost
	COMPOUND_EXPR operand.

	* c-c++-common/pr43690.c: Don't expect errors on "m" (--x) and
	"m" (++x) in C++.
	* g++.dg/torture/pr84961-1.C: New test.
	* g++.dg/torture/pr84961-2.C: New test.

From-SVN: r258741
2018-03-21 21:19:33 +01:00
Nathan Sidwell b2595987bd [PR c++/85008] ICE looking for clone
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01129.html
	PR c++/85008
	* tree.c (decl_linkage): Use DECL_CLONED_FUNCTION_P.
	* decl2.c (vague_linkage_p): Likewise.

	PR c++/85008
	* g++.dg/pr85008.C: New.

From-SVN: r258738
2018-03-21 19:22:10 +00:00
Janne Blomqvist 983d49ddd1 PR 84615 Regressions due to type mismatch with character functions
Since the kind of the hidden character length variable is not part of
the character variable definition, we must ensure that character
lengths are always of the same kind in interfaces, regardless of how
they were declared in the source. This patch ensures this when calling
a procedure.

Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu.

gcc/fortran/ChangeLog:

2018-03-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/84615
	* trans-expr.c (gfc_conv_procedure_call): Convert charlen to
	gfc_charlen_type_node when calling procedure.

gcc/testsuite/ChangeLog:

2018-03-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/84615
	* gfortran.dg/char_result_17.f90: New test.

From-SVN: r258736
2018-03-21 20:46:44 +02:00
David Malcolm 5afef8b119 C++: show private field accessor hints with -g and optimization (PR c++/84994)
gcc/cp/ChangeLog:
	PR c++/84994
	* constexpr.c (constexpr_fn_retval): Make non-"static".
	* cp-tree.h (constexpr_fn_retval): New decl.
	* search.c (direct_accessor_p): Update leading comment.
	(reference_accessor_p): Likewise.
	(field_accessor_p): Replace check that function body is a
	RETURN_EXPR with a call to constexpr_fn_retval.  Fix
	indentation of "field_type" decl.

gcc/testsuite/ChangeLog:
	PR c++/84994
	* g++.dg/other/accessor-fixits-1.C: Move to...
	* g++.dg/torture/accessor-fixits-1.C: ...here.
	* g++.dg/other/accessor-fixits-2.C: Move to...
	* g++.dg/torture/accessor-fixits-2.C: ...here.
	* g++.dg/other/accessor-fixits-3.C: Move to...
	* g++.dg/torture/accessor-fixits-3.C: ...here.
	* g++.dg/other/accessor-fixits-4.C: Move to...
	* g++.dg/torture/accessor-fixits-4.C: ...here.
	* g++.dg/other/accessor-fixits-5.C: Move to...
	* g++.dg/torture/accessor-fixits-5.C: ...here.
	* g++.dg/torture/accessor-fixits-6.C: New testcase.
	* g++.dg/torture/accessor-fixits-7.C: New testcase.
	* g++.dg/torture/accessor-fixits-8.C: New testcase.

From-SVN: r258731
2018-03-21 18:21:39 +00:00
Nathan Sidwell aa3dd75327 Remove long-dead deprecation documentation
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01083.html
	* doc/extend.texi (Deprecated Features): Remove mention of
	long-deleted deprecations.

From-SVN: r258730
2018-03-21 18:06:38 +00:00
Rainer Orth adb0355ff6 xfail gcc.dg/tree-ssa/pr84512.c on 64-bit sparc
* gcc.dg/tree-ssa/pr84512.c: xfail on 64-bit SPARC.

From-SVN: r258729
2018-03-21 17:56:46 +00:00
Rainer Orth ea143da7fb Enable jit on Solaris: soname option and EXTRA_GCC_LIBS (PR jit/84288)
gcc/jit:
	PR jit/84288
	* Make-lang.in ($(LIBGCCJIT_FILENAME)): Add $(EXTRA_GCC_LIBS).

	gcc:
	PR jit/84288
	* configure.ac (gcc_cv_ld_soname) <*-*-solaris2*>: Set.
	* configure: Regenerate.

From-SVN: r258727
2018-03-21 17:39:16 +00:00
Sudakshina Das 839c95d00b [ARM] Fix test pr82989.c for big endian and mthumb
The test pr82989.c which was added in one of previous commits is failing for
mthumb and big-endian configurations. The aim of this test was to check that
NEON instructions are not being used for simple shift operations. The scanning
of lsl and lsr instructions and checking its counts were just too restrictive
for different configurations. So I have now simplified the test to only check
for the absence of NEON instructions.

*** gcc/testsuite/ChangeLog ***

2018-03-21  Sudakshina Das  <sudi.das@arm.com>

	PR target/82989
	* gcc.target/arm/pr82989.c: Change dg scan-assembly directives.

From-SVN: r258723
2018-03-21 17:14:48 +00:00
Nathan Sidwell 5d011fcfcd [PR c++/84804] ICE with default arg, template friend & lambda
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01108.html
	PR c++/84804
	* name-lookup.c (do_pushtag): Permit lambdas to be pushed into
	complete classes.


	PR c++/84804
	* g++.dg/lookup/pr84804.C: New.

From-SVN: r258722
2018-03-21 15:58:00 +00:00
Uros Bizjak 00821ad40e Makefile.am (check-runtime): Pass -test.timeout with GOTOOLS_TEST_TIMEOUT.
* Makefile.am (check-runtime): Pass -test.timeout
	with GOTOOLS_TEST_TIMEOUT.
	* Makefile.in: Rebuild.

From-SVN: r258721
2018-03-21 16:46:37 +01:00
Martin Sebor e65fc7c572 PR c++/84850 - -Wclass-memaccess on a memcpy in a copy assignment operator with no nontrivial bases or members
gcc/cp/ChangeLog:

	PR c++/84850
	* call.c (first_non_public_field): New template and function.
	(first_non_trivial_field): New function.
	(maybe_warn_class_memaccess): Call them.

gcc/testsuite/ChangeLog:

	PR c++/84850
	* g++.dg/Wclass-memaccess-3.C: New test.
	* g++.dg/Wclass-memaccess-4.C: New test.

From-SVN: r258719
2018-03-21 09:14:02 -06:00
David Malcolm 2a80d3ae14 C++: show private field accessor hints for const accesses (PR c++/84892)
gcc/cp/ChangeLog:
	PR c++/84892
	* search.c (field_accessor_p): Use class_of_this_parm rather than
	type_of_this_parm, to check that "this" is a "const T *", rather
	than a "T *const".

gcc/testsuite/ChangeLog:
	PR c++/84892
	* g++.dg/other/accessor-fixits-1.C
	(test_access_const_t1_color): New.
	(test_deref_const_t1_color): New.
	* g++.dg/other/accessor-fixits-5.C: New testcase.

From-SVN: r258716
2018-03-21 13:09:09 +00:00
Nathan Sidwell 8bb406a291 MAINTAINERS with no port
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01093.html
	* MAINTAINERS: Move maintainers of now-removed picochip and score
	ports to write after approval.

From-SVN: r258715
2018-03-21 12:39:05 +00:00
Jonathan Wakely 5a0729f5a4 Fix some libstdc++ testsuite failures
* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
	VERIFY instead of assert.
	* testsuite/20_util/hash/84998.cc: New test.
	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
	copy of test adjusted for Debug Mode.
	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
	test in Debug Mode.

From-SVN: r258714
2018-03-21 12:32:14 +00:00
Tom de Vries c75c35e0f5 [parloops] Handle canonicalize_loop_ivs failure
2018-03-21  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/83126
	* tree-parloops.c (num_phis): New function.
	(gen_parallel_loop): Detect and handle canonicalize_loop_ivs failure.

	* gcc.dg/graphite/pr83126.c: New test.

From-SVN: r258713
2018-03-21 12:25:03 +00:00
Nathan Sidwell f82ece6b59 Deprecate some C++ extensions
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00995.html
	* doc/extend.texi (Deprecated Features): Update deprecared flags,
	mention anon-struct/union members and trailing attributes.

	cp/
	* class.c (finish_struct_anon_r): Refactor, deprecate anything
	other than public non-static data members.
	* parser.c (cp_parser_init_declarator): Deprecate attributes after
	parenthesized initializer.

	testsuite/
	* g++.dg/ext/anon-struct6.C: Adjust.
	* g++.dg/ext/deprecate-1.C: New.
	* g++.dg/ext/deprecate-2.C: New.
	* g++.dg/lookup/pr84602.C: Adjust.
	* g++.dg/lookup/pr84962.C: Adjust.
	* g++.old-deja/g++.other/anon4.C

From-SVN: r258712
2018-03-21 11:04:36 +00:00
Nathan Sidwell 7cd9cf2f0b [PR c++/84836] ICE with local scopes
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01082.html
	PR c++/84836
	* name-lookup.c (update_binding): Correct logic for local binding
	update.

	PR c++/84836
	* g++.dg/lookup/pr84836.C: New.

From-SVN: r258711
2018-03-21 10:59:28 +00:00
Bin Cheng 49e4ca3139 re PR tree-optimization/84969 (Wrong code with -ftree-loop-distribute-patterns)
PR tree-optimization/84969
	* tree-loop-distribution.c (fuse_memset_builtins): Don't reorder
	builtin memset partitions if they set different rhs values.

	gcc/testsuite
	* gcc.dg/tree-ssa/pr84969.c: New test.

From-SVN: r258710
2018-03-21 10:42:34 +00:00
Jakub Jelinek 108b83c1fd re PR rtl-optimization/84989 (_mm512_broadcast_f32x4 triggers ICE in simplify_const_unary_operation, at simplify-rtx.c:1731)
PR rtl-optimization/84989
	* simplify-rtx.c (simplify_unary_operation_1): Don't try to simplify
	VEC_DUPLICATE with scalar result mode.

	* gcc.target/i386/pr84989.c: New test.

From-SVN: r258709
2018-03-21 11:13:29 +01:00
Kyrylo Tkachov ad6aec7153 Commit missing Changelogs for PR target/82518 fix.
From-SVN: r258708
2018-03-21 09:36:24 +00:00
Christophe Lyon 1f4d266b2a PR target/82518: Fix testcase.
2018-03-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/arm/pr82518.c: Require arm_neon_hw.

From-SVN: r258707
2018-03-21 10:26:03 +01:00
Christophe Lyon 1e4573c0b7 test_summary: handle single quotes
2018-03-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* test_summary: Match possible single quotes in configure path.

From-SVN: r258706
2018-03-21 09:47:12 +01:00
Martin Liska cc614ac0b6 Remove superfluous return statement (PR ipa/84963).
2018-03-21  Martin Liska  <mliska@suse.cz>

	PR ipa/84963
	* ipa-icf.c (sem_item_optimizer::fixup_points_to_sets): Remove
	not intended return statement.
2018-03-21  Martin Liska  <mliska@suse.cz>

	PR ipa/84963
	* gfortran.dg/goacc/pr84963.f90: New test.

From-SVN: r258705
2018-03-21 08:26:49 +00:00
Martin Liska 9a4dbf9100 Fix compile-time hog in MPX boundary checking (PR target/84988).
2018-03-21  Martin Liska  <mliska@suse.cz>

	PR target/84988
	* tree-chkp.c (CHKP_ARRAY_MAX_CHECK_STEPS): Define a new macro.
	(chkp_find_bound_slots_1): Limit number of iterations.

From-SVN: r258704
2018-03-21 08:26:05 +00:00
Marek Polacek 1bdbef0902 PR c++/71638, ICE with NSDMI and reference.
* constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags
	even when we replace an element.

	* g++.dg/cpp0x/nsdmi14.C: New test.
	* g++.dg/cpp1y/nsdmi-aggr10.C: New test.

From-SVN: r258703
2018-03-21 07:09:22 +00:00
Chenghua Xu 3b8acdf944 vect-strided-shift-1.c: Add dg-skip-if for MIPS with -mpaired-single directives.
2018-03-21  Chenghua Xu  <paul.hua.gm@gmail.com>

       * gcc.dg/vect/vect-strided-shift-1.c: Add dg-skip-if for
       MIPS with -mpaired-single directives.

From-SVN: r258702
2018-03-21 03:21:05 +00:00
Steven G. Kargl f11600c985 re PR fortran/85001 (ICE in gfc_build_array_type, at fortran/trans-types.c:1420)
2018-03-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85001
	* interface.c (symbol_rank): Remove bogus null pointer check that
	crept in when translating a ternary operator into an if-else 
	constructor.

2018-03-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85001
	* gfortran.dg/interface_41.f90: New test.

From-SVN: r258698
2018-03-21 01:07:43 +00:00
GCC Administrator 2ed0fd052f Daily bump.
From-SVN: r258697
2018-03-21 00:16:14 +00:00
David H. Gutteridge 1527df58b0 re PR target/84838 (Minor grammar fixes for x86 options)
PR target/84838
	* Minor grammar fixes for x86 options.

From-SVN: r258694
2018-03-20 16:22:28 -06:00
François Dumont 5dfb5e5be8 re PR libstdc++/84998 (std::hash<std::bitset<N>> fails in Debug Mode)
2018-03-20  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/84998
	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
	* include/std/bitset: Likewise.
	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
	declaration.
	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
	* include/bits/stl_set.h (std::set<>): Likewise.
	* include/bits/unordered_map.h (std::unordered_map<>): Fix
	_Hash_merge_helper friend declaration.
	(std::unordered_multimap<>): Likewise.
	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
	(std::unordered_multiset<>): Likewise.

From-SVN: r258693
2018-03-20 21:45:14 +00:00
Jakub Jelinek 6f21dc3c4f re PR debug/84875 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2348 on s390x)
PR debug/84875
	* dce.c (delete_unmarked_insns): Don't remove frame related noop moves
	holding REG_CFA_RESTORE notes, instead turn them into a USE.

	* gcc.dg/pr84875.c: New test.

From-SVN: r258692
2018-03-20 22:07:13 +01:00
Marek Polacek 1efb1dc2d8 re PR c++/84927 (ICE with NSDMI and reference)
PR c++/84927
	* constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags
	as we evaluate the elements.
	(cxx_eval_constant_expression): Verify constructor's flags
	unconditionally.

	* g++.dg/cpp1y/nsdmi-aggr9.C: New test.

From-SVN: r258691
2018-03-20 18:13:38 +00:00
Jason Merrill f5f035a336 PR c++/84978, ICE with NRVO.
* cvt.c (cp_get_fndecl_from_callee): Add fold parameter.
	(cp_get_callee_fndecl_nofold): New.
	* cp-gimplify.c (cp_genericize_r): Use it instead.
	* call.c (check_self_delegation): Likewise.

From-SVN: r258689
2018-03-20 14:05:59 -04:00
Peter Bergner 91d014fffa re PR target/83789 (__builtin_altivec_lvx fails for powerpc for altivec-4.c)
PR target/83789
	* config/rs6000/altivec.md (altivec_lvx_<mode>_2op): Delete define_insn.
	(altivec_lvx_<mode>_1op): Likewise.
	(altivec_stvx_<mode>_2op): Likewise.
	(altivec_stvx_<mode>_1op): Likewise.
	(altivec_lvx_<VM2:mode>): New define_expand.
	(altivec_stvx_<VM2:mode>): Likewise.
	(altivec_lvx_<VM2:mode>_2op_<P:mptrsize>): New define_insn.
	(altivec_lvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
	(altivec_stvx_<VM2:mode>_2op_<P:mptrsize>): Likewise.
	(altivec_stvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
	* config/rs6000/rs6000-p8swap.c (rs6000_gen_stvx): Use new expanders.
	(rs6000_gen_lvx): Likewise.
	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Likewise.
	(altivec_expand_stv_builtin): Likewise.
	(altivec_expand_builtin): Likewise.
	* config/rs6000/vector.md: Likewise.

From-SVN: r258688
2018-03-20 12:25:09 -05:00