Commit Graph

159860 Commits

Author SHA1 Message Date
David Edelsohn
58730d1899 inclhack.def (aix_stdlib_vec_malloc): New.
* inclhack.def (aix_stdlib_vec_malloc): New.
(aix_stdlib_vec_calloc): New.
* fixincl.x: Regenerate.
* tests/base/stdlib.h [AIX_STDLIB_VEC_MALLOC]: New test.
[AIX_STDLIB_VEC_CALLOC]: New test.

From-SVN: r257902
2018-02-22 11:12:26 -05:00
Martin Liska
a11f3649d7 Add "native" as a valid option value for -mcpu/-mtune= on arm (PR driver/83193).
2018-02-22  Martin Liska  <mliska@suse.cz>

	PR driver/83193
	* common/config/arm/arm-common.c (arm_print_hint_for_cpu_option):
	Add "native" as a possible value.

From-SVN: r257900
2018-02-22 12:16:58 +00:00
Marek Polacek
caa7952a43 re PR c++/84493 (ICE with invalid cast)
PR c++/84493
	* parser.c (cp_parser_braced_list): Use require_open instead of
	consume_open.

	* g++.dg/parse/error59.C: New test.

From-SVN: r257899
2018-02-22 11:18:37 +00:00
Tom de Vries
c8fe60e372 [testsuite] Require et alloca for pr82210.c
2018-02-22  Tom de Vries  <tom@codesourcery.com>

	* gcc.c-torture/execute/pr82210.c: Require effective target alloca.

From-SVN: r257898
2018-02-22 11:01:16 +00:00
Paolo Carlini
b9cf471ac1 re PR c++/77655 (ICE on invalid c++ code on x86_64-linux-gnu (internal compiler error: Segmentation fault (program cc1plus)))
2018-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/77655
	* g++.dg/cpp0x/pr77655.C: New.

From-SVN: r257896
2018-02-22 10:44:04 +00:00
Jakub Jelinek
25c1b6cb34 re PR c++/84496 (Internal compiler error with lambda, static and auto since r236615)
PR c++/84496
	* g++.dg/cpp1y/pr84496.C: New test.

From-SVN: r257895
2018-02-22 10:55:32 +01:00
Janne Blomqvist
3f5fabc0ea Character length cleanup for Coarray Fortran library
Following the change to use size_t for Fortran character lengths (PR
78534), this patch modifies the Coarray ABI in a similar way. The
single-image implementation that is included in libgfortran is
updated, but this needs corresponding work in the OpenCoarray library
as well for multi-image support. I also fixed the types for the STOP
and ERROR STOP implementation in libgfortran, as the calling of them
is somewhat intertwined with the calling of the corresponding CAF
functions. I'll send the OpenCoarray changes as a separate pull
request to the OpenCoarrays repository.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>

	* gfortran.texi: Update Coarray API description.
	* trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
	character lengths, int for exit codes.
	(generate_coarray_sym_init): Use size_t for character length.
	* trans-intrinsic.c (conv_co_collective): Likewise.
	* trans-stmt.c (gfc_trans_lock_unlock): Likewise.
	(gfc_trans_event_post_wait): Likewise.
	(gfc_trans_sync): Likewise.
	(gfc_trans_stop): Use size_t for character lengths, int for exit
	codes.

libgfortran/ChangeLog:

