Commit Graph

159877 Commits

Author SHA1 Message Date
Jason Merrill
4912defbcc PR c++/84368 - wrong error with local variable in variadic lambda.
* pt.c (tsubst_pack_expansion): Fix handling of non-packs in
	local_specializations.

From-SVN: r257699
2018-02-15 13:15:32 -05:00
Paolo Carlini
4779063140 re PR c++/84330 ([concepts] ICE with broken constraint)
/cp
2018-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84330
	* constraint.cc (tsubst_constraint_info): Handle an error_mark_node
	as first argument.

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

	PR c++/84330
	* g++.dg/concepts/pr84330.C: New.

From-SVN: r257698
2018-02-15 18:05:40 +00:00
Jason Merrill
60887f8c2d PR preprocessor/83063 - __VA_OPT__ and ##
PR preprocessor/83708
	* macro.c (vaopt_state): Reorder m_last_was_paste before m_state.
	(vaopt_state::vaopt_state): Adjust.
	(vaopt_state::update_flags): Add BEGIN and END.
	(vaopt_state::update): Return them.
	(copy_paste_flag): Factor out of replace_args.
	(last_token_is): New.
	(replace_args): Handle BEGIN and END.  Avoid padding there.
	(tokens_buff_last_token_ptr): Return NULL if no tokens.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r257696
2018-02-15 12:43:01 -05:00
Jason Merrill
5cedffbc32 PR c++/84314 - ICE with templates and fastcall attribute.
* attribs.c (build_type_attribute_qual_variant): Don't clobber
	TYPE_CANONICAL on an existing type.

From-SVN: r257695
2018-02-15 11:54:12 -05:00
Aaron Sawdey
e72f7e3e76 Fix my changelog entry for PR target/83758
From-SVN: r257690
2018-02-15 08:26:46 -06:00
Tom de Vries
74e8090cbb [testsuite] Require et alloca for Wstringop-overflow-3.c
2018-02-15  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/Wstringop-overflow-3.c: Require effective target alloca.

From-SVN: r257687
2018-02-15 13:05:57 +00:00
Tom de Vries
fdb03c2017 [testsuite] Require et indirect_jumps for pr84136.c
2018-02-15  Tom de Vries  <tom@codesourcery.com>

	* gcc.c-torture/compile/pr84136.c: Require effective target
	indirect_jumps.

From-SVN: r257686
2018-02-15 13:05:37 +00:00
Jakub Jelinek
bcc23586c5 re PR other/82368 (with r253275 several new test cases in libbacktrace fail)
PR other/82368
	* elf.c (SHT_PROGBITS): Undefine and define.

From-SVN: r257685
2018-02-15 12:32:27 +01:00
Jakub Jelinek
44e60df333 re PR tree-optimization/84383 (ICE in maybe_diag_stxncpy_trunc)
PR tree-optimization/84383
	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Don't look at
	dstoff nor call operand_equal_p if dstbase is NULL.

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

From-SVN: r257684
2018-02-15 12:18:47 +01:00
Jakub Jelinek
3eb1eecf29 re PR tree-optimization/84334 (Stack overflow with -Ofast -frounding-math)
PR tree-optimization/84334
	* match.pd ((A +- CST1) +- CST2 -> A + CST3): If A is
	also a CONSTANT_CLASS_P, punt.

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

From-SVN: r257683
2018-02-15 12:17:05 +01:00
Jason Merrill
8fa4bd81cb * libcpp/macro.c: Fix typos.
From-SVN: r257682
2018-02-15 00:58:35 -05:00
Jim Wilson
1078932978 RISC-V: Change sp subtracts so prologue stores can compress.
gcc/
	* config/riscv/riscv.c (riscv_first_stack_step): Move locals after
	first SMALL_OPERAND check.  New local min_second_step.  Move assert
	to where locals are set.  Add TARGET_RVC support.
	* config/riscv/riscv.h (C_SxSP_BITS, SWSP_REACH, SDSP_REACH): New.

From-SVN: r257681
2018-02-14 17:14:23 -08:00
Indu Bhagat
1622ba9cef invoke.texi: Correct -Wformat-overflow code sample.
gcc/ChangeLog:

2018-02-14  Indu Bhagat  <indu.bhagat@oracle.com>

	* doc/invoke.texi: Correct -Wformat-overflow code sample.

