Skip to content

Merge upstream GCC gcc-mirror master into sourceryinstitute/gcc master #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2,530 commits into from
Mar 23, 2018

Conversation

rouson
Copy link
Member

@rouson rouson commented Mar 23, 2018

No description provided.

jasonwucj and others added 30 commits March 11, 2018 08:42
…_CPU_CPP_BUILTINS.

gcc/
	* config/nds32/nds32-protos.h (nds32_cpu_cpp_builtins): Declare
	function.
	* config/nds32/nds32.c (nds32_cpu_cpp_builtins): New function.
	* config/nds32/nds32.h (TARGET_CPU_CPP_BUILTINS): Modify its
	definition.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258426 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/nds32/nds32.c (nds32_cpu_cpp_builtins): Modify to define
	__NDS32_VH__ macro.
	* config/nds32/nds32.opt (mvh): New option.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258427 138bc75d-0d04-0410-961f-82ee72b054a4
	* dwarf2out.c (gen_enumeration_type_die): Don't guard adding
	DW_AT_declaration for ENUM_IS_OPAQUE on -gdwarf-4 or -gno-strict-dwarf,
	but on TYPE_SIZE.  Don't do anything for ENUM_IS_OPAQUE if not creating
	a new die.  Don't set TREE_ASM_WRITTEN if ENUM_IS_OPAQUE.  Guard
	addition of most attributes on !orig_type_die or the attribute not
	being present already.  Assert TYPE_VALUES is NULL for ENUM_IS_OPAQUE.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258434 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/66128
	* simplify.c (simplify_transformation): Return default result for
	empty array argument.
	(gfc_simplify_all): Remove special-case handling for zerosize.
	(gfc_simplify_any): Likewise.
	(gfc_simplify_count): Likewise.
	(gfc_simplify_iall): Likewise.
	(gfc_simplify_iany): Likewise.
	(gfc_simplify_iparity): Likewise.
	(gfc_simplify_minval): Likewise.
	(gfc_simplify_maxval): Likewise.
	(gfc_simplify_norm2): Likewise.
	(gfc_simplify_product): Likewise.
	(gfc_simplify_sum): Likewise.

2018-03-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66128
	* gfortran.dg/zero_sized_9.f90: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258435 138bc75d-0d04-0410-961f-82ee72b054a4
	* check.c (gfc_check_kill):  Check pid and sig are scalar.
	(gfc_check_kill_sub): Restrict kind to 4 and 8.
	* intrinsic.c (add_function): Sort keyword list.  Add pid and sig
	keywords for KILL.  Remove redundant *back="back" in favor of the
	original *bck="back".
	(add_subroutines): Sort keyword list.  Add pid and sig keywords
	for KILL.
	* intrinsic.texi: Fix documentation to consistently use pid and sig.
	* iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8.  Choose the
	correct function.
	(gfc_resolve_rename_sub): Add comment.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258436 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/83939
	* resolve.c (resolve_fl_procedure): Enforce F2018:C15100.

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

	PR fortran/83939
	* gfortran.dg/pr83939.f90


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258437 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/84546
	* trans-array.c (structure_alloc_comps): Make sure that the
	vptr is copied and that the unlimited polymorphic _len is used
	to compute the size to be allocated.
	* trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
	unlimited polymorphic _len for the offset to the element.
	(gfc_copy_class_to_class): Set the new 'unlimited' argument.
	* trans.h : Add the boolean 'unlimited' to the prototype.