2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>

	* libgfortran.h (stop_string): Use size_t for character length.
	* runtime/stop.c (stop_string): Likewise.
	(error_stop_string): Likewise.
	(stop_numeric): Use int for exit code.
	(error_stop_numeric): Likewise.
	* caf/libcaf.h: Remove stdint.h include.
	(_gfortran_caf_register): Use size_t for character length.
	(_gfortran_caf_deregister): Likewise.
	(_gfortran_caf_sync_all): Likewise.
	(_gfortran_caf_sync_memory): Likewise.
	(_gfortran_caf_sync_images): Likewise.
	(_gfortran_caf_stop_numeric): Use int for exit code.
	(_gfortran_caf_stop_str): Use size_t for character length.
	(_gfortran_caf_error_stop_str): Likewise.
	(_gfortran_caf_error_stop): Use int for exit code.
	(_gfortran_caf_co_broadcast): Use size_t for character length.
	(_gfortran_caf_co_sum): Likewise.
	(_gfortran_caf_co_min): Likewise.
	(_gfortran_caf_co_max): Likewise.
	(_gfortran_caf_co_reduce): Likewise.
	(_gfortran_caf_lock): Likewise.
	(_gfortran_caf_unlock): Likewise.
	(_gfortran_caf_event_post): Likewise.
	(_gfortran_caf_event_wait): Likewise.
	* caf/mpi.c (_gfortran_caf_register): Update implementation to
	match prototype.
	(_gfortran_caf_deregister): Likewise.
	(_gfortran_caf_sync_all): Likewise.
	(_gfortran_caf_sync_images): Likewise.
	(_gfortran_caf_error_stop_str): Likewise.
	(_gfortran_caf_error_stop): Likewise.
	* caf/single.c (caf_internal_error): Likewise.
	(_gfortran_caf_register): Likewise.
	(_gfortran_caf_deregister): Likewise.
	(_gfortran_caf_sync_all): Likewise.
	(_gfortran_caf_sync_memory): Likewise.
	(_gfortran_caf_sync_images): Likewise.
	(_gfortran_caf_stop_numeric): Likewise.
	(_gfortran_caf_stop_str): Likewise.
	(_gfortran_caf_error_stop_str): Likewise.
	(_gfortran_caf_error_stop): Likewise.
	(_gfortran_caf_co_broadcast): Likewise.
	(_gfortran_caf_co_sum): Likewise.
	(_gfortran_caf_co_min): Likewise.
	(_gfortran_caf_co_max): Likewise.
	(_gfortran_caf_co_reduce): Likewise.
	(_gfortran_caf_event_post): Likewise.
	(_gfortran_caf_event_wait): Likewise.
	(_gfortran_caf_lock): Likewise.
	(_gfortran_caf_unlock): Likewise.

From-SVN: r257894
2018-02-22 11:44:31 +02:00
Martin Liska
4b3fc65469 Add "native" as a valid option value for -march= on i386 (PR driver/83193).
2018-02-22  Martin Liska  <mliska@suse.cz>

	PR driver/83193
	* config/i386/i386.c (ix86_option_override_internal):
	Add "native" as a possible value for -march and -mtune.

From-SVN: r257893
2018-02-22 08:50:41 +00:00
Jakub Jelinek
d3d4a52a70 re PR c++/84502 (Argument corruption when passing empty templated struct)
PR target/84502
	* stor-layout.c (finalize_type_size): Propagate TYPE_EMPTY_P flag
	to all type variants.

	* g++.dg/torture/pr84502.C: New test.

From-SVN: r257892
2018-02-22 09:29:56 +01:00
Jakub Jelinek
c5679c37aa re PR tree-optimization/84503 (store-merging miscompilation on powerpc64 with -O3 since r241789)
PR tree-optimization/84503
	* gimple-ssa-store-merging.c (merged_store_group::merge_into): Compute
	width as info->bitpos + info->bitsize - start.
	(merged_store_group::merge_overlapping): Simplify width computation.
	(check_no_overlap): New function.
	(imm_store_chain_info::try_coalesce_bswap): Compute expected
	start + width and last_order of the group, fail if check_no_overlap
	fails.
	(imm_store_chain_info::coalesce_immediate_stores): Don't merge info
	to group if check_no_overlap fails.

	* gcc.dg/pr84503-1.c: New test.
	* gcc.dg/pr84503-2.c: New test.

From-SVN: r257891
2018-02-22 09:28:42 +01:00
Segher Boessenkool
ad18eed284 rs6000: Delete meaningless arguments to define_{expand,split,peephole2}
This removes the (usually empty) constraint arguments to define_expand,
define_split, and define_peephole2: this argument is meaningless and
just noise.


	* config/rs6000/altivec.md: Delete contraint arguments to
	define_expand, define_split, and define_peephole2, and in
	define_insn_and_split if always unused.
	* config/rs6000/darwin.md: Ditto.
	* config/rs6000/dfp.md: Ditto.
	* config/rs6000/rs6000.md: Ditto.
	* config/rs6000/sync.md: Ditto.
	* config/rs6000/vector.md: Ditto.
	* config/rs6000/vsx.md: Ditto.

