Commit Graph

160885 Commits

Author SHA1 Message Date
Alexander Monakov
a87a01ea37 sched-rgn: run add_branch_dependencies for sel-sched (PR 84301)
PR target/84301
	* sched-rgn.c (add_branch_dependences): Move sel_sched_p check here...
	(compute_block_dependences): ... from here.

testsuite/
	* gcc.target/i386/pr84301.c: New test.

From-SVN: r259321
2018-04-11 17:32:32 +03:00
Jakub Jelinek
52cdcfb7b4 re PR tree-optimization/85331 (during GIMPLE pass, internal compiler error: Segmentation fault (-O1 and above))
PR tree-optimization/85331
	* vec-perm-indices.h (vec_perm_indices::clamp): Change input type
	from int to HOST_WIDE_INT.

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

From-SVN: r259320
2018-04-11 15:35:13 +02:00
Martin Jambor
7b668576fc Improve IPA-CP handling of self-recursive calls
2018-04-11  Martin Jambor  <mjambor@suse.cz>

	PR ipa/84149
	* ipa-cp.c (propagate_vals_across_pass_through): Expand comment.
	(cgraph_edge_brings_value_p): New parameter dest_val, check if it is
	not the same as the source val.
	(cgraph_edge_brings_value_p): New parameter.
	(gather_edges_for_value): Pass destination value to
	cgraph_edge_brings_value_p.
	(perhaps_add_new_callers): Likewise.
	(get_info_about_necessary_edges): Likewise and exclude values brought
	only by self-recursive edges.
	(create_specialized_node): Redirect only clones of self-calling edges.
	(+self_recursive_pass_through_p): New function.
	(find_more_scalar_values_for_callers_subset): Use it.
	(find_aggregate_values_for_callers_subset): Likewise.
	(known_aggs_to_agg_replacement_list): Removed.
	(decide_whether_version_node): Re-calculate known constants for all
	remaining context clones.

From-SVN: r259319
2018-04-11 15:30:53 +02:00
Marek Polacek
fe0604d349 re PR c++/85032 (Wrong non-constant condition for static assertion)
PR c++/85032
	* constexpr.c (potential_constant_expression_1): Consider conversions
	from classes to literal types potentially constant.

	* g++.dg/cpp0x/pr51225.C: Adjust error message.
	* g++.dg/cpp1z/constexpr-if21.C: New test.

From-SVN: r259318
2018-04-11 13:10:16 +00:00
Richard Biener
3c7b865120 re PR lto/85339 (With early LTO debug the early DWARF misses line-info)
2018-04-11  Richard Biener  <rguenther@suse.de>

	PR lto/85339
	* dwarf2out.c (dwarf2out_finish): Remove DW_AT_stmt_list attribute
	from early DWARF output.
	(dwarf2out_early_finish): Output line info unconditionally into
	early DWARF and add reference to it.