From-SVN: r257680
2018-02-14 17:47:22 -07:00
GCC Administrator
b7a10085c7 Daily bump.
From-SVN: r257679
2018-02-15 00:16:25 +00:00
Martin Sebor
816fad6ed4 PR tree-optimization/83698 - bogus offset in -Wrestrict messages for strcat of unknown strings
gcc/ChangeLog:

	PR tree-optimization/83698
	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): For
	arrays constrain the offset range to their bounds.
	(builtin_access::strcat_overlap): Adjust the bounds of overlap offset.
	(builtin_access::overlap): Avoid setting the size of overlap if it's
	already been set.
	(maybe_diag_overlap): Also consider arrays when deciding what values
	of offsets to include in diagnostics.

gcc/testsuite/ChangeLog:

	PR tree-optimization/83698
	* gcc.dg/Wrestrict-7.c: New test.
	* c-c++-common/Wrestrict.c: Adjust expected values for strcat.
	* gcc.target/i386/chkp-stropt-17.c: Same.

From-SVN: r257676
2018-02-14 16:22:15 -07:00
Carl Love
7c102986d6 gcc/testsuite/ChangeLog:
2018-02-14  Carl Love  <cel@us.ibm.com>
        * gcc.target/powerpc/builtins-4-int128-runnable.c
	(dg-require-effective-target): Change vsx_hw to p8vector_hw.
	(dg-options): Change -maltivec -mvsx to -mpower8-vector.

From-SVN: r257675
2018-02-14 22:12:04 +00:00
Martin Sebor
fba303ed8c PR middle-end/84108 - incorrect -Wattributes warning for packed/aligned conflict on struct members
gcc/ChangeLog:

	PR c/84108
	* attribs.c (diag_attr_exclusions): Consider the exclusion(s)
	that correspond to the kind of a declaration.

gcc/testsuite/ChangeLog:

	PR c/84108
	* gcc.dg/Wattributes-8.c: New test.

From-SVN: r257674
2018-02-14 15:02:43 -07:00
Janus Weil
ee3bb1b7a2 re PR fortran/84385 ([F03] Reject invalid SELECT TYPE selector (allocate_with_source_22.f03))
2018-02-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84385
	* match.c (gfc_match_select_type): Fix check for selector in
	SELECT TYPE statement.


2018-02-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84385
	* gfortran.dg/allocate_with_source_22.f03: Fix invalid test case.
	* gfortran.dg/allocate_with_source_23.f90: Ditto.
	* gfortran.dg/select_type_1.f03: Extend test case.

From-SVN: r257673
2018-02-14 22:46:59 +01:00
John David Anglin
6ae6798943 re PR target/83984 (ld: The value 0x8000000000005 does not fit when applying the relocation DIR21L)
PR target/83984
	* config/pa/pa.md: Load address of PIC label using the linkage table
	if the label is nonlocal.

From-SVN: r257672
2018-02-14 21:13:26 +00:00
Uros Bizjak
4ce5745cab pr57193.c (dg-do): Remove target selector.
* gcc.target/i386/pr57193.c (dg-do): Remove target selector.
	(dg-options): Use -O2 -msse2 -mno-sse3.

From-SVN: r257669
2018-02-14 20:24:04 +01:00
Kelvin Nilsen
49cc0354ba rs6000.c (rs6000_option_override_internal): Issue warning message if user requests -maltivec=be.
gcc/ChangeLog:

2018-02-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Issue
	warning message if user requests -maltivec=be.
	* doc/invoke.texi: Document deprecation of -maltivec=be.

gcc/testsuite/ChangeLog:

2018-02-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.dg/vmx/extract-be-order.c: Disable -maltivec=be warning so
	this test case still works ok.
	* gcc.dg/vmx/extract-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/insert-be-order.c: Likewise.
	* gcc.dg/vmx/insert-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/ld-be-order.c: Likewise.
	* gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/lde-be-order.c: Likewise.
	* gcc.dg/vmx/ldl-be-order.c: Likewise.
	* gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/merge-be-order.c: Likewise.
	* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/mult-even-odd-be-order.c: Likewise.
	* gcc.dg/vmx/pack-be-order.c: Likewise.
	* gcc.dg/vmx/perm-be-order.c: Likewise.
	* gcc.dg/vmx/splat-be-order.c: Likewise.
	* gcc.dg/vmx/splat-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/st-be-order.c: Likewise.
	* gcc.dg/vmx/st-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/ste-be-order.c: Likewise.
	* gcc.dg/vmx/stl-be-order.c: Likewise.
	* gcc.dg/vmx/stl-vsx-be-order.c: Likewise.
	* gcc.dg/vmx/sum2s-be-order.c: Likewise.
	* gcc.dg/vmx/unpack-be-order.c: Likewise.
	* gcc.dg/vmx/vsums-be-order.c: Likewise.
	* gcc.target/powerpc/vec-setup-be-long.c: Likewise.