From-SVN: r257890
2018-02-22 02:09:18 +01:00
Segher Boessenkool
6c33231394 rs6000: Use brace blocks in define_insn
This patch changes the remaining cases in our machine description files
to use brace blocks instead of double-quoted strings as the output
control string.  This increases readability by making the blocks look
more like normal C code, mostly because backslash quoting is no longer
needed.  It also removes such quoting where it was still there (usually
harmless but always confusing). and it writes "\n\t" as "\;" in one
place where we didn't already.


	* config/rs6000/altivec.md: Write output control strings as braced
	blocks instead of double-quoted strings.
	* config/rs6000/darwin.md: Ditto.
	* config/rs6000/rs6000.md: Ditto.
	* config/rs6000/vector.md: Ditto.
	* config/rs6000/vsx.md: Ditto.

From-SVN: r257889
2018-02-22 02:08:02 +01:00
GCC Administrator
78a85122c0 Daily bump.
From-SVN: r257887
2018-02-22 00:16:25 +00:00
Jason Merrill
a5e2a41f97 PR c++/84314 - ICE with templates and fastcall attribute.
* attribs.c (build_type_attribute_qual_variant): Remove assert.

From-SVN: r257883
2018-02-21 17:12:08 -05:00
Jan Hubicka
5d4991da5c * ipa-cp.c (determine_versionability): Fix comment typos.
From-SVN: r257878
2018-02-21 20:11:15 +00:00
Jan Hubicka
ea49d40b3e re PR c/84229 (A valid code rejected with -flto)
PR c/84229
	* ipa-cp.c (determine_versionability): Do not version functions caling
	va_arg_pack.

From-SVN: r257877
2018-02-21 19:05:30 +00:00
Jason Merrill
e68757438d PR c++/84454 - ICE with pack expansion in signature.
* error.c (find_typenames_r): Also stop on EXPR_PACK_EXPANSION.

From-SVN: r257875
2018-02-21 09:25:54 -05:00
Martin Liska
a08b5429c1 Add "native" as a valid option value for -march= on aarch64 (PR driver/83193).
2018-02-21  Martin Liska  <mliska@suse.cz>

	PR driver/83193
	* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
	Add "native" as a possible value.
	* config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT):  Define
	the macro when native cpu detection is available.

From-SVN: r257874
2018-02-21 14:05:45 +00:00
Martin Liska
a646fe9c48 Add "native" as a valid option value for -march= on arm (PR driver/83193).
2018-02-21  Martin Liska  <mliska@suse.cz>

	PR driver/83193
	* common/config/arm/arm-common.c (arm_print_hint_for_arch_option):
	Add "native" as a possible value.
	* config/arm/arm.h (HAVE_LOCAL_CPU_DETECT): Define the macro
	when native cpu detection is available.

From-SVN: r257873
2018-02-21 14:05:17 +00:00
Jakub Jelinek
c8602fe612 re PR tree-optimization/84478 (pdftex miscompilation on i386)
PR tree-optimization/84478
	* gimple-fold.h (get_range_strlen): Add a bool argument defaulted to
	false.
	* gimple-fold.c (get_range_strlen): Make minlen const and assume it
	can't be NULL.  Change FUZZY from bool to int, for 1 add PHI/COND_EXPR
	support which is conservatively correct, for 2 only stay conservative
	for maxlen.  Formatting and comment capitalization fixes.  Add STRICT
	argument to the 2 argument get_range_strlen, adjust 6 arg
	get_range_strlen caller and clear minmaxlen[0] and [1] if it returned
	false.
	(get_maxval_strlen): Adjust 6 arg get_range_strlen caller.
	(gimple_fold_builtin_strlen): Pass true as last argument to
	get_range_strlen.

	* gcc.c-torture/execute/pr84478.c: New test.

Co-Authored-By: Martin Sebor <msebor@redhat.com>

From-SVN: r257870
2018-02-21 11:35:46 +01:00
Martin Liska
b22dbd03f0 Add IntegerRange for Wcatch-value= option.
2018-02-21  Martin Liska  <mliska@suse.cz>

	* c.opt (Wcatch-value=): Add IntegerRange.