2018-03-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84546
	* gfortran.dg/unlimited_polymorphic_29.f90 : New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258438 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258441 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame,
	nds32_emit_stack_push_multiple, nds32_emit_stack_pop_multiple,
	nds32_emit_stack_v3push, nds32_emit_stack_v3pop,
	nds32_emit_adjust_frame, nds32_expand_prologue, nds32_expand_epilogue,
	nds32_expand_prologue_v3push, nds32_expand_epilogue_v3pop): Refine.
	* config/nds32/nds32.h (NDS32_FIRST_CALLEE_SAVE_GPR_REGNUM,
	NDS32_LAST_CALLEE_SAVE_GPR_REGNUM, NDS32_V3PUSH_AVAILABLE_P): New.
	* config/nds32/nds32.md (prologue, epilogue): Use macro
	NDS32_V3PUSH_AVAILABLE_P to do checking.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258442 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/nds32/nds32.c (nds32_md_asm_adjust): New function.
	(TARGET_MD_ASM_ADJUST): Define.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258443 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/84777
	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For
	force-vectorize loops ignore whether we are optimizing for size.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258444 138bc75d-0d04-0410-961f-82ee72b054a4
	* g++.dg/debug/pr84813.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258445 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/84803
	* tree-if-conv.c (ifcvt_memrefs_wont_trap): Don't do anything
	for refs DR analysis didn't process.

	* gcc.dg/torture/pr84803.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258446 138bc75d-0d04-0410-961f-82ee72b054a4
	* lambda.c (build_capture_proxy): Call complete_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258447 138bc75d-0d04-0410-961f-82ee72b054a4
This was introduced by r258390 and fixed by r258415.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258448 138bc75d-0d04-0410-961f-82ee72b054a4
This was introduced by r258390 and fixed by r258415.

	* g++.dg/pr84821.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258449 138bc75d-0d04-0410-961f-82ee72b054a4
	* pt.c (tsubst) [TEMPLATE_TYPE_PARM]: Always substitute into
	CLASS_PLACEHOLDER_TEMPLATE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258451 138bc75d-0d04-0410-961f-82ee72b054a4
There still are situations where we have stale LOG_LINKS.  This causes
combine to try two-insn combinations I2->I3 where the register set by
I2 is used before I3 as well.  Not good.

This patch fixes it by checking for this situation in can_combine_p
(similar to what we already do for three and four insn combinations).


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258452 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258453 138bc75d-0d04-0410-961f-82ee72b054a4
This makes the float32-basic.c testcase work on sysv (32-bit Linux).

"float" is promoted to "double" for varargs.  The ABI also only defines
the use of double precision in varargs.  But _Float32 is not promoted.
Since there is no way of passing single-precision float in FPRs we
should pass SFmode in GPRs (or memory) instead.  This is similar to
the 64-bit ABI.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258454 138bc75d-0d04-0410-961f-82ee72b054a4
…apping memcpy in an inline function

gcc/ChangeLog:

	PR tree-optimization/83456
	* gimple-fold.c (gimple_fold_builtin_memory_op): Avoid warning
	for perfectly overlapping calls to memcpy.
	(gimple_fold_builtin_memory_chk): Same.
	(gimple_fold_builtin_strcpy): Handle no-warning.
	(gimple_fold_builtin_stxcpy_chk): Same.
	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Handle no-warning.

gcc/c-family/ChangeLog:

	PR tree-optimization/83456
	* gcc/c-family/c-common.c (check_function_restrict): Return bool.
	Restore checking of bounded built-in functions.
	(check_function_arguments): Also return the result
	of warn_for_restrict.
	* gcc/c-family/c-common.c (check_function_restrict): Return bool.
	* gcc/c-family/c-warn.c (warn_for_restrict): Return bool.

gcc/testsuite/ChangeLog:

	PR tree-optimization/83456
	* c-c++-common/Wrestrict-2.c: Remove test cases.
	* c-c++-common/Wrestrict.c: Same.
	* gcc.dg/Wrestrict-12.c: New test.
	* gcc.dg/Wrestrict-14.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258455 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/

2018-03-12  Renlin Li  <renlin.li@arm.com>

    * config/aarch64/aarch64.md (movhf_aarch64): Fix mode argument to
    aarch64_output_scalar_simd_mov_immediate.

gcc/testsuite/

2018-03-12  Renlin Li  <renlin.li@arm.com>

    * gcc.target/aarch64/movi_hf.c: New.
    * gcc.target/aarch64/f16_mov_immediate_1.c: Update.
    * gcc.target/aarch64/f16_mov_immediate_2.c: Update.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258459 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi (-mclflushopt): Fix spelling of option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258462 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/misc.c (gnat_post_options): Disable string overflow
	warnings.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258466 138bc75d-0d04-0410-961f-82ee72b054a4
