aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2019-05-31[C++PATCH] Lambda names are anonymousNathan Sidwell7-52/+51
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg02126.html * cp-tree.h (IDENTIFIER_LAMBDA_P): New. (TYPE_ANON_P): New. (LAMBDA_TYPE_P, TYPE_UNNAMED_P): Likewise. (LAMBDANAME_PREFIX, LAMBDANAME_FORMAT): Delete. (make_lambda_name): Don't declare. * error.c (dump_aggr_type): Check for lambdas before other anonymous names. * lambda.c (begin_lambda_type): Use make_anon_name. * cp-lang.c (cxx_dwarf_name): Lambda names smell anonymous. * mangle.c (write_local_name): Likewise. * name-lookup.c (lambda_cnt, make_lambda_name): Delete. From-SVN: r271811
2019-05-31cpu-future.c: Require powerpc_future_ok.Bill Schmidt7-0/+53
2019-05-31 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> * gcc.target/powerpc/cpu-future.c: Require powerpc_future_ok. * gcc.target/powerpc/localentry-1.c: Likewise. * gcc.target/powerpc/localentry-direct-1.c: Likewise. * gcc.target/powerpc/notoc-direct-1.c: Likewise. * gcc.target/powerpc/pcrel-sibcall-1.c: Likewise. * lib/target-supports.exp (check_powerpc_future_hw_available): New. (check_effective_target_powerpc_future_ok): New. Co-Authored-By: Michael Meissner <meissner@linux.ibm.com> From-SVN: r271810
2019-05-31Add pretty print for const_tree.Martin Liska2-1/+5
2019-05-31 Martin Liska <mliska@suse.cz> * gdbhooks.py: Add const_tree to TreePrinter. From-SVN: r271804
2019-05-31re PR debug/86964 (Too many debug symbols included, especially for extern ↵Thomas De Schampheleire16-16/+42
globals) 2019-05-31 Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> PR debug/86964 * common.opt (feliminate-unused-debug-symbols): Enable by default. * doc/invoke.texi (Debugging Options): Document new default of -feliminate-unused-debug-symbols and remove restriction to 'stabs'. * g++.dg/debug/dwarf2/fesd-any.C: Use -fno-eliminate-unused-debug-symbols. * g++.dg/debug/dwarf2/fesd-baseonly.C: Likewise. * g++.dg/debug/dwarf2/fesd-none.C: Likewise. * g++.dg/debug/dwarf2/fesd-reduced.C: Likewise. * g++.dg/debug/dwarf2/fesd-sys.C: Likewise. * g++.dg/debug/dwarf2/inline-var-1.C: Likewise. * g++.dg/debug/enum-2.C: Likewise. * gcc.dg/debug/dwarf2/fesd-any.c: Likewise. * gcc.dg/debug/dwarf2/fesd-baseonly.c: Likewise. * gcc.dg/debug/dwarf2/fesd-none.c: Likewise. * gcc.dg/debug/dwarf2/fesd-reduced.c: Likewise. * gcc.dg/debug/dwarf2/fesd-sys.c: Likewise. From-SVN: r271803
2019-05-31re PR tree-optimization/90671 (ICE on valid code at -Os and above with -g ↵Jakub Jelinek4-3/+45
enabled in gsi_split_seq_after, at gimple-iterator.c:345) PR tree-optimization/90671 * tree-ssa-threadupdate.c (ssa_create_duplicates): If template_block used to be empty on the first call, don't use gsi_split_seq_after and gsi_insert_seq_after, but remember whole seq with bb_seq and set it with set_bb_seq. * gcc.dg/torture/pr90671.c: New test. From-SVN: r271802
2019-05-31c++, testsuite - require alias support for a test.Iain Sandoe2-0/+5
The test for pr84497 uses a facility that requires alias support from the target, and therefore fails on targets without. Add a suitable dg-require statement. 2019-05-31 Iain Sandoe <iain@sandoe.co.uk> * g++.dg/cpp0x/pr84497.C: Require alias support. From-SVN: r271801
2019-05-31Darwin, x86, testsuite - adjust tests for Darwin's align syntax.Iain Sandoe3-6/+14
Darwin has a .align taking a power of 2 by default, so that some tests expecting a byte count are failing, fixed thus. gcc/testsuite/ 2019-05-31 Iain Sandoe <iain@sandoe.co.uk> * gcc.target/i386/falign-functions-3.c: Adjust align syntax and label for Darwin. * gcc.target/i386/attr-aligned-2.c: Adjust align syntax for Darwin. From-SVN: r271800
2019-05-31Darwin, x86 - We have .p2align, so declare its use.Iain Sandoe2-0/+16
.p2align support is present in all x86 assemblers on released Darwin systems. gcc/ 2019-05-29 Iain Sandoe <iain@sandoe.co.uk> * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. From-SVN: r271799
2019-05-31predicates.md (pcrel_address): New define_predicate.Bill Schmidt5-0/+151
2019-05-30 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> * config/rs6000/predicates.md (pcrel_address): New define_predicate. (prefixed_mem_operand): Likewise. (non_prefixed_mem_operand): Likewise. * config/rs6000/rs6000-protos.h (rs6000_prefixed_address): New prototype. * config/rs6000/rs6000.c (print_operand_address): Handle PC-relative addresses. (mode_supports_prefixed_address_p): New function. (rs6000_prefixed_address): New function. * config/rs6000/rs6000.h (SYMBOL_FLAG_PCREL): New #define. (SYMBOL_REF_PCREL_P): Likewise. Co-Authored-By: Michael Meissner <meissner@linux.ibm.com> From-SVN: r271798
2019-05-31* fi.po, sv.po: Update.Joseph Myers3-796/+682
From-SVN: r271796
2019-05-31Daily bump.GCC Administrator1-1/+1
From-SVN: r271795
2019-05-30gimplify.c (enum gimplify_omp_var_data): Add GOVD_CONDTEMP.Jakub Jelinek7-49/+190
* gimplify.c (enum gimplify_omp_var_data): Add GOVD_CONDTEMP. (gimplify_adjust_omp_clauses_1): Handle GOVD_CONDTEMP. (gimplify_omp_for): If worksharing loop with lastprivate conditional is nested inside of parallel region, add _condtemp_ clause to both. * tree-nested.c (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Ignore OMP_CLAUSE__CONDTEMP_ instead of assertion failure. * omp-general.h (struct omp_for_data): Add have_pointer_condtemp member. * omp-general.c (omp_extract_for_data): Compute it. * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE__CONDTEMP_. (lower_rec_input_clauses): Likewise. (lower_lastprivate_conditional_clauses): If OMP_CLAUSE__CONDTEMP_ clause is already present, just add one further one after it. (lower_lastprivate_clauses): Handle cond_ptr with array type. (lower_send_shared_vars): Clear _condtemp_ vars. (lower_omp_1) <case GIMPLE_ASSIGN>: Handle target data like critical or section or taskgroup. * omp-expand.c (determine_parallel_type): Disallow combining only if first OMP_CLAUSE__CONDTEMP_ has pointer type. Disallow combining of parallel sections if OMP_CLAUSE__CONDTEMP_ is present. (expand_omp_for_generic, expand_omp_for_static_nochunk, expand_omp_for_static_chunk, expand_omp_for): Use fd->have_pointer_condtemp instead of fd->lastprivate_conditional to determine if a special set of API routines are needed and if condtemp needs to be initialized, while always initialize cond_var if fd->lastprivate_conditional is non-zero. From-SVN: r271791
2019-05-30Fix RISC-V build failure for go language.Jim Wilson2-0/+9
gcc/go/ * go-gcc.cc (Gcc_backend::Gcc_backend): Add BUILT_IN_ATOMIC_FETCH_AND_1 and BUILT_IN_ATOMIC_FETCH_OR_1. From-SVN: r271790
2019-05-30* cp-tree.h (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): Fix a typo.Marek Polacek2-1/+5
From-SVN: r271788
2019-05-30constraints.md (eI): New constraint.Bill Schmidt5-0/+41
2019-05-30 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> * config/rs6000/constraints.md (eI): New constraint. * config/rs6000/predicates.md (cint34_operand): New predicate. * config/rs6000/rs6000.h (SIGNED_16BIT_OFFSET_P): New #define. (SIGNED_34BIT_OFFSET_P): Likewise. * doc/md.texi (eI): Document constraint. Co-Authored-By: Michael Meissner <meissner@linux.ibm.com> From-SVN: r271787
2019-05-30gfc-internals.texi (Translating to GENERIC): New chapter.Thomas Koenig2-0/+147
2019-05-30 Thomas Koenig <tkoenig@gcc.gnu.org> * gfc-internals.texi (Translating to GENERIC): New chapter. From-SVN: r271786
2019-05-30[aarch64]: add support for fabd in sveSylvia Taylor4-0/+56
This patch adds support in SVE to combine: - fsub and fabs into fabd fsub z0.s, z0.s, z1.s fabs z0.s, p1/m, z0.s --- fabd z0.s, p1/m, z0.s, z1.s 2019-05-30 Sylvia Taylor <sylvia.taylor@arm.com> gcc/ * config/aarch64/aarch64-sve.md (*fabd<mode>3): New. gcc/testsuite/ * gcc.target/aarch64/sve/fabd_1.c: New. From-SVN: r271785
2019-05-30compiler: intrinsify sync/atomic functionsIan Lance Taylor3-12/+112
Let the Go frontend recognize sync/atomic functions and turn them into intrinsics. Also make sure not to intrinsify calls in go or defer statements. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/178937 From-SVN: r271784
2019-05-30re PR c++/90598 (Return type of explicit destructor call wrong)Jakub Jelinek1-8/+0
PR c++/90598 * tree.c (lvalue_kind): Return clk_none for expressions with with VOID_TYPE_P. * g++.dg/cpp0x/pr90598.C: New test. From-SVN: r271783
2019-05-30rs6000-cpus.def (OTHER_FUSION_MASKS): New #define.Bill Schmidt4-13/+49
2019-05-30 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> * rs6000-cpus.def (OTHER_FUSION_MASKS): New #define. (ISA_3_0_MASKS_SERVER): Mask off OTHER_FUSION_MASKS. (ISA_3_0_MASKS_IEEE): Remove OPTION_MASK_DIRECT_MOVE. (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PREFIXED_ADDR. (OTHER_FUTURE_MASKS): Likewise. (POWERPC_MASKS): Likewise. * rs6000.c (rs6000_option_override_internal): Error if -mpcrel is specified without -mprefixed-addr or -mcpu=future. Error if -mprefixed-addr is specified without -mcpu=future. (rs6000_opt_masks): Add entry for prefixed-addr. * rs6000.opt (mprefixed-addr): New option. Co-Authored-By: Michael Meissner <meissner@linux.ibm.com> From-SVN: r271781
2019-05-30[PATCH][GCC][AARCH64] Fix libstdc++ build failure after r271735Sam Tebbs2-1/+6
gcc/ChangeLog * aarch64/aarch64.c (aarch64_post_cfi_startproc): Add cfun->is_thunk check. From-SVN: r271780
2019-05-30* lang.opt (ftail-call-workaround): Fix a typo.Marek Polacek2-1/+5
From-SVN: r271777
2019-05-30tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght to length.Jakub Jelinek4-2/+11
* tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght to length. * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths. From-SVN: r271770
2019-05-30testsuite,x86 - require native TLS for two tests that use it.Iain Sandoe3-2/+8
gcc/testsuite/ 2019-05-30 Iain Sandoe <iain@sandoe.co.uk> * gcc.target/i386/pr86257.c: Require native TLS support. * gcc.target/i386/stack-prot-sym.c: Likewise. From-SVN: r271768
2019-05-30gdbinit: add a new command and fix oneMartin Liska2-1/+14
2019-05-30 Martin Liska <mliska@suse.cz> * gdbinit.in: Fix 'ptc' command. Add trt that prints TREE_TYPE($). From-SVN: r271763
2019-05-30decl.c (grokdeclarator): Use declarator->id_loc in five error_at calls.Paolo Carlini11-15/+41
/cp 2019-05-31 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use declarator->id_loc in five error_at calls. /testsuite 2019-05-31 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/alias-decl-18.C: Test location too. * g++.dg/cpp0x/udlit-nofunc-neg.C: Likewise. * g++.dg/parse/crash59.C: Likewise. * g++.dg/parse/error38.C: Likewise. * g++.dg/parse/error39.C: Likewise. * g++.dg/template/crash31.C: Likewise. * g++.dg/template/operator8.C: Likewise. * g++.dg/template/operator9.C: Likewise. From-SVN: r271762
2019-05-30re PR go/90669 (go/gofrontend/types.cc:2805 contains range-based ‘for’ ↵Ian Lance Taylor2-3/+8
loops which are not C++98) PR go/90669 compiler: remove range-based 'for' loop Fix for GCC PR/90669: remove range-based 'for' loop to preserve buildability with g++ version 4.X. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/179397 From-SVN: r271761
2019-05-30Daily bump.GCC Administrator1-1/+1
From-SVN: r271760
2019-05-29rs6000.c (rs6000_call_template_1): Handle pcrel calls here...Bill Schmidt7-98/+368
[gcc] 2019-05-29 Bill Schmidt <wschmidt@linux.ibm.com> Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.c (rs6000_call_template_1): Handle pcrel calls here... (rs6000_indirect_call_template_1): ...and here. (rs6000_pltseq_template): Handle plt_pcrel34. Rework tocsave, plt16_ha, plt16_lo, mtctr indirect calls. Use rs6000_pltseq_enum. (rs6000_decl_ok_for_sibcall): New function. (rs6000_function_ok_for_sibcall): Refactor. (rs6000_longcall_ref): Use UNSPEC_PLT_PCREL when pcrel. (rs6000_call_aix): Don't emit toc restore rtl for indirect calls when pcrel. Reorganize. (rs6000_sibcall_aix): Don't add r2 to function usage when pcrel. * rs6000.h (rs6000_pltseq_enum): New enum. * rs6000.md (UNSPEC_PLT_PCREL): New unspec. (*pltseq_tocsave): Use rs6000_pltseq_enum. (*pltseq_plt16_ha): Likewise. (*pltseq_plt16_lo): Likewise. (*pltseq_mtctr): Likewise. (*pltseq_plt_pcrel): New insn. (*call_local_aix): Handle @notoc calls. (*call_value_local_aix): Likewise. (*call_nonlocal_aix): Adjust lengths for pcrel calls. (*call_value_nonlocal_aix): Likewise. (*call_indirect_pcrel): New insn. (*call_value_indirect_pcrel): Likewise. [gcc/testsuite] 2019-05-29 Bill Schmidt <wschmidt@linux.ibm.com> * gcc.target/powerpc/notoc-direct-1.c: New. * gcc.target/powerpc/pcrel-sibcall-1.c: New. Co-Authored-By: Alan Modra <amodra@gmail.com> From-SVN: r271753
2019-05-29re PR c++/90598 (Return type of explicit destructor call wrong)Jakub Jelinek4-0/+31
PR c++/90598 * tree.c (lvalue_kind): Return clk_none for expressions with with VOID_TYPE_P. * g++.dg/cpp0x/pr90598.C: New test. From-SVN: r271752
2019-05-29re PR fortran/90539 (481.wrf slowdown by 25% on Intel Kaby with -Ofast ↵Thomas Koenig11-48/+237
-march=native starting with r271377) 2019-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/90539 * gfortran.h (gfc_has_dimen_vector_ref): Add prototype. * trans.h (gfc_conv_subref_array_arg): Add argument check_contiguous. (gfc_conv_is_contiguous_expr): Add prototype. * frontend-passes.c (has_dimen_vector_ref): Remove prototype, rename to (gfc_has_dimen_vector_ref): New function name. (matmul_temp_args): Use gfc_has_dimen_vector_ref. (inline_matmul_assign): Likewise. * trans-array.c (gfc_conv_array_parameter): Also check for absence of a vector subscript before calling gfc_conv_subref_array_arg. Pass additional argument to gfc_conv_subref_array_arg. * trans-expr.c (gfc_conv_subref_array_arg): Add argument check_contiguous. If that is true, check if the argument is contiguous and do not repack in that case. * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): Split away most of the work into, and call (gfc_conv_intrinsic_is_coniguous_expr): New function. 2019-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/90539 * gfortran.dg/internal_pack_21.f90: Adjust scan patterns. * gfortran.dg/internal_pack_22.f90: New test. * gfortran.dg/internal_pack_23.f90: New test. From-SVN: r271751
2019-05-29* tree-ssa/alias-access-spath-1.c: new testcase.Jan Hubicka2-0/+25
From-SVN: r271750
2019-05-29sse.md (*save_multiple<mode>): Rename from save_multiple<mode>.Uros Bizjak2-4/+14
* config/i386/sse.md (*save_multiple<mode>): Rename from save_multiple<mode>. (*restore_multiple<mode>): Rename from restore_multiple<mode>. (*restore_multiple_and_return<mode>): Rename from restore_multiple_and_return<mode>. (*restore_multiple_leave_return<mode>): Rename from restore_multiple_leave_return<mode>. From-SVN: r271749
2019-05-29config.gcc (rx-*-linux*): New target.Yoshinori Sato8-12/+333
* config.gcc (rx-*-linux*): New target. * config/rx/elf.opt: New file. * config/rx/linux.h: Likewise. * config/rx/t-linux: Likewise. * config/rx/rx.c (TARGET_SAVE_ACC_REGISTER): If not defined, make it zero. * config/rx/rx.h (ASM_APP_ON): Allow to be overridden. (ASM_APP_OFF): Likewise. * config/rx/rx.opt: Drop -msim and -mas100-syntax, they were moved elsewhere. * config.host (rx-*-linux*): Add new case. * config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Force DFmode to SFmode. From-SVN: r271748
2019-05-29tree-ssa-alias.c (same_type_for_tbaa): Return ture if main variants are ↵Jan Hubicka2-0/+9
pointer equivalent. * tree-ssa-alias.c (same_type_for_tbaa): Return ture if main variants are pointer equivalent. From-SVN: r271747
2019-05-29re PR c++/89875 (invalid typeof reference to a member of an incomplete ↵Paolo Carlini5-9/+27
struct accepted at function scope) /cp 2019-05-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/89875 * parser.c (cp_parser_sizeof_operand): When the type-id production did not work out commit to the tentative parse. /testsuite 2019-05-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/89875 * g++.dg/cpp0x/decltype-pr66548.C: Remove xfail. * g++.dg/template/sizeof-template-argument.C: Adjust expected error. From-SVN: r271746
2019-05-29This patch implements the [u]avgM3_floor and [u]avgM3_ceil optabs for SVE2.Alejandro Martinez9-1/+227
From-SVN: r271739
2019-05-29re PR fortran/90329 (Incompatibility between gfortran and C lapack calls)Jakub Jelinek6-13/+43
PR fortran/90329 * lang.opt (fbroken-callers): Remove. (ftail-call-workaround, ftail-call-workaround=): New options. * gfortran.h (struct gfc_namespace): Add implicit_interface_calls. * interface.c (gfc_procedure_use): Set implicit_interface_calls for calls to implicit interface procedures. * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround instead of flag_broken_callers. If it is not 2, also require sym->ns->implicit_interface_calls. * invoke.texi (fbroken-callers): Remove documentation. (ftail-call-workaround, ftail-call-workaround=): Document. From-SVN: r271738
2019-05-29re PR bootstrap/90543 (Build failure on MINGW for gcc-9.1.0)Jakub Jelinek2-4/+47
PR bootstrap/90543 * optc-save-gen.awk: In cl_optimization_print, use correct condition for var_opt_string printing. In cl_optimization_print_diff, print (null) instead of invoking undefined behavior if one of the var_opt_string pointers is NULL and use && instead of first || in the guarding condition. For var_target_other options, handle const char * target variables similarly to const char * optimize node variables. From-SVN: r271736
2019-05-29[PATCH 3/3][GCC][AARCH64] Add support for pointer authentication B keySam Tebbs10-29/+202
gcc/ 2019-05-29 Sam Tebbs <sam.tebbs@arm.com> * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add AARCH64_PAUTH_BUILTIN_AUTIB1716 and AARCH64_PAUTH_BUILTIN_PACIB1716. * config/aarch64/aarch64-builtins.c (aarch64_init_pauth_hint_builtins): Add autib1716 and pacib1716 initialisation. * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Add checks for autib1716 and pacib1716. * config/aarch64/aarch64-protos.h (aarch64_key_type, aarch64_post_cfi_startproc): Define. * config/aarch64/aarch64-protos.h (aarch64_ra_sign_key): Define extern. * config/aarch64/aarch64.c (aarch64_handle_standard_branch_protection, aarch64_handle_pac_ret_protection): Set default sign key to A. * config/aarch64/aarch64.c (aarch64_expand_epilogue, aarch64_expand_prologue): Add check for b-key. * config/aarch64/aarch64.c (aarch64_ra_sign_key, aarch64_post_cfi_startproc, aarch64_handle_pac_ret_b_key): Define. * config/aarch64/aarch64.h (TARGET_ASM_POST_CFI_STARTPROC): Define. * config/aarch64/aarch64.c (aarch64_pac_ret_subtypes): Add "b-key". * config/aarch64/aarch64.md (unspec): Add UNSPEC_AUTIA1716, UNSPEC_AUTIB1716, UNSPEC_AUTIASP, UNSPEC_AUTIBSP, UNSPEC_PACIA1716, UNSPEC_PACIB1716, UNSPEC_PACIASP, UNSPEC_PACIBSP. * config/aarch64/aarch64.md (do_return): Add check for b-key. * config/aarch64/aarch64.md (<pauth_mnem_prefix>sp): Replace pauth_hint_num_a with pauth_hint_num. * config/aarch64/aarch64.md (<pauth_mnem_prefix>1716): Replace pauth_hint_num_a with pauth_hint_num. * config/aarch64/aarch64.opt (msign-return-address=): Deprecate. * config/aarch64/iterators.md (PAUTH_LR_SP): Add UNSPEC_AUTIASP, UNSPEC_AUTIBSP, UNSPEC_PACIASP, UNSPEC_PACIBSP. * config/aarch64/iterators.md (PAUTH_17_16): Add UNSPEC_AUTIA1716, UNSPEC_AUTIB1716, UNSPEC_PACIA1716, UNSPEC_PACIB1716. * config/aarch64/iterators.md (pauth_mnem_prefix): Add UNSPEC_AUTIA1716, UNSPEC_AUTIB1716, UNSPEC_PACIA1716, UNSPEC_PACIB1716, UNSPEC_AUTIASP, UNSPEC_AUTIBSP, UNSPEC_PACIASP, UNSPEC_PACIBSP. * config/aarch64/iterators.md (pauth_hint_num_a): Replace UNSPEC_PACI1716 and UNSPEC_AUTI1716 with UNSPEC_PACIA1716 and UNSPEC_AUTIA1716 respectively. * config/aarch64/iterators.md (pauth_hint_num_a): Rename to pauth_hint_num and add UNSPEC_PACIBSP, UNSPEC_AUTIBSP, UNSPEC_PACIB1716, UNSPEC_AUTIB1716. * doc/invoke.texi (-mbranch-protection): Add b-key type. * config/aarch64/aarch64-bti-insert.c (aarch64_pac_insn_p): Rename UNSPEC_PACISP to UNSPEC_PACIASP and UNSPEC_PACIBSP. gcc/testsuite 2019-05-29 Sam Tebbs <sam.tebbs@arm.com> * gcc.target/aarch64/return_address_sign_b_1.c: New file. * gcc.target/aarch64/return_address_sign_b_2.c: New file. * gcc.target/aarch64/return_address_sign_b_3.c: New file. * gcc.target/aarch64/return_address_sign_b_exception.c: New file. * gcc.target/aarch64/return_address_sign_ab_exception.c: New file. * gcc.target/aarch64/return_address_sign_builtin.c: New file libgcc/ 2019-05-29 Sam Tebbs <sam.tebbs@arm.com> * config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key): New function. * config/aarch64/aarch64-unwind.h (aarch64_post_extract_frame_addr, aarch64_post_frob_eh_handler_addr): Add check for b-key. * config/aarch64/aarch64-unwind-h (aarch64_post_extract_frame_addr, aarch64_post_frob_eh_handler_addr, aarch64_post_frob_update_context): Rename RA_A_SIGNED_BIT to RA_SIGNED_BIT. * unwind-dw2-fde.c (get_cie_encoding): Add check for 'B' in augmentation string. * unwind-dw2.c (extract_cie_info): Add check for 'B' in augmentation string. (RA_A_SIGNED_BIT): Rename to RA_SIGNED_BIT. From-SVN: r271735
2019-05-29gimplify.c (struct gimplify_omp_ctx): Add clauses member.Jakub Jelinek6-3/+101
* gimplify.c (struct gimplify_omp_ctx): Add clauses member. (gimplify_scan_omp_clauses): Initialize ctx->clauses. (gimplify_adjust_omp_clauses_1): Transform lastprivate conditional explicit clause on combined parallel into implicit shared clause. (gimplify_adjust_omp_clauses): Move lastprivate conditional clause and firstprivate if the decl has one too from combined parallel to the worksharing construct. gcc/testsuite/ * c-c++-common/gomp/lastprivate-conditional-2.c (foo): Don't expect sorry on lastprivate conditional on parallel for. * c-c++-common/gomp/lastprivate-conditional-3.c (foo): Add tests for lastprivate conditional warnings on parallel for constructs. * c-c++-common/gomp/lastprivate-conditional-4.c: New test. libgomp/ * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename to ... * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this. * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test. * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test. From-SVN: r271733
2019-05-29re PR c/90628 (__builtin_mul_overflow writes to const qualified integer)Jakub Jelinek4-0/+59
PR c/90628 * c-common.c (check_builtin_function_arguments) <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer as last argument. * c-c++-common/builtin-arith-overflow-3.c: New test. From-SVN: r271732
2019-05-29P1091R3 - Extending structured bindings to be more like var decls P1381R1 - ↵Jakub Jelinek2-0/+24
Reference capture of structured bindings P1091R3 - Extending structured bindings to be more like var decls P1381R1 - Reference capture of structured bindings * decl.c (cp_maybe_mangle_decomp): Handle TREE_STATIC decls even at function scope. (cp_finish_decomp): Copy over various decl properties from decl to v[i] in the tuple case. (grokdeclarator): Allow static, thread_local and __thread for C++2a and use pedwarn instead of error for older standard revisions. Make other structured binding diagnostic messages more i18n friendly. * g++.dg/cpp1z/decomp3.C (test): For static, expect only warning instead of error and only for c++17_down. Add a thread_local test. (z2): Add a __thread test. * g++.dg/cpp2a/decomp1.C: New test. * g++.dg/cpp2a/decomp1-aux.cc: New file. * g++.dg/cpp2a/decomp2.C: New test. * g++.dg/cpp2a/decomp3.C: New test. From-SVN: r271731
2019-05-29P1091R3 - Extending structured bindings to be more like var decls P1381R1 - ↵Jakub Jelinek6-26/+299
Reference capture of structured bindings P1091R3 - Extending structured bindings to be more like var decls P1381R1 - Reference capture of structured bindings * decl.c (cp_maybe_mangle_decomp): Handle TREE_STATIC decls even at function scope. (cp_finish_decomp): Copy over various decl properties from decl to v[i] in the tuple case. (grokdeclarator): Allow static, thread_local and __thread for C++2a and use pedwarn instead of error for older standard revisions. Make other structured binding diagnostic messages more i18n friendly. * g++.dg/cpp1z/decomp3.C (test): For static, expect only warning instead of error and only for c++17_down. Add a thread_local test. (z2): Add a __thread test. * g++.dg/cpp2a/decomp1.C: New test. * g++.dg/cpp2a/decomp1-aux.cc: New file. * g++.dg/cpp2a/decomp2.C: New test. * g++.dg/cpp2a/decomp3.C: New test. From-SVN: r271730
2019-05-29Remove duplicite dg-compile (PR testsuite/90657).Martin Liska2-2/+6
2019-05-29 Martin Liska <mliska@suse.cz> PR testsuite/90657 * gcc.dg/ipa/pr90555.c: Remove duplicite dg-compile. From-SVN: r271729
2019-05-29rs6000-cpus.def (OTHER_FUTURES_MASK): New #define.Bill Schmidt4-0/+24
[gcc] 2019-05-28 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000-cpus.def (OTHER_FUTURES_MASK): New #define. [gcc/testsuite] 2019-05-28 Bill Schmidt <wschmidt@linux.ibm.com> * gcc.target/powerpc/localentry-detect-1.c: New file. Co-Authored-By: Michael Meissner <meissner@linux.ibm.com> From-SVN: r271728
2019-05-29rtl.h (LABEL_REF_P): New #define.Michael Meissner2-0/+8
2019-05-28 Michael Meissner <meissner@linux.ibm.com> * rtl.h (LABEL_REF_P): New #define. From-SVN: r271727
2019-05-29Daily bump.GCC Administrator1-1/+1
From-SVN: r271726
2019-05-28pa.c (hppa_profile_hook): Remove offset adjustment.John David Anglin2-14/+9
* config/pa/pa.c (hppa_profile_hook): Remove offset adjustment. From-SVN: r271720
2019-05-28[C++ PATCH] template specializationsNathan Sidwell2-3/+9
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01844.html * decl.c (duplicate_decls): Assert a template newdecl has no specializations. From-SVN: r271713