From-SVN: r259317
2018-04-11 13:05:35 +00:00
Jakub Jelinek
0c0b5b658c re PR target/85281 (Assembler messages: Error: operand size mismatch for `vpbroadcastb' with -mavx512bw -masm=intel)
PR target/85281
	* config/i386/sse.md (iptr): Add V16SFmode and V8DFmode cases.
	(<avx512>_vec_dup<mode><mask_name>): Use a single pattern for modes
	other than V2DFmode using iptr mode attribute.
	(<avx512>_vec_dup<mode><mask_name>): Use iptr mode attribute.

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

From-SVN: r259316
2018-04-11 13:37:01 +02:00
Alexander Monakov
b85bbe3993 fix PR 84659 references in ChangeLog files
From-SVN: r259314
2018-04-11 13:48:42 +03:00
Alexander Monakov
50f78bded4 sel-sched: run cleanup_cfg just before loop_optimizer_init (PR 84659)
PR rtl-optimization/85659
	* sel-sched-ir.c (sel_init_pipelining): Invoke cleanup_cfg.

testsuite/
	* gcc.dg/pr84659.c: New test.

From-SVN: r259313
2018-04-11 13:40:07 +03:00
Martin Liska
23d87577a3 Clean up attribute value comparison in lto-symtab.c.
2018-04-11  Martin Liska  <mliska@suse.cz>

	* lto-symtab.c (lto_symtab_merge_p): Use attribute_value_equal
	function.

From-SVN: r259312
2018-04-11 10:33:46 +00:00
Jakub Jelinek
5805b08924 re PR rtl-optimization/85302 (ICE in size_of_loc_descr, at dwarf2out.c:1771 on i686-linux-gnu)
PR debug/85302
	* dwarf2out.c (skip_loc_list_entry): Don't call size_of_locs if
	SIZEP is NULL.
	(output_loc_list): Pass address of a dummy size variable even in the
	locview handling loop.
	(index_location_lists): Add comment on why skip_loc_list_entry can't
	call size_of_locs.

	* g++.dg/debug/dwarf2/pr85302.C: New test.

From-SVN: r259311
2018-04-11 12:22:36 +02:00
Thomas Preud'homme
60d1915f9a [ARM] Fix PR85261: ICE with FPSCR setter builtin
Instruction pattern for setting the FPSCR expects the input value to be
in a register. However, __builtin_arm_set_fpscr expander does not ensure
that this is the case and as a result GCC ICEs when the builtin is
called with a constant literal.

This commit fixes the builtin to force the input value into a register.
It also remove the unneeded volatile in the existing fpscr test and
fixes the function prototype.

2018-04-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/85261
    * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
    into register.

    gcc/testsuite/
    PR target/85261
    * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
    into register.

From-SVN: r259310
2018-04-11 10:07:25 +00:00
Jonathan Wakely
52556a878d Update libstdc++ manual in preparation for GCC 8 release
* doc/xml/manual/abi.xml: Document header locations in recent
	releases.
	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
	* doc/xml/manual/spine.xml: Update copyright years.
	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
	undefined behaviour.
	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
	* doc/html/*: Regenerate.

From-SVN: r259308
2018-04-11 01:21:35 +01:00
GCC Administrator
f70bbfb3c0 Daily bump.
From-SVN: r259307
2018-04-11 00:16:14 +00:00
Paolo Carlini
310e77fe20 re PR c++/70808 (Spurious -Wzero-as-null-pointer-constant for nullptr_t)
/cp
2018-04-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70808
	* init.c (build_zero_init_1): Handle NULLPTR_TYPE_P being true of
	the type like TYPE_PTR_OR_PTRMEM_P.

/testsuite
2018-04-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70808
	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New.

From-SVN: r259303
2018-04-10 22:34:06 +00:00
Aaron Sawdey
6f47ccff0e re PR target/85321 (Missing documentation and option misc for ppc64le)
2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>

	PR target/85321
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
	-mblock-compare-inline-limit, -mblock-compare-inline-loop-limit,
	and -mstring-compare-inline-limit.

From-SVN: r259302
2018-04-10 17:05:41 -05:00
Aaron Sawdey
a2919888d5 MAINTAINERS: Update my email address.
2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>

	* MAINTAINERS: Update my email address.

From-SVN: r259301
2018-04-10 16:57:12 -05:00
Segher Boessenkool
bbb4c5e188 forgot the PR marker in the changelog
From-SVN: r259300
2018-04-10 23:38:31 +02:00
Segher Boessenkool
7321063d61 rs6000: Fix stack clash for big residuals (PR85287)
The stack clash protection code had a logic error in how it decided
whether to put the final update size in a register, or to emit it
directly in an insn.  This fixes it.  It also tidies some surrounding
code.


	PR target/85287
	* gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size
	for stack clash protection in a register whenever we need it to be in
	a register.

From-SVN: r259299
2018-04-10 23:37:34 +02:00
Segher Boessenkool
0359465c70 rs6000: Enable -fasynchronous-unwind-tables by default
To find out where on-entry register values live at any point in a
program, GDB currently tries to parse to parse the executable code.
This does not work very well, for example it gets confused if some
accesses to the stack use the frame pointer (r31) and some use the
stack pointer (r1).  A symptom is that backtraces can be cut short.

This patch enables -fasynchronous-unwind-tables by default for rs6000,
which causes us to emit DWARF unwind tables for all functions, solving
these problems.

This not do anything for sub-targets without DWARF, and only for ELF
sub-targets for now.

It increases executable size, but only modestly, and does not change
memory use, only the disk image.


	* common/config/rs6000/rs6000-common.c (rs6000_option_init_struct):
	Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF.

gcc/testsuite/
	* gcc.target/powerpc/dfmode_off.c: Add -fno-asynchronous-unwind-tables.
	* gcc.target/powerpc/dimode_off.c: Ditto.
	* gcc.target/powerpc/tfmode_off.c: Ditto.
	* gcc.target/powerpc/timode_off.c: Ditto.

From-SVN: r259298
2018-04-10 23:09:30 +02:00
Segher Boessenkool
ccdfb97546 rs6000: Improve --help=target (PR85321)
This updates the help text for some options to mention the allowed
values for -mXX=XX.


	PR target/85321
	* config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in
	the help text.
	(mlong-double-): Ditto.
	* config/rs6000/sysv4.opt (msdata=): Ditto.
	(mtls-size=): Ditto.

From-SVN: r259296
2018-04-10 20:54:08 +02:00
Kelvin Nilsen
d4f18ec652 rs6000-c.c (altivec_overloaded_builtins): Remove erroneous entries for "vector int vec_ldl (int...
gcc/ChangeLog:

2018-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
	erroneous entries for
	"vector int vec_ldl (int, long int *)", and
	"vector unsigned int vec_ldl (int, unsigned long int *)".
	Add comments and entries for
	"vector bool char vec_ldl (int, bool char *)",
	"vector bool short vec_ldl (int, bool short *)",
	"vector bool int vec_ldl (int, bool int *)",
	"vector bool long long vec_ldl (int, bool long long *)",
	"vector pixel vec_ldl (int, pixel *)",
	"vector long long vec_ldl (int, long long *)",
	"vector unsigned long long vec_ldl (int, unsigned long long *)".
	* config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new
	type tree bool_long_long_type_node and correct definition of
	bool_V2DI_type_node to make reference to this new type tree.
	(rs6000_mangle_type): Replace erroneous reference to
	bool_long_type_node with bool_long_long_type_node.
	* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add
	comments to emphasize sign distinctions for char and int types and
	replace RS6000_BTI_bool_long constant with
	RS6000_BTI_bool_long_long constant.  Also add comment to restrict
	use of RS6000_BTI_pixel.
	(bool_long_type_node): Remove this macro definition.
	(bool_long_long_type_node): New macro definition

gcc/testsuite/ChangeLog:

2018-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/vec-ldl-1.c: New test.
	* gcc.dg/vmx/ops-long-1.c: Correct test programs to reflect
	corrections to ABI implementation.

From-SVN: r259294
2018-04-10 17:59:52 +00:00
Jason Merrill
45d144619c PR debug/65821 - wrong location for main().
* call.c (clear_location_r, convert_default_arg): Revert.
	* tree.c (break_out_target_exprs): Add clear_location parm.
	(struct bot_data): New.
	(bot_manip): Clear location if requested.
	* init.c (get_nsdmi): Pass clear_location.

From-SVN: r259291
2018-04-10 13:19:09 -04:00
Thomas Schwinge
f6d17c4d02 [PR target/85056] Address -Wmaybe-uninitialized diagnostic
gcc/testsuite/
	* gcc.target/nvptx/pr85056.c (main): Initialize "sum".

From-SVN: r259288
2018-04-10 18:55:02 +02:00
Martin Sebor
df18c24ad6 cppopts.texi: Use "side effect" instead of side-effect.
gcc/ChangeLog:

	* doc/cppopts.texi: Use "side effect" instead of side-effect.
	* doc/extend.texi: Same.
	* doc/generic.texi: Same.
	* doc/implement-c.texi: Same.
	* doc/invoke.texi: Same.
	* doc/md.texi: Same.
	* doc/rtl.texi: Same.
	* doc/tree-ssa.texi: Same.

From-SVN: r259287
2018-04-10 09:49:59 -06:00
Jonathan Wakely
25949ee332 Update links to archived copy of SGI STL docs
* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
	* doc/xml/manual/backwards_compatibility.xml: Likewise.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/debug_mode.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/utilities.xml: Likewise.

From-SVN: r259286
2018-04-10 16:49:26 +01:00
Jakub Jelinek
e0cf12bab5 re PR rtl-optimization/85300 (ICE in exact_int_to_float_conversion_p, at simplify-rtx.c:895)
PR rtl-optimization/85300
	* combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also
	into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if
	simplify_unary_operation fails.

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

From-SVN: r259285
2018-04-10 17:31:57 +02:00
Martin Liska
efbf619bab gdbhooks: Add new pretty-printers for: varpool_node, symtab_node, cgraph_edge and ipa_ref.
2018-04-10  Martin Liska  <mliska@suse.cz>

	* gdbhooks.py: Add pretty-printers for varpool_node, symtab_node,
	cgraph_edge and ipa_ref.

From-SVN: r259283
2018-04-10 14:43:09 +00:00
David Malcolm
672c767bf6 Show pertinent parameter (PR c++/85110)
gcc/cp/ChangeLog:
	PR c++/85110
	* call.c (get_fndecl_argument_location): Make non-static.
	* cp-tree.h (get_fndecl_argument_location): New decl.
	* typeck.c (convert_for_assignment): When complaining due to
	conversions for an argument, show the location of the parameter
	within the decl.

gcc/testsuite/ChangeLog:
	PR c++/85110
	* g++.dg/cpp1z/direct-enum-init1.C: Update for the cases
	where we now show the pertinent parameter.
	* g++.dg/diagnostic/aka2.C: Likewise.
	* g++.dg/diagnostic/param-type-mismatch-2.C: Likewise.

From-SVN: r259282
2018-04-10 14:37:09 +00:00
Jonathan Wakely
5f30251862 PR libstdc++/85222 allow catching iostream errors as gcc4-compatible ios::failure
Define a new exception type derived from std::ios::failure[abi:cxx11]
which also aggregates an object of the gcc4-compatible ios::failure
type. Make __throw_ios_failure throw this new type for iostream errors
that raise exceptions. Provide custom type info for the new type so that
it can be caught by handlers for the gcc4-compatible ios::failure type
as well as handlers for ios::failure[abi:cxx11] and its bases.

	PR libstdc++/85222
	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
	New types.
	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
	* src/c++98/ios_failure.cc (__construct_ios_failure)
	(__destroy_ios_failure, is_ios_failure_handler): New functions.
	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
	handler types, to always catch std::ios_base::failure.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
	exceptions_failbit.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
	exceptions_failbit.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

From-SVN: r259281
2018-04-10 15:36:09 +01:00
Jakub Jelinek
7e6b73b1c0 PR c++/85312 - P0962 cleanup
PR c++/85312 - P0962 cleanup
	* parser.c (cp_parser_perform_range_for_lookup): Remove unreachable
	diagnostics.

From-SVN: r259279
2018-04-10 16:28:54 +02:00
Jason Merrill
6e2446b6df PR debug/65821 - wrong location for main().
* call.c (clear_location_r): New.
	(convert_default_arg): Use it.
	* tree.c (bot_manip): Remove builtin_LINE/FILE handling.

From-SVN: r259278
2018-04-10 10:24:00 -04:00
Jason Merrill
05c602a135 PR c++/85285 - ICE with flexible array after substitution.
* pt.c (instantiate_class_template_1): Check for flexible array in
	union.

From-SVN: r259277
2018-04-10 10:23:54 -04:00
Jason Merrill
4b51265982 * parser.c (cp_parser_check_template_parameters): Improve comment.
From-SVN: r259276
2018-04-10 10:23:49 -04:00
Jakub Jelinek
24f80aa404 re PR fortran/85313 (gcc/fortran/openmp.c: 2 * confused logic ?)
PR fortran/85313
	* openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
	(resolve_oacc_nested_loops): Likewise.  Formatting fix.

	* gfortran.dg/gomp/pr85313.f90: New test.

From-SVN: r259275
2018-04-10 16:04:37 +02:00
Martin Liska
c16833dc2c Fix obvious error in handling of error attribute (PR lto/85248).
2018-04-10  Martin Liska  <mliska@suse.cz>

	PR lto/85248
	* lto-symtab.c (lto_symtab_merge_p): Do not check for
	TREE_VALUES of error attributes.

From-SVN: r259274
2018-04-10 13:52:23 +00:00
Paolo Carlini
b30ae8037d re PR c++/24314 (Extra "template<>" in partial specialization is compiled successfuly.)
2018-04-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/24314
	* g++.dg/parse/template29.C: New.

From-SVN: r259273
2018-04-10 13:40:35 +00:00
Bin Cheng
2377345dce re PR testsuite/85190 (gcc.dg/vect/pr81196.c FAILs)
gcc/testsuite
	PR testsuite/85190
	* gcc.dg/vect/pr81196.c: Adjust pointer for aligned access.

From-SVN: r259272
2018-04-10 13:11:40 +00:00
Jakub Jelinek
56f1cb3fb9 re PR target/85177 (wrong code with -O -fno-tree-ccp -fno-tree-sra -mavx512f)
PR target/85177
	PR target/85255
	* config/i386/sse.md
	(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Fix
	computation of the VEC_MERGE selector from mask.
	(<extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>):
	Fix decoding of the VEC_MERGE selector into mask.

	* gcc.target/i386/avx512f-pr85177.c: New test.
	* gcc.target/i386/avx512f-pr85255.c: New test.

From-SVN: r259269
2018-04-10 14:37:36 +02:00
Richard Sandiford
eb38d07163 Add missing cases to vect_get_smallest_scalar_type (PR 85286)
In this PR we used WIDEN_SUM_EXPR to vectorise:

  short i, y;
  int sum;
  [...]
  for (i = x; i > 0; i--)
    sum += y;

with 4 ints and 8 shorts per vector.  The problem was that we set
the VF based only on the ints, then calculated the number of vector
copies based on the shorts, giving 4/8.  Previously that led to
ncopies==0, but after r249897 we pick it up as an ICE.

In this particular case we could vectorise the reduction by setting
ncopies based on the output type rather than the input type, but it
doesn't seem worth adding a special "optimisation" for such a
pathological case.  I think it's really an instance of the more general
problem that we can't vectorise using combinations of (say) 64-bit and
128-bit vectors on targets that support both.

2018-04-10  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR tree-optimization/85286
	* tree-vect-data-refs.c (vect_get_smallest_scalar_type):

gcc/testsuite/
	PR tree-optimization/85286
	* gcc.dg/vect/pr85286.c: New test.

From-SVN: r259268
2018-04-10 10:28:33 +00:00
Richard Sandiford
02149a7890 Set insn_last_address in final_1
final_1 already sets insn_current_address for each instruction, making
it possible to use some of the address functions in final.c during
assembly generation.  This patch also sets insn_last_address, since
as the comment says, we can treat final as a shorten_branches pass that
does nothing.  It's then possible to use insn_current_reference_address
during final as well.

This is needed for the aarch64.md definitions of far_branch to work:

   (set (attr "far_branch")
	(if_then_else (and (ge (minus (match_dup 2) (pc)) (const_int -1048576))
			   (lt (minus (match_dup 2) (pc)) (const_int 1048572)))
		      (const_int 0)
		      (const_int 1)))]

This value (tested only during final) uses the difference between
the INSN_ADDRESSES of operand 2 and insn_current_reference_address
to calculate a conservatively-correct estimate of the branch distance.
It takes into account the worst-case gap due to alignment, whereas
a direct comparison of INSN_ADDRESSES would give an unreliable,
optimistic result.

2018-04-10  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* final.c (final_1): Set insn_last_address as well as
	insn_current_address.

From-SVN: r259267
2018-04-10 10:28:05 +00:00
Kyrylo Tkachov
5c35bc3e16 [explow] PR target/85173: validize memory before passing it on to target probe_stack
In this PR the expansion code emits an invalid memory address for the stack probe, which the backend fails to recognise.
The address is created explicitly in anti_adjust_stack_and_probe_stack_clash in explow.c and passed down to gen_probe_stack
without any validation in emit_stack_probe.

This patch fixes the ICE by calling validize_mem on the memory location before passing it down to the target.
Jakub pointed out that we also want to create valid addresses for the probe_stack_address case, so this patch
creates an expand operand and legitimizes it before passing it down to the probe_stack_address expander.

This patch passes bootstrap and testing on arm-none-linux-gnueabihf and aarch64-none-linux-gnu
and ppc64le-redhat-linux on gcc112 in the compile farm.

	PR target/85173
	* explow.c (emit_stack_probe): Call validize_mem on memory location
	before passing it to gen_probe_stack.  Create address operand and
	legitimize it for the probe_stack_address case.

	* gcc.target/arm/pr85173.c: New test.

From-SVN: r259266
2018-04-10 09:58:57 +00:00
Martin Liska
8d96e546b7 Be more carefull about DECL merging in LTO (PR lto/85248).
2018-04-10  Richard Biener  <rguenther@suse.de>
	    Martin Liska  <mliska@suse.cz>

	PR lto/85248
	* lto-symtab.c (lto_symtab_merge_p): Handle noreturn attribute.
2018-04-10  Jakub Jelinek  <jakub@redhat.com>

	PR lto/85248
	* gcc.dg/lto/pr85248_0.c: New test.
	* gcc.dg/lto/pr85248_1.c: New test.

From-SVN: r259265
2018-04-10 07:24:59 +00:00
Jan Hubicka
c1b8f25d80 re PR lto/85078 (LTO ICE: tree check: expected tree that contains 'decl minimal' structure, have 'identifier_node' in decl_mangling_context, at cp/mangle.c:878)
PR lto/85078
	* ipa-devirt.c (rebuild_type_inheritance-hash): New.
	* ipa-utils.h (rebuild_type_inheritance-hash): Declare.
	* tree.c (free_lang_data_in_type): Fix handling of binfos;
	walk basetypes.
	(free_lang_data): Rebuild type inheritance graph.
	* g++.dg/torture/pr85078.C: New.

From-SVN: r259264
2018-04-10 06:33:38 +00:00
GCC Administrator
f518da46fb Daily bump.
From-SVN: r259263
2018-04-10 00:16:21 +00:00
Paolo Carlini
52912c9160 re PR c++/85227 (ICE with structured binding of a forward declared variable)
/cp
2018-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85227
	* decl.c (cp_finish_decomp): In a template, if the type is incomplete
	issue a pedwarn and defer trying to do bindings.

/testsuite
2018-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85227
	* g++.dg/cpp1z/decomp44.C: New.
	* g++.dg/cpp1z/decomp45.C: Likewise.

From-SVN: r259259
2018-04-09 22:33:35 +00:00
Thomas Koenig
f0caea4872 re PR fortran/83064 (DO CONCURRENT and auto-parallelization)
2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83064
	* trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
	parallell processing of DO CONCURRENT -ftree-parallelize-loops
	is set.

2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83064
	* gfortran.dg/do_concurrent_5.f90: New test.
	* gfortran.dg/vect/vect-do-concurrent-1.f90: Adjust dg-bogus
	message.

From-SVN: r259258
2018-04-09 21:52:05 +00:00
Jason Merrill
06756ed901 PR c++/85279 - dump_expr doesn't understand decltype.
* error.c (dump_expr): Handle DECLTYPE_TYPE.

From-SVN: r259257
2018-04-09 17:16:05 -04:00
Thomas Koenig
06e8d82eba re PR fortran/51260 (PARAMETER array with constructor initializer: Compile-time simplify single element access)
2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51260
	* resolve.c (resolve_variable): Simplify cases where access to a
	parameter array results in a single constant.

2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51260
	* gfortran.dg/parameter_array_element_3.f90: New test.

From-SVN: r259256
2018-04-09 21:05:13 +00:00
Jason Merrill
17434237d3 PR c++/85262 - ICE with redundant qualification on constructor.
* call.c (build_new_method_call_1): Move make_args_non_dependent
	after A::A() handling.

From-SVN: r259255
2018-04-09 16:53:31 -04:00
Jason Merrill
e9f59cfa4a PR c++/85277 - ICE with invalid offsetof.
* semantics.c (finish_offsetof): Avoid passing non-DECL to %qD.
	Adjust -Winvalid-offsetof diagnostic to say conditionally supported.

From-SVN: r259254
2018-04-09 16:40:06 -04:00