…cross-compilers

	PR libstdc++/84773
	PR libstdc++/83662
	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
	* configure: Regenerate.
	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
	(aligned_alloc): Add using-declaration.
	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258468 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree.c (stabilize_reference_1): Return save_expr (e) for
	STATEMENT_LIST even if it doesn't have side-effects.

	* g++.dg/debug/pr84704.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258470 138bc75d-0d04-0410-961f-82ee72b054a4
	* constexpr.c (find_array_ctor_elt): Don't use elt reference after
	first potential CONSTRUCTOR_ELTS reallocation.  Convert dindex to
	sizetype.  Formatting fixes.

	* g++.dg/cpp1y/constexpr-84808.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258471 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258474 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v
	on the last operand.

	* gcc.target/i386/avx512f-pr84786-1.c: New test.
	* gcc.target/i386/avx512f-pr84786-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258475 138bc75d-0d04-0410-961f-82ee72b054a4
	* reg-stack.c (change_stack): Change update_end var from int to
	rtx_insn *, if non-NULL don't update just BB_END (current_block), but
	also call set_block_for_insn on the newly added insns and rescan.

	* g++.dg/ext/pr84828.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258476 138bc75d-0d04-0410-961f-82ee72b054a4
mpolacek and others added 29 commits March 22, 2018 08:08
	* 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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258756 138bc75d-0d04-0410-961f-82ee72b054a4
	* 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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258757 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258758 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/85025
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
	Fix a typo, tmp => 255.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258763 138bc75d-0d04-0410-961f-82ee72b054a4
	* function.c (match_asm_constraints_1): Don't do the optimization
	if input isn't a REG, SUBREG, MEM or constant.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258764 138bc75d-0d04-0410-961f-82ee72b054a4
…ris/x86 (PR libstdc++/77691)

	PR libstdc++/77691
	* testsuite/experimental/memory_resource/resource_adaptor.cc:
	xfail execution on 32-bit Solaris/x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258766 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/graphite/pr83126.c: Require pthread for the test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258768 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/85040
	* include/bits/stl_function.h (greater::__not_overloaded)
	(less::__not_overloaded, greater_equal::__not_overloaded)
	(less_equal::__not_overloaded): Fix ambiguous specializations.
	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
	tests for type with overlaoded operators.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258773 138bc75d-0d04-0410-961f-82ee72b054a4
2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/84760
	* doc/extend.texi: Add four new prototypes for vec_ld.
	* config/rs6000/rs6000-builtin.def (LVX_V1TI): Reorder symbol
	definitions for more logical presentation.
	* config/rs6000/rs6000-c.c: (altivec_overloaded_builtins): Add
	entries for V1TI variants of __builtin_altivec_ld builtin.
	* config/rs6000/rs6000.c: (altivec_expand_lv_builtin): Add test and
	handling of V1TI variant of LVX icode pattern.
	(altivec_expand_builtin): Add case for ALTIVEC_BUILTIN_LVX_V1TI.
	(rs6000_gimple_fold_builtin): Likewise.
	(altivec_init_builtins): Add code to define
	__builtin_altivec_lvx_v1ti function.

gcc/testsuite/ChangeLog:

2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/84760
	* gcc.target/powerpc/altivec-ld-1.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258774 138bc75d-0d04-0410-961f-82ee72b054a4
2018-03-22  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/testsuite/
	* gcc.target/arm/addr-modes-float.c: Move dg-do before
	dg-require-effective-target.
	* gcc.target/arm/addr-modes-int.c: Likewise.
	* gcc.target/nios2/lo-addr-tls.c: Likewise.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258776 138bc75d-0d04-0410-961f-82ee72b054a4
arm-linux-gnueabi

The ICE in the bug report was happening because the macro
USE_RETURN_INSN (FALSE) was returning different values at different points
in the compilation. This was internally occurring because the function
arm_compute_static_chain_stack_bytes () which was dependent on
arm_r3_live_at_start_p () was giving a different value after the cond_exec
instructions were created in ce3 causing the liveness of r3 to escape up
to the start block.