From-SVN: r257668
2018-02-14 19:20:30 +00:00
Paolo Carlini
2482a4ec1e re PR c++/84350 (ICE with new and auto)
/cp
2018-02-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84350
	* pt.c (do_auto_deduction): Don't check the TREE_TYPE of a null
	init, early return.

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

	PR c++/84350
	* g++.dg/cpp0x/auto49.C: New.

From-SVN: r257666
2018-02-14 17:59:29 +00:00
Nathan Sidwell
486c529987 [C++ PATCH]: instantiation via vtable marking
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00850.html
	gcc/cp/
	* decl2.c (mark_vtable_entries): Set input_location to decl's.
	(c_parse_final_cleanups): Restore input_location after emitting
	vtables.

	gcc/testsuite/
	* g++.dg/template/instantiate5.C: Adjust required-from loc.

From-SVN: r257665
2018-02-14 16:31:26 +00:00
Will Schmidt
34c58a43ec altivec-consts.c: Update compile stanzas.
[testsuite]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/altivec-consts.c:  Update compile stanzas.
	* gcc.target/powerpc/le-altivec-consts.c:  Same.

From-SVN: r257664
2018-02-14 15:47:54 +00:00
Will Schmidt
911b141ba1 re PR target/84220 (rs6000 builtin __builtin_vec_sld() ICEs on invalid 3rd argument)
[gcc]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

	PR target/84220
	* config/rs6000/rs6000-c.c: Update definitions for
	ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SLDW,
	ALTIVEC_BUILTIN_VEC_XXPERMDI builtins.

[testsuite]

2018-02-14  Will Schmidt  <will_schmidt@vnet.ibm.com>

	PR target/84220
	* gcc.target/powerpc/pr84220-sld.c: New test.
	* gcc.target/powerpc/pr84220-sld2.c: New test.
	* gcc.target/powerpc/pr84220-sldw.c: New test.
	* gcc.target/powerpc/pr84220-xxperm.c: New test.
	* gcc.target/powerpc/pr84220-xxsld.c: New test.

From-SVN: r257662
2018-02-14 15:32:02 +00:00
Igor Tsimbalist
f8de876d8c Reimplement CET intrinsics for rdssp/incssp insn.
Introduce a couple of new CET intrinsics for reading and updating a
shadow stack pointer (_get_ssp and _inc_ssp). They replace the existing
_rdssp[d|q] and _incssp[d|q] instrinsics.

	PR target/84239
	* gcc/config/i386/cetintrin.h: Remove _rdssp[d|q] and
	add _get_ssp intrinsics. Remove argument from
	__builtin_ia32_rdssp[d|q].
	* gcc/config/i386/i386-builtin-types.def: Add UINT_FTYPE_VOID.
	* gcc/config/i386/i386-builtin.def: Remove argument from
	__builtin_ia32_rdssp[d|q].
	* gcc/config/i386/i386.c: Use UINT_FTYPE_VOID. Use
	ix86_expand_special_args_builtin for _rdssp[d|q].
	* gcc/config/i386/i386.md: Remove argument from rdssp[si|di] insn.
	Clear register before usage.
	* doc/extend.texi: Remove argument from __builtin_ia32_rdssp[d|q].
	Add documentation for new _get_ssp and _inc_ssp intrinsics.
	* testsuite/gcc.target/i386/cet-intrin-3.c: Use new _get_ssp and
	_inc_ssp intrinsics.
	* testsuite/gcc.target/i386/cet-intrin-4.c: Likewise.
	* testsuite/gcc.target/i386/cet-rdssp-1.c: Remove argument from
	__builtin_ia32_rdssp[d|q].
	* libgcc/config/i386/shadow-stack-unwind.hi (_Unwind_Frames_Extra):
	Use new _get_ssp and _inc_ssp intrinsics.