From-SVN: r257869
2018-02-21 07:57:52 +00:00
GCC Administrator
27bde1a4cc Daily bump.
From-SVN: r257868
2018-02-21 00:16:25 +00:00
Max Filippov
faef260ee8 libgcc: xtensa: fix build with -mtext-section-literals
libgcc/
2018-02-20  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/ieee754-df.S (__adddf3_aux): Add
	.literal_position directive.
	* config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise.

From-SVN: r257862
2018-02-20 20:55:56 +00:00
François Dumont
549b1796f1 aligned_buffer.h [...] (template<> __aligned_buffer): Define as __aligned_membuf alias.
2018-02-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
	(template<> __aligned_buffer): Define as __aligned_membuf alias.

From-SVN: r257861
2018-02-20 20:51:44 +00:00
Martin Sebor
5e27f0d5d5 PR middle-end/84095 - false-positive -Wrestrict warnings for memcpy within array
gcc/ChangeLog:

	PR middle-end/84095
	* gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range): New.
	(builtin_memref::set_base_and_offset): Same.  Handle inner references.
	(builtin_memref::builtin_memref): Factor out parts into
	set_base_and_offset and call it.

gcc/testsuite/ChangeLog:

	PR middle-end/84095
	* c-c++-common/Warray-bounds-3.c: Adjust text of expected warnings.
	* c-c++-common/Wrestrict.c: Same.
	* gcc.dg/Wrestrict-6.c: Same.
	* gcc.dg/Warray-bounds-27.c: New test.
	* gcc.dg/Wrestrict-8.c: New test.
	* gcc.dg/Wrestrict-9.c: New test.
	* gcc.dg/pr84095.c: New test.

From-SVN: r257860
2018-02-20 13:22:01 -07:00
Thomas Koenig
75b81dcdad structure_constructor_14.f90: Adjust STOP number.
2018-02-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/structure_constructor_14.f90: Adjust STOP number.

From-SVN: r257859
2018-02-20 19:53:42 +00:00
Richard Sandiford
2fad0cf503 re PR target/84406 ([MSP430] ICE on valid code in find_widening_optab_handler_and_mode, at optabs-query.c:476)
PR middle-end/84406
	* optabs-query.c (find_widening_optab_handler_and_mode): If from_mode
	is a scalar_int_mode, assert that to_mode is a scalar_int_mode with
	greater precision.  If to_mode is a MODE_PARTIAL_INT, stop the
	search at the associated MODE_INT.

From-SVN: r257858
2018-02-20 12:11:34 -07:00
Jeff Law
e506dc87a0 re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-sprintf.c (format_integer): Query EVRP range analyzer
	for range data rather than using global data.

	* gcc.dg/pr81592.c: New test.
	* gcc.dg/pr82123.c: New test.

From-SVN: r257857
2018-02-20 11:59:22 -07:00
Thomas Koenig
04946c6b90 re PR fortran/48890 ([F95] Wrong length of a character component of named constant derived-type)
2018-02-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48890
	PR fortran/83823
	* primary.c (gfc_convert_to_structure_constructor):
	For a constant string constructor, make sure the length
	is correct.

2018-02-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48890
	PR fortran/83823
	* gfortran.dg/structure_constructor_14.f90: New test.

From-SVN: r257856
2018-02-20 18:57:34 +00:00
Jeff Law
5a54a15e30 re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-sprintf.c (get_int_range): Query EVRP range analyzer for
	range data rather than using global data.

From-SVN: r257855
2018-02-20 11:56:56 -07:00
Jeff Law
bbe2e114ef re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-sprintf.c (get_int_range): Accept vr_values parameter
	pass it to children as needed.
	(struct directive::fmtresult): Similarly.
	(struct directive::set_width): Similarly.
	(struct directive::set_precision): Similarly.
	(format_integer, format_directive, parse_directive): Similarly.
	(format_none): Accept unnamed vr_values parameter.
	(format_percent, format_floating, format_character): Similarly.
	(format_string, format_plain): Similarly.

From-SVN: r257854
2018-02-20 11:56:01 -07:00
Jeff Law
c368450674 re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call): Query
	the EVRP range analyzer for range data rather than using global data.

From-SVN: r257853
2018-02-20 11:53:29 -07:00
Jeff Law
aa67d03c30 re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-sprintf.c: Include alloc-pool.h, vr-values.h and
	gimple-ssa-evrp-analyze.h
	(class sprintf_dom_walker): Add after_dom_children member function.
	Add evrp_range_analyzer member.
	(sprintf_dom_walker::before_dom_children): Call into the EVRP
	range analyzer as needed.
	(sprintf_dom_walker::after_dom_children): New member function.

	* gcc.dg/builtin-unreachable-6.c: Turn off VRP.

From-SVN: r257852
2018-02-20 11:52:07 -07:00
Jeff Law
2db63ab20c re PR middle-end/82123 (spurious -Wformat-overflow warning for converted vars)
PR middle-end/82123
	PR tree-optimization/81592
	PR middle-end/79257
	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::enter): Do nothing
	if not optimizing.
	(evrp_range_analyzer::record_ranges_from_stmt): Likewise.
	(evrp_range_analyzer::pop_to_marker): Likewise.

From-SVN: r257851
2018-02-20 11:49:46 -07:00
Jakub Jelinek
f210b3b372 re PR c++/84488 (Incorrect "set but not used" warning for static_cast<Enum>(double))
PR c++/84488
	* g++.dg/warn/Wunused-var-30.C: New test.

From-SVN: r257850
2018-02-20 18:00:23 +01:00
Carl Love
ecb0dd1890 The removal of file fold-vec-neg-int.p7.c in commit 257812 didn't get commited.
Removing the file.

From-SVN: r257849
2018-02-20 16:48:39 +00:00
Ian Lance Taylor
911cef2e3b runtime: allow preemption in fast syscall return
Let a fast syscall return be a preemption point.  This helps with
    tight loops that make system calls, as in BenchmarkSyscallExcessWork.
    
    Reviewed-on: https://go-review.googlesource.com/94895

From-SVN: r257848
2018-02-20 15:30:31 +00:00
Richard Sandiford
9bd958c5f3 Fix incorrect TARGET_MEM_REF alignment (PR 84419)
expand_call_mem_ref checks for TARGET_MEM_REFs that have compatible
type, but it didn't then go on to install the specific type we need,
which might have different alignment due to:

  if (TYPE_ALIGN (type) != align)
    type = build_aligned_type (type, align);

This was causing masked stores to be incorrectly marked as
aligned on AVX512.

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

gcc/
	PR tree-optimization/84419
	* internal-fn.c (expand_call_mem_ref): Create a TARGET_MEM_REF
	with the required type if its current type is compatible but
	different.

gcc/testsuite/
	PR tree-optimization/84419
	* gcc.dg/vect/pr84419.c: New test.

From-SVN: r257847
2018-02-20 14:44:24 +00:00
Jakub Jelinek
ef7866a3f1 re PR middle-end/82004 (SPEC CPU2017 628.pop2_s miscompare)
PR middle-end/82004
	* match.pd (pow(C,x) -> exp(log(C)*x)): Delay all folding until
	after vectorization.

	* gfortran.dg/pr82004.f90: New test.

From-SVN: r257846
2018-02-20 14:56:00 +01:00
Ian Lance Taylor
731c3fc22d compiler: look through aliases for type compatibility
Aliases are supposed to be identical to the type being aliased, so
    questions about type compatibility need to always ignore aliases,
    except for error messages involving the type name.
    
    The test case for this is https://golang.org/cl/94995.
    
    Fixes golang/go#23912
    
    Reviewed-on: https://go-review.googlesource.com/94996

From-SVN: r257845
2018-02-20 13:52:56 +00:00
Martin Liska
6285e915c4 Fix missing info for -march and -mtune wrong values on aarch64 (PR driver/83193).
2018-02-20  Martin Liska  <mliska@suse.cz>

	PR driver/83193
	* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch): Print
	possible values if we don't have a hint.

From-SVN: r257844
2018-02-20 12:18:07 +00:00
Siddhesh Poyarekar
d3eb902f7f c++: Fix spurious fallthrough warning on break
The C++ frontend generates a break that results in the fallthrough
warning misfiring in nested switch blocks where cases in the inner
switch block return, rendering the break pointless.  The fallthrough
detection in finish_break_stmt does not work either because the
condition is encoded as an IF_STMT and not a COND_EXPR.