The function arm_compute_static_chain_stack_bytes () should really only
compute the value once duringepilogue/prologue stage. This pass introduces
a new member 'static_chain_stack_bytes' to the target definition of the
struct machine_function which gets calculated in expand_prologue and is the
value that is returned by arm_compute_static_chain_stack_bytes () beyond that.

ChangeLog entries:

*** gcc/ChangeLog ***

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

	PR target/84826
	* config/arm/arm.h (machine_function): Add static_chain_stack_bytes.
	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid
	re-computing once computed.
	(arm_expand_prologue): Compute machine->static_chain_stack_bytes.
	(arm_init_machine_status): Initialize
	machine->static_chain_stack_bytes.

*** gcc/testsuite/ChangeLog ***

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

	PR target/84826
	* gcc.target/arm/pr84826.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258777 138bc75d-0d04-0410-961f-82ee72b054a4
2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000-builtin.def: Remove various BU_ALTIVEC_X
	macro expansions for definition of ST_INTERNAL_<mode> and
	LD_INTERNAL_<mode> builtins.
	* config/rs6000/rs6000-protos.h (rs6000_address_for_altivec):
	Remove prototype.
	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Delete this
	function.
	(altivec_expand_st_builtin): Likewise.
	(altivec_expand_builtin): Remove calls to deleted functions.
	(rs6000_address_for_altivec): Delete this function.
	* config/rs6000/vector.md: Remove expands for
	vector_altivec_load_<mode> and vector_altivec_store_<mode>.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258783 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/84922
	* decl.c (get_proc_name): If the MODULE prefix appears in interface
	body, then it must appear on the contained subroutine or function.
	While here, fix nearby mis-indented code.

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

	PR fortran/84922
	* gfortran.dg/interface_42.f90: New test.
	* gfortran.dg/interface_43.f90: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258784 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258789 138bc75d-0d04-0410-961f-82ee72b054a4
…butes

We don't want functions to become implicit templates just because of
random uses of auto in unexpected places.  Disabling the special
handling of auto while parsing attributes, for example, makes for
more sensible errors.


for  gcc/cp/ChangeLog

	PR c++/84610
	PR c++/84642
	PR c++/84942
	* cp-tree.h (temp_override): New template class, generalizing
	a cleanup that was only used...
	* parser.c (cp_parser_parameter_declaration_clause):
	... here for auto_is_implicit_function_template_parm_p.
	(cp_parser_gnu_attributes_opt): Use it here as well.
	(cp_parser_std_attribute): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258790 138bc75d-0d04-0410-961f-82ee72b054a4
A parenthesized initializer was only accepted when new()ing an array in
permissive mode.  We were not careful, however, to convert the
TREE_LIST initializer to the array element type in this extension.

Instead of fixing it, converting the initializer to the base type
after turning the TREE_LIST initializer to a compound_expr, we disable
this deprecated extension.


for  gcc/cp/ChangeLog

	PR c++/84729
	* init.c (build_vec_init): Error at parenthesized array init.

for  gcc/testsuite/ChangeLog

	PR c++/84729
	* g++.dg/pr84729.C: New.
        * g++.old-deja/g++.ext/arrnew2.C: Require error.
	* g++.old-deja/g++.robertl/eb58.C: Likewise.
	* g++.old-deja/g++.robertl/eb63.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258791 138bc75d-0d04-0410-961f-82ee72b054a4
Although resolve_typename_type always takes a template-dependent
type-id, and it usually resolves it to another template-dependent
type-id, it is not correct to require the latter: in declarators,
template-dependent scopes may turn out to name template-independent
types, as in the pr84789-2.C and pr84789-3.C testcases.

The ill-formed testcase pr84789.C trips the same too-strict assert,
and also gets fixed by removing the assertion on the simplified scope.
However, whereas when the dependent type cannot be resolved, we get an
error that suggests 'typename' is missing:

pr84789.C:12:3: error: need ‘typename’ before ‘typename B<T>::A::I::I’
because ‘typename B<T>::A::I’ is a dependent scope
   B<T>::A::I::I i;
   ^~~~