From-SVN: r257660
2018-02-14 16:06:21 +01:00
Paolo Carlini
87ca401516 cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.
2018-02-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.
	(do_auto_deduction (tree, tree, tree, tsubst_flags_t,
	auto_deduction_context, tree, int): Add defaults.
	* pt.c (do_auto_deduction (tree, tree, tree)): Remove definition.
	(tsubst_omp_for_iterator): Adjust do_auto_deduction call, forward
	tsubst_flags_t argument.
	* init.c (build_new): Likewise.

From-SVN: r257659
2018-02-14 14:19:50 +00:00
Jakub Jelinek
da07141fd7 re PR other/82368 (with r253275 several new test cases in libbacktrace fail)
PR other/82368
	* elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define.
	(struct elf_ppc64_opd_data): New type.
	(elf_initialize_syminfo): Add opd argument, handle symbols
	pointing into the PowerPC64 ELFv1 .opd section.
	(elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer
	to structure with .opd data to elf_initialize_syminfo.

From-SVN: r257658
2018-02-14 15:19:36 +01:00
Richard Sandiford
316b2a2d84 Check array indices in object_address_invariant_in_loop_p (PR 84357)
object_address_invariant_in_loop_p ignored ARRAY_REF indices on
the basis that:

	  /* Index of the ARRAY_REF was zeroed in analyze_indices, thus we only
	     need to check the stride and the lower bound of the reference.  */

That was true back in 2007 when the code was added:

static void
dr_analyze_indices (struct data_reference *dr, struct loop *nest)
{
  [...]
  while (handled_component_p (aref))
    {
      if (TREE_CODE (aref) == ARRAY_REF)
        {
          op = TREE_OPERAND (aref, 1);
          access_fn = analyze_scalar_evolution (loop, op);
          access_fn = resolve_mixers (nest, access_fn);
          VEC_safe_push (tree, heap, access_fns, access_fn);

          TREE_OPERAND (aref, 1) = build_int_cst (TREE_TYPE (op), 0);
        }

      aref = TREE_OPERAND (aref, 0);
    }

but the assignment was removed a few years ago.  We were therefore
treating "two->arr[i]" and "three->arr[i]" as loop invariant.

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

gcc/
	PR tree-optimization/84357
	* tree-data-ref.c (object_address_invariant_in_loop_p): Check
	operand 1 of an ARRAY_REF too.

gcc/testsuite/
	PR tree-optimization/84357
	* gcc.dg/vect/pr84357.c: New test.

From-SVN: r257657
2018-02-14 13:14:51 +00:00
Oleg Endo
06e972705d re PR target/83831 ([RX] Unused bclr,bnot,bset insns)
gcc/
	PR target/83831
	* config/rx/rx-protos.h (rx_reg_dead_or_unused_after_insn,
	rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New
	declarations.
	(set_of_reg): New struct.
	(rx_find_set_of_reg, rx_find_use_of_reg): New functions.
	* config/rx/rx.c (rx_reg_dead_or_unused_after_insn,
	rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New
	functions.
	* config/rx/rx.md (andsi3, iorsi3, xorsi3): Convert to insn_and_split.
	Split into bitclr, bitset, bitinvert patterns if appropriate.
	(*bitset, *bitinvert, *bitclr): Convert to named insn_and_split and
	use rx_fuse_in_memory_bitop.
	(*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert
	to named insn, correct maximum insn length.

gcc/testsuite/
	PR target/83831
	* gcc.target/rx/pr83831.c: New tests.

From-SVN: r257655
2018-02-14 12:33:37 +00:00
Jakub Jelinek
d1fe612461 re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)
PR fortran/84313
	* testsuite/libgomp.fortran/threadprivate4.f90: Add
	-std=f2003 -fall-intrinsics into dg-additional-options.

From-SVN: r257654
2018-02-14 13:12:15 +01:00
Jozef Lawrynowicz
a005570e2c re PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029)
2018-02-14  Jozef Lawrynowicz <jozefl.gcc@gmail.com>

	PR target/79242
	* machmode.def: Define a complex mode for PARTIAL_INT.
	* genmodes.c (complex_class): Return MODE_COMPLEX_INT for
	MODE_PARTIAL_INT.
	* doc/rtl.texi: Document CSPImode.
	* config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode
	handling.
	(msp430_hard_regno_nregs_with_padding): Likewise.

	PR target/79242
	* gcc.target/msp430/pr79242.c: New test.

From-SVN: r257653
2018-02-14 00:21:11 -07:00
GCC Administrator
3f5ddefdaa Daily bump.
From-SVN: r257651
2018-02-14 00:16:14 +00:00
Peter Bergner
1d99e56de5 re PR target/84372 (test case gcc.target/powerpc/lvsl-lvsr.c fails on power9)
PR target/84372
	* gcc.target/powerpc/lvsl-lvsr.c: Also match lxv when compiling
	with -mcpu=power9.

From-SVN: r257648
2018-02-13 17:29:38 -06:00
Peter Bergner
8d61eea7cc re PR target/84279 (powerpc64le ICE on cvc4)
gcc/
	PR target/84279
	* config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses.

gcc/testsuite/
	PR target/84279
	* g++.dg/pr84279.C: New test.

From-SVN: r257647
2018-02-13 17:05:59 -06:00
Jeff Law
d851ac1628 Add another PR marker to Alex's change.
From-SVN: r257646
2018-02-13 15:43:36 -07:00
Jeff Law
7d678dbc45 Add PR marker for one of Alex's changes
From-SVN: r257645
2018-02-13 15:38:42 -07:00
Segher Boessenkool
ba95aa2096 combine: Update links correctly for new I2 (PR84169)
If there is a LOG_LINK between two insns, this means those two insns
can be combined, as far as dataflow is concerned.  There never should
be a LOG_LINK between two unrelated insns.  If there is one, combine
will try to combine the insns without doing all the needed checks if
the earlier destination is used before the later insn, etc.

Unfortunately we do not update the LOG_LINKs correctly in some cases.
This patch fixes at least some of those cases.


	PR rtl-optimization/84169
	* combine.c (try_combine): New variable split_i2i3.  Set it to true if
	we generated a parallel as new i3 and we split that to new i2 and i3
	instructions.  Handle split_i2i3 similar to swap_i2i3: scan the
	LOG_LINKs of i3 to see which of those need to link to i2 now.  Link
	those to i2, not i1.  Partially rewrite this scan code.

gcc/testsuite/
	PR rtl-optimization/84169
	* gcc.c-torture/execute/pr84169.c: New.

From-SVN: r257644
2018-02-13 23:12:55 +01:00
Peter Bergner
b7a6b85f8a re PR testsuite/84370 (Invalid option used in test case gcc.target/powerpc/builtins-3-p9-runnable.c)
PR target/84370
	* gcc.target/powerpc/builtins-3-p9-runnable.c: Remove deprecated option.

From-SVN: r257642
2018-02-13 16:04:00 -06:00
Peter Bergner
c8a8efba03 re PR target/84365 (gcc.target/powerpc/altivec-7-le.c fails on power9)
PR target/84365
	* gcc.target/powerpc/altivec-7-le.c: Also match lxv when compiling
	with -mcpu=power9.

From-SVN: r257641
2018-02-13 15:52:12 -06:00
Jakub Jelinek
dbf717037b re PR c++/84364 (-Weffc++ warns on "return *this" in template after r253599)
PR c++/84364
	* typeck.c (check_return_expr): Don't emit -Weffc++ warning
	about return other than *this in assignment operators if
	retval is type dependent expression.

	* g++.dg/warn/effc4.C: New test.

From-SVN: r257640
2018-02-13 22:40:35 +01:00
Joseph Myers
8edd275b3f * fr.po: Update.
From-SVN: r257639
2018-02-13 21:32:49 +00:00
Paolo Carlini
3a9ad4c190 re PR c++/84333 (ICE with ternary operator in template function)
/cp
2018-02-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84333
	* call.c (build_conditional_expr_1): Use cp_save_expr instead of
	save_expr for the G++ extension.

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

	PR c++/84333
	* g++.dg/template/sizeof16.C: New.
	* g++.dg/template/sizeof17.C: Likewise.

From-SVN: r257638
2018-02-13 21:23:22 +00:00
Ian Lance Taylor
a2f5a78214 compiler: don't export function descriptors for unexported names
They aren't needed, and could potentially cause unlikely symbol name
    collisions.  Also, the runtime package's reference to main could cause
    the runtime package to define main.main..f, which could also be
    defined in the main package if it does something like fmt.Print(main).
    That will normally work but will fail with a multiple symbol
    definition error when using -static-libgo.
    
    Reviewed-on: https://go-review.googlesource.com/93656

From-SVN: r257637
2018-02-13 21:15:41 +00:00
Janus Weil
4155fafc7f re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)
2018-02-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84313
	* symbol.c (check_conflict): Reject procedure pointers in common blocks.


2018-02-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/84313
	* gfortran.dg/proc_ptr_common_1.f90: Fix invalid test case,
	add necessary compiler options.
	* gfortran.dg/proc_ptr_common_2.f90: Add missing error message.

From-SVN: r257636
2018-02-13 22:00:37 +01:00
Jakub Jelinek
201d17c0d8 re PR c/82210 (Having _Alignas in a struct with VLAs causes writing to one array to overwrite another)
PR c/82210
	* stor-layout.c (place_field): For variable length fields, adjust
	offset_align afterwards not just based on the field's alignment,
	but also on the size.

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

From-SVN: r257635
2018-02-13 21:23:58 +01:00
Jakub Jelinek
9aa484f5a9 re PR middle-end/84309 (Wrong-code with -ffast-math)
PR middle-end/84309
	* match.pd (pow(C,x) -> exp(log(C)*x)): Use exp2s and log2s instead
	of exps and logs in the use_exp2 case.

	* gcc.dg/pr84309-2.c: New test.

From-SVN: r257634
2018-02-13 21:22:50 +01:00
Jeff Law
43edc4f5ac rl78.c (rl78_attribute_table): Fix terminator and entry for "vector".
2018-02-13  Jeff Law  <law@redhat.com>

 	* config/rl/rl78.c (rl78_attribute_table): Fix terminator and
	entry for "vector".

From-SVN: r257633
2018-02-13 11:36:51 -07:00
Jeff Law
cd82490afe rl78.c (rl78_handle_func_attribute): Mark ARGS as unused.
* config/rl78/rl78.c (rl78_handle_func_attribute): Mark
	ARGS as unused.

From-SVN: r257632
2018-02-13 11:17:23 -07:00
Alexandre Oliva
924c9e3efb common.opt (gas-loc-support, [...]): New.
* common.opt (gas-loc-support, gas-locview-support): New.
	(ginline-points, ginternal-reset-location-views): New.
	* doc/invoke.texi: Document them.  Use @itemx where intended.
	(gvariable-location-views): Adjust.
	* target.def (reset_location_view): New.
	* doc/tm.texi.in (DWARF2_ASM_VIEW_DEBUG_INFO): New.
	(TARGET_RESET_LOCATION_VIEW): New.
	* doc/tm.texi: Rebuilt.
	* dwarf2out.c (dwarf2out_default_as_loc_support): New.
	(dwarf2out_default_as_locview_support): New.
	(output_asm_line_debug_info): Use option variables.
	(dwarf2out_maybe_output_loclist_view_pair): Likewise.
	(output_loc_list): Likewise.
	(add_high_low_attributes): Check option variables.
	Don't output entry view attribute in strict mode.
	(gen_inlined_subroutine_die): Check option variables.
	(dwarf2out_inline_entry): Likewise.
	(init_sections_and_labels): Likewise.
	(dwarf2out_early_finish): Likewise.
	(maybe_reset_location_view): New, from...
	(dwarf2out_var_location): ... here.  Call it.
	* debug.h (dwarf2out_default_as_loc_support): Declare.
	(dwarf2out_default_as_locview_support): Declare.
	* hooks.c (hook_int_rtx_insn_0): New.
	* hooks.h (hook_int_rtx_insn_0): Declare.
	* toplev.c (process_options): Take -gas-loc-support and
	-gas-locview-support from dwarf2out.  Enable
	-gvariable-location-views by default only with locview
	assembler support.  Enable -ginternal-reset-location-views by
	default only if the target defines the corresponding hook.
	Enable -ginline-points by default if location views are
	enabled; force it disabled if statement frontiers are
	disabled.
	* tree-inline.c (expand_call_inline): Check option variables.
	* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.

From-SVN: r257631
2018-02-13 09:18:37 -07:00