Fix this by adding a condition for IF_STMT in the
langhooks.block_may_fallthru for C++.  Fix tested on x86_64.

gcc/cp
        * cp-objcp-common.c (cxx_block_may_fallthru): Add case for
	        IF_STMT.

gcc/testsuite
        * g++.dg/nested-switch.C: New test case.

From-SVN: r257843
2018-02-20 11:11:31 +00:00
Martin Liska
5bbccd9250 Add limit for maximal alignment options (PR c/84310).
2018-02-20  Martin Liska  <mliska@suse.cz>

	PR c/84310
	PR target/79747
	* final.c (shorten_branches): Build align_tab array with one
	more element.
	* opts.c (finish_options): Add alignment option limit check.
	(MAX_CODE_ALIGN): Likewise.
	(MAX_CODE_ALIGN_VALUE): Likewise.
	* doc/invoke.texi: Document maximum allowed option value for
	all -falign-* options.
2018-02-20  Martin Liska  <mliska@suse.cz>

	PR c/84310
	PR target/79747
	* gcc.target/i386/pr84310.c: New test.
	* gcc.target/i386/pr84310-2.c: Likewise.

From-SVN: r257842
2018-02-20 10:04:13 +00:00
Paolo Carlini
0b2513e292 re PR c++/84446 (ICE with broken lambda)
/cp
2018-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84446
	* parser.c (cp_parser_init_declarator): Don't call start_lambda_scope
	on error_mark_node.

/testsuite
2018-02-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84446
	* g++.dg/cpp0x/lambda/lambda-ice27.C: New.

From-SVN: r257841
2018-02-20 09:02:12 +00:00
Jakub Jelinek
393d9df7b3 re PR c++/84445 (ICE with __builtin_launder and virtual function)
PR c++/84445
	* class.c (fixed_type_or_null) <case CALL_EXPR>: Only test
	TREE_HAS_CONSTRUCTOR if instance is not an internal function call.

	* g++.dg/cpp1z/launder7.C: New test.

From-SVN: r257840
2018-02-20 09:22:31 +01:00
Jakub Jelinek
7f5753d715 re PR c++/84449 (ICE with constexpr and deleted destructor)
PR c++/84449
	* tree.c (bot_manip): If build_cplus_new or break_out_target_exprs
	returns error_mark_node, return it immediately.
	(break_out_target_exprs): If cp_walk_tree with bot_manip returns
	error_mark_node, return error_mark_node.

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

From-SVN: r257839
2018-02-20 09:21:36 +01:00
Jakub Jelinek
dda0944cd5 re PR c++/84455 (ICE in build_call_a at gcc/cp/call.c:389 during error reporting)
PR c++/84455
	* pt.c (tsubst_lambda_expr): If not nested, increment temporarily
	function_depth to avoid GC during finish_lambda_function.

	* g++.dg/cpp0x/lambda/lambda-ice26.C: New test.

From-SVN: r257838
2018-02-20 09:20:37 +01:00
Jason Merrill
329a89d34c PR c++/84429 - ICE capturing VLA.
* lambda.c (build_capture_proxy): Handle reference refs.

From-SVN: r257836
2018-02-19 22:39:37 -05:00
GCC Administrator
c74c263c3b Daily bump.
From-SVN: r257835
2018-02-20 00:16:13 +00:00
Paul Thomas
5c60dbc14b re PR fortran/83344 (Use of uninitialized memory with ASSOCIATE and strings)
2018-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83344
	PR fortran/83975
	* resolve.c (resolve_assoc_var): Rearrange the logic for the
	determination of the character length of associate names. If
	the associate name is missing a length expression or the length
	expression is not a constant and the target is not a variable,
	make the associate name allocatable and deferred length.
	* trans-decl.c (gfc_get_symbol_decl): Null the character length
	backend_decl for deferred length associate names that are not
	variables. Set 'length' to gfc_index_zero_node for character
	associate names, whose character length is a PARM_DECL.

2018-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83344
	PR fortran/83975
	* gfortran.dg/associate_22.f90: Enable commented out test.
	* gfortran.dg/associate_36.f90: New test.

From-SVN: r257827
2018-02-19 22:09:13 +00:00