when it can, we got errors that did not point at that possibility,
which may be confusing:

pr84789.C:9:15: error: ‘A::I’ {aka ‘int’} is not a class type
   B<T>::A::I::I i; // { dg-error "typename" }
               ^
pr84789.C:9:15: error: ‘I’ in ‘A::I’ {aka ‘int’} does not name a type

Changing the parser diagnostic code that reports an invalid type name
so that it does not attempt to reparse the name as a declarator gets
us the superior diagnostic of a missing 'typename' keyword.


for  gcc/cp/ChangeLog

	PR c++/84789
	* pt.c (resolve_typename_type): Drop assert that stopped
	simplification to template-independent types.  Add assert to
	verify the initial scope is template dependent.
	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
	Reparse the id expression as a type-name, not a declarator.

for  gcc/testsuite/ChangeLog

	PR c++/84789
	* g++.dg/template/pr84789.C: New.
	* g++.dg/template/pr84789-2.C: New.
	* g++.dg/template/pr84789-3.C: New.
	* g++.dg/parse/dtor11.C: Accept alternate error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258792 138bc75d-0d04-0410-961f-82ee72b054a4
Check that template using decls have the correct number of parm lists.

for  gcc/cp/ChangeLog

	PR c++/71251
	* parser.c (cp_parser_alias_declaration): Call
	parser_check_template_parameters.

for  gcc/testsuite/ChangeLog

	PR c++/71251
	* g++.dg/cpp0x/pr71251.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258793 138bc75d-0d04-0410-961f-82ee72b054a4
	* sanopt.c (maybe_optimize_ubsan_ptr_ifn): If DECL_REGISTER (base),
	just don't try to optimize it rather than assert it never happens.

	* g++.dg/ubsan/pr85029.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258794 138bc75d-0d04-0410-961f-82ee72b054a4
	* alias.c (write_dependence_p): Don't require for x_canonicalized
	non-VOIDmode if x has VOIDmode.

	* c-c++-common/torture/pr85022.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258795 138bc75d-0d04-0410-961f-82ee72b054a4
	* function.c (match_asm_constraints_1): Don't optimize if input
	doesn't satisfy general_operand predicate for output's mode.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258796 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/lto/pr80778_0.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258797 138bc75d-0d04-0410-961f-82ee72b054a4
	PR debug/85020
	* dwarf2out.c (rtl_for_decl_location): Do not generate RTL early when
	we are going to emit early debug for LTO.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258798 138bc75d-0d04-0410-961f-82ee72b054a4
	PR debug/85020
	* gnat.dg/lto22.adb: New test.
	* gnat.dg/lto22_pkg1.ad[sb]: New helper.
	* gnat.dg/lto22_pkg2.ads: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258799 138bc75d-0d04-0410-961f-82ee72b054a4
	* semantics.c (finish_offsetof): Don't allow CONST_DECLs.

	* g++.dg/ext/builtin-offsetof2.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258801 138bc75d-0d04-0410-961f-82ee72b054a4
* parser.c (cp_parser_perform_range_for_lookup): Change
the condition for deciding whether to use members.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258803 138bc75d-0d04-0410-961f-82ee72b054a4
	* c-pretty-print.c (c_pretty_printer::multiplicative_expression)
	<case RDIV_EXPR>: Tweak condition.

	* cxx-pretty-print.c (cxx_pretty_printer::multiplicative_expression):
	Handle EXACT_DIV_EXPR and RDIV_EXPR.  Tweak condition.
	(cxx_pretty_printer::expression): Handle EXACT_DIV_EXPR and RDIV_EXPR.

	* g++.dg/cpp0x/Wnarrowing5.C: New test.
	* gcc.dg/pr85045.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258804 138bc75d-0d04-0410-961f-82ee72b054a4
*** gcc/testsuite/ChangeLog ***

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

	PR target/84826
	* gcc.target/arm/pr84826.c: Add dg directive.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258805 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258816 138bc75d-0d04-0410-961f-82ee72b054a4
@rouson rouson merged commit 5e80f53 into sourceryinstitute:master Mar 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant