aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2020-10-15[Ada] Bring defensive guard for Null_Exclusion_Present up to datePiotr Trojanek1-9/+13
gcc/ada/ * sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion with assertion in Null_Exclusion_Present; clarify the scope of local variables.
2020-10-15[Ada] Explain predicate function not being inherited by index typePiotr Trojanek1-10/+15
gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): Fix style. (Make_Index): Refactor to avoid repeated detection of subtype indication; add comment.
2020-10-15[Ada] Adjust style in support for CUDA_Execute pragmaPiotr Trojanek1-8/+8
gcc/ada/ * sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA package unless necessary; rename local Tmp variable; iterate with procedural Next.
2020-10-15[Ada] Avoid unnecessary (re)assignments in Make_InfoPiotr Trojanek2-16/+13
gcc/ada/ * sem_ch3.adb (Array_Type_Declaration): Refine type of a local variable. (Make_Index): Simplify to avoid assignment with a type entity and then backtracking by reassigning to Empty; remove excessive whitespace. * sem_ch9.adb (Analyze_Entry_Body): Remove extra parens.
2020-10-15[Ada] Remove excessive defensive calls to Is_TypePiotr Trojanek1-3/+1
gcc/ada/ * sem_ch3.adb (Access_Subprogram_Declaration): Remove extra parens. (Make_Index): Remove excessive calls to Is_Type.
2020-10-15[Ada] Code cleanupArnaud Charlet1-11/+2
gcc/ada/ * sem_util.adb (Enter_Name): Remove unnecessary conditions in Enter_Name that come from the beginning of times.
2020-10-15[Ada] Remove obsolete DSP commentBob Duff1-9/+8
gcc/ada/ * exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part of comment, and reformat.
2020-10-15[Ada] Do not expand 'Initialized in codepeer modeBoris Yakobowski1-0/+8
gcc/ada/ * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand 'Initialized in CodePeer mode.
2020-10-15[Ada] Assert failure on incorrect codeArnaud Charlet1-1/+6
gcc/ada/ * sem_ch12.adb (Reset_Entity): Protect against malformed tree.
2020-10-15[Ada] Double evaluation of predicateArnaud Charlet1-1/+1
gcc/ada/ * sem_ch13.adb (Add_Predicates): Prevent analyzing twice the same pragma in case an inner package references the type with a predicate (as opposed to defining the type).
2020-10-15[Ada] Do not use maximal values from System in runtime unitsEric Botcazou5-9/+5
gcc/ada/ * libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer. * libgnat/a-cofove.adb (Int): Likewise. * libgnat/a-cgcaso.adb (T): Likewise. * libgnat/a-cogeso.adb (T): Likewise. * libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size.
2020-10-15[Ada] Simplify membership tests with N_Entity subtypePiotr Trojanek1-10/+3
gcc/ada/ * sem_ch12.adb: Replace list of N_Defining_... enumerations with N_Entity.
2020-10-15[Ada] Refine type from Nat to Pos in Make_IndexPiotr Trojanek2-6/+6
gcc/ada/ * sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of parameter. (Constrain_Index): Likewise. (Array_Type_Declaration): Refine type of a local counter variable; remove a trivially useless initialization.
2020-10-15[Ada] Fix range check on constrained array with expanded index namePiotr Trojanek1-2/+2
gcc/ada/ * sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both identifiers and expanded names; use high-level Is_Scalar_Type instead of low-level membership test.
2020-10-15[Ada] Add support for compile time evaluation of Shift_Right_ArithmeticArnaud Charlet2-50/+127
gcc/ada/ * sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support for Shift_Right_Arithmetic and for signed integers. * exp_ch4.adb (Expand_N_Op_Rotate_Left, Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left, Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code cleanup to ensure a consistent handling. Update comments and add assertion.
2020-10-15[Ada] Ada2020: AI12-0180 Using subprograms and entries in invariantsBob Duff2-10/+19
gcc/ada/ * sem_ch13.adb (Visible_Component): Enable this code for task and protected types, as well as record and private types. * sem_ch13.ads (Replace_Type_References_Generic): Update comment. Move the efficiency comment into the body, because it's about the implementation.
2020-10-15[Ada] Warn on unknown aspectArnaud Charlet2-6/+8
gcc/ada/ * par-ch13.adb (Get_Aspect_Specifications): Generate a warning rather than an error on unknown aspects unless -gnatd2 is used. (Aspect_Specifications_Present): Improve detection of unknown aspects. * debug.adb (Debug_Flag_2): Update document.
2020-10-15[Ada] Complete support for static intrinsic functionsArnaud Charlet1-0/+1
gcc/ada/ * sem_res.adb (Resolve_Call): Do not try to inline intrinsic calls.
2020-10-15[Ada] Ada_2020: Add aspect Aggregate to standard container unitsEd Schonberg24-26/+200
gcc/ada/ * exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires a non-private type. * sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to Resolve_Aspect_Aggregate, to handle the case when the corresponding name appearing in the aspect specification for an indexed aggregate is an overloaded operation. * libgnat/a-convec.ads, libgnat/a-convec.adb, libgnat/a-coinve.ads, libgnat/a-coinve.adb, libgnat/a-cobove.ads, libgnat/a-cobove.adb, libgnat/a-cdlili.ads, libgnat/a-cdlili.adb, libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb, libgnat/a-cohama.ads, libgnat/a-cihama.ads, libgnat/a-cbhama.ads, libgnat/a-cborma.ads, libgnat/a-ciorma.ads, libgnat/a-coorma.ads, libgnat/a-cihase.ads, libgnat/a-cohase.ads, libgnat/a-cbhase.ads, libgnat/a-cborse.ads, libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect Aggregate to types declared in standard containers, as well as new subprograms where required.
2020-10-15[Ada] Add iterators over GNAT.Array_Split.Slice_SetArnaud Charlet2-11/+51
gcc/ada/ * libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create, First_Cursor, Advance, Has_Element): New.
2020-10-15[Ada] AI12-0385 Predefined shifts and rotates should be staticArnaud Charlet4-4/+212
gcc/ada/ * Makefile.rtl: Add target pair for interfac.ads. * libgnat/interfac.ads: Add a comment. * libgnat/interfac__2020.ads: New, used for bootstrap purposes. * sem_util.adb (Is_Static_Function): Always return False for pre Ada 2020 to e.g. ignore the Static aspect in Interfaces for Ada < 2020.
2020-10-15[Ada] Do not remove side effects from any object declarations in SPARKPiotr Trojanek1-10/+9
gcc/ada/ * exp_util.adb (Remove_Side_Effects): Move special-casing for GNATprove to be applied to all object declarations.
2020-10-15tree-optimization/97482 - fix split_constant_offset of nop-conversionsRichard Biener3-1/+48
split_constant_offset is confused about a nop-conversion from unsigned long to sizetype and tries to prove non-overflowing of the inner operation. Obviously the conversion could have been elided so make sure split_constant_offset handles this properly. It also makes sure that convert_to_ptrofftype does not introduce conversions not necessary which in this case is the source for the unnecessary conversion. 2020-10-15 Richard Biener <rguenther@suse.de> PR tree-optimization/97482 * tree-data-ref.c (split_constant_offset_1): Handle trivial conversions better. * fold-const.c (convert_to_ptrofftype_loc): Elide conversion if the offset is already ptrofftype_p. * gcc.dg/vect/pr97428.c: New testcase.
2020-10-15[nvptx, testsuite] Remove xfail for PR84958Tom de Vries1-1/+1
The xfail in gcc.dg/tree-ssa/pr84512.c for PR84958 has started to xpass, presumably because of commit 744fd446c32 "tree-ssa-sccvn.c (class pass_fre): Add may_iterate pass parameter". Remove the xfail. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.dg/tree-ssa/pr84512.c: Remove xfail for nvptx.
2020-10-15[nvptx, testsuite] Fix xpass with ident-0b.cTom de Vries1-0/+1
For nvptx, I see: ... XPASS: c-c++-common/ident-0b.c -Wc++-compat scan-assembler-not GCC: ... Fix this by requiring effective target ident_directive. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * c-c++-common/ident-0b.c: Require effective target ident_directive.
2020-10-15[nvptx, testsuite] Remove dg-skip-if for ptxas oomTom de Vries1-1/+0
There's a dg-skip-if for nvptx that is related to ptxas oom. If I remove it, the test-case passes for me (with ptxas from cuda 9.1). I've tested it on a range of cudas, from 5.0 to 11.1 and did not manage to reproduce the fail. Remove the dg-skip-if. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.c-torture/compile/limits-externdecl.c: Remove dg-skip-if for nvptx.
2020-10-15[nvptx, testsuite] Disable default xfailsTom de Vries2-3/+3
For nvptx, I run into a couple of XPASSes due to nvptx not being listed in: ... { xfail { ! { long list of targets } } } ... Add nvptx to the list to get a PASS. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.dg/attr-alloc_size-11.c: Don't xfail for nvptx. * gcc.dg/tree-ssa/20040204-1.c: Same.
2020-10-15[nvptx, testsuite] Remove dg-skip-if for ptxas crash fixed in cuda 8.0Tom de Vries1-1/+0
The test-case gcc.c-torture/execute/pr68185.c has a dg-skip-if for nvptx due to "ptxas crashes or executes incorrectly". I've managed to reproduce the problem using cuda 7.5: ... FAIL: gcc.c-torture/execute/pr68185.c -O0 (test for excess errors) Excess errors: nvptx-as: ptxas terminated with signal 11 [Segmentation fault], core dumped ... but it's fixed starting cuda 8.0. Remove the dg-skip-if. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.c-torture/execute/pr68185.c: Remove dg-skip-if for nvptx.
2020-10-15[nvptx, testsuite] Remove dg-skip-if for ptxas crashesTom de Vries1-2/+0
There's a dg-skip-if for nvptx that is related to a ptxas crash. If I remove it, the test-case passes for me (with ptxas from cuda 9.1). I've tested this on a range of cudas, from 5.0 to 11.1 and did not manage to reproduce the fail. Remove the dg-skip-if. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.c-torture/execute/981019-1.c: Remove dg-skip-if for nvptx.
2020-10-15[nvptx, testsuite] Remove xpassing xfails for ptxas crashesTom de Vries6-6/+0
There's a couple of nvptx xfails that are related to ptxas crashes, which are xpassing for me (with ptxas from cuda 9.1). I've tested these on a range of cudas, from 5.0 to 11.1 and did not manage to reproduce the fails. Remove the xfails. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-15 Tom de Vries <tdevries@suse.de> * gcc.c-torture/compile/pr42717.c: Remove nvptx xfail. * gcc.c-torture/compile/pr61684.c: Same. * gcc.c-torture/execute/pr20601-1.c: Same. * gcc.c-torture/execute/pr52129.c: Same. * gcc.c-torture/execute/pr59221.c: Same. * gcc.dg/pr68671.c: Same.
2020-10-15testsuite: Partially fix up modref-*.c testsJakub Jelinek2-11/+13
This ia a partial attempt to fix: FAIL: gcc.dg/ipa/modref-1.c (test for excess errors) FAIL: gcc.dg/ipa/modref-1.c scan-ipa-dump modref "param offset: 1" FAIL: gcc.dg/ipa/modref-1.c scan-ipa-dump modref "param offset: 2" FAIL: gcc.dg/tree-ssa/modref-4.c (test for excess errors) FAIL: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref1 "param offset: 1" UNRESOLVED: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref2 "param offset: 2" UNRESOLVED: gcc.dg/tree-ssa/modref-4.c scan-tree-dump modref2 "return 0" The return 0 scan still FAILs. 2020-10-15 Jakub Jelinek <jakub@redhat.com> * gcc.dg/ipa/modref-1.c: Remove space between param offset: and number in scan-ipa-dump. (b): Declare return type to void. (main): Declare return type to int. Change c to array of 3 chars. * gcc.dg/tree-ssa/modref-4.c: Remove space between param offset: and number in scan-ipa-dump. Use modref1 instead of modref2. (b): Declare return type to void. (main): Declare return type to int. Change c to array of 3 chars.
2020-10-15IPA: fix profile handling in IRAMartin Liska2-3/+4
gcc/ChangeLog: PR ipa/97295 * profile-count.c (profile_count::to_frequency): Move part of gcc_assert to STATIC_ASSERT. * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for a function that does not have count_max initialized.
2020-10-15params: Fix up help.exp testingJakub Jelinek1-1/+1
This patch fixes: Running /usr/src/gcc/gcc/testsuite/gcc.misc-tests/help.exp ... FAIL: compiler driver --help=params option(s): "[^.]$" absent from output: "y" FAIL: compiler driver --help=param option(s): "^ +-.*[^:.]$" absent from output: " --param-ipa-jump-function-lookups= Maximum number of statements visited during jump function offset discovery" 2020-10-15 Jakub Jelinek <jakub@redhat.com> * params.opt (-param-ipa-jump-function-lookups=): Add full stop at the end of the parameter description.
2020-10-15RISC-V: Add support for -mcpu option.Kito Cheng15-61/+356
- The behavior of -mcpu basically equal to -march plus -mtune, but it has lower priority than -march and -mtune. - The behavior and available options has sync with clang except we don't add few LLVM specific value, and add more sifive processor to the list. - -mtune also accept all available options of -mcpu, and use it setting. gcc/ChangeLog: * common/config/riscv/riscv-common.c (riscv_cpu_tables): New. (riscv_arch_str): Return empty string if current_subset_list is NULL. (riscv_find_cpu): New. (riscv_handle_option): Verify option value of -mcpu. (riscv_expand_arch): Using std::string. (riscv_default_mtune): New. (riscv_expand_arch_from_cpu): Ditto. * config/riscv/riscv-cores.def: New. * config/riscv/riscv-protos.h (riscv_find_cpu): New. (riscv_cpu_info): New. * config/riscv/riscv.c (riscv_tune_info): Rename ... (riscv_tune_param): ... to this. (riscv_cpu_info): Rename ... (riscv_tune_info): ... to this. (tune_info): Rename ... (tune_param): ... to this. (rocket_tune_info): Update data type name. (sifive_7_tune_info): Ditto. (optimize_size_tune_info): Ditto. (riscv_cpu_info_table): Rename ... (riscv_tune_info_table): ... to this. (riscv_parse_cpu): Rename ... (riscv_parse_tune): ... to this, and translate valid -mcpu option to -mtune option. (riscv_rtx_costs): Rename tune_info to tune_param. (riscv_class_max_nregs): Ditto. (riscv_memory_move_cost): Ditto. (riscv_init_machine_status): Use value of -mcpu if -mtune is not given, and rename tune_info to tune_param. * config/riscv/riscv.h (riscv_expand_arch_from_cpu): New. (riscv_default_mtune): Ditto. (EXTRA_SPEC_FUNCTIONS): Add riscv_expand_arch_from_cpu and riscv_default_mtune. (OPTION_DEFAULT_SPECS): Handle default value of -march/-mabi. (DRIVER_SELF_SPECS): Expand -march from -mcpu if -march is not given. * config/riscv/riscv.opt (-mcpu): New option. * config/riscv/t-riscv ($(common_out_file)): Add riscv-cores.def to dependency. * doc/invoke.texi (RISC-V Option): Add -mcpu, and update the description of default value for -mtune and -march. gcc/testsuite/ChangeLog: * gcc.target/riscv/mcpu-1.c: New. * gcc.target/riscv/mcpu-2.c: Ditto. * gcc.target/riscv/mcpu-3.c: Ditto. * gcc.target/riscv/mcpu-4.c: Ditto. * gcc.target/riscv/mcpu-5.c: Ditto. * gcc.target/riscv/mcpu-6.c: Ditto. * gcc.target/riscv/mcpu-7.c: Ditto.
2020-10-15Enable Intel HRESET InstructionHongyu Wang24-14/+140
gcc/ * common/config/i386/cpuinfo.h (get_available_features): Detect HRESET. * common/config/i386/i386-common.c (OPTION_MASK_ISA2_HRESET_SET, OPTION_MASK_ISA2_HRESET_UNSET): New macros. (ix86_handle_option): Handle -mhreset. * common/config/i386/i386-cpuinfo.h (enum processor_features): Add FEATURE_HRESET. * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY for hreset. * config.gcc: Add hresetintrin.h * config/i386/hresetintrin.h: New header file. * config/i386/x86gprintrin.h: Include hresetintrin.h. * config/i386/cpuid.h (bit_HRESET): New. * config/i386/i386-builtin.def: Add new builtin. * config/i386/i386-expand.c (ix86_expand_builtin): Handle new builtin. * config/i386/i386-c.c (ix86_target_macros_internal): Define __HRESET__. * config/i386/i386-options.c (isa2_opts): Add -mhreset. (ix86_valid_target_attribute_inner_p): Handle hreset. * config/i386/i386.h (TARGET_HRESET, TARGET_HRESET_P, PTA_HRESET): New. (PTA_ALDERLAKE): Add PTA_HRESET. * config/i386/i386.opt: Add option -mhreset. * config/i386/i386.md (UNSPECV_HRESET): New unspec. (hreset): New define_insn. * doc/invoke.texi: Document -mhreset. * doc/extend.texi: Document hreset. gcc/testsuite/ * gcc.target/i386/hreset-1.c: New test. * gcc.target/i386/funcspec-56.inc: Add new target attribute. * gcc.target/i386/x86gprintrin-1.c: Add -mhreset. * gcc.target/i386/x86gprintrin-2.c: Ditto. * gcc.target/i386/x86gprintrin-3.c: Ditto. * gcc.target/i386/x86gprintrin-4.c: Add mhreset. * gcc.target/i386/x86gprintrin-5.c: Ditto.
2020-10-15Enable gcc support for UINTRliuhongt31-8/+278
2020-05-20 Hongtao Liu <hongtao.liu@intel.com> gcc/ * common/config/i386/cpuinfo.h (get_available_features): Detect UINTR. * common/config/i386/i386-common.c (OPTION_MASK_ISA2_UINTR_SET OPTION_MASK_ISA2_UINTR_UNSET): New. (ix86_handle_option): Handle -muintr. * common/config/i386/i386-cpuinfo.h (enum processor_features): Add FEATURE_UINTR. * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY for uintr. * config.gcc: Add uintrintrin.h to extra_headers. * config/i386/uintrintrin.h: New. * config/i386/cpuid.h (bit_UINTR): New. * config/i386/i386-builtin-types.def: Add new types. * config/i386/i386-builtin.def: Add new builtins. * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Add __builtin_ia32_testui. * config/i386/i386-builtins.h (ix86_builtins): Add IX86_BUILTIN_TESTUI. * config/i386/i386-c.c (ix86_target_macros_internal): Define __UINTR__. * config/i386/i386-expand.c (ix86_expand_special_args_builtin): Handle UINT8_FTYPE_VOID. (ix86_expand_builtin): Handle IX86_BUILTIN_TESTUI. * config/i386/i386-options.c (isa2_opts): Add -muintr. (ix86_valid_target_attribute_inner_p): Handle UINTR. (ix86_option_override_internal): Add TARGET_64BIT check for UINTR. * config/i386/i386.h (TARGET_UINTR, TARGET_UINTR_P, PTA_UINTR): New. (PTA_SAPPHIRRAPIDS): Add PTA_UINTR. * config/i386/i386.opt: Add -muintr. * config/i386/i386.md (define_int_iterator UINTR_UNSPECV): New. (define_int_attr uintr_unspecv): New. (uintr_<uintr_unspecv>, uintr_senduipi, testui): New define_insn patterns. * config/i386/x86gprintrin.h: Include uintrintrin.h * doc/invoke.texi: Document -muintr. * doc/extend.texi: Document uintr. gcc/testsuite/ * gcc.target/i386/funcspec-56.inc: Add new target attribute. * gcc.target/i386/uintr-1.c: New test. * gcc.target/i386/uintr-2.c: Ditto. * gcc.target/i386/uintr-3.c: Ditto. * gcc.target/i386/uintr-4.c: Ditto. * gcc.target/i386/uintr-5.c: Ditto. * gcc.target/i386/x86gprintrin-1.c: Add -muintr for 64bit target. * gcc.target/i386/x86gprintrin-2.c: Ditto. * gcc.target/i386/x86gprintrin-3.c: Ditto. * gcc.target/i386/x86gprintrin-4.c: Add muintr for 64bit target. * gcc.target/i386/x86gprintrin-5.c: Ditto.
2020-10-15Daily bump.GCC Administrator7-1/+448
2020-10-14libgo: print reason code if throwing unwind exception failsNikhil Benesch1-1/+1
Calls to _Unwind_RaiseException and friends *can* return due to bugs in libgo or memory corruption. When this occurs, print a message to stderr with the reason code before aborting to aid debugging. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261257
2020-10-14PR middle-end/97391 - bogus -Warray-bounds accessing a multidimensional ↵Martin Sebor2-5/+120
array parameter gcc/ChangeLog: PR middle-end/97391 * builtins.c (gimple_parm_array_size): Peel off one less layer of array types. gcc/testsuite/ChangeLog: PR middle-end/97391 * gcc.dg/Warray-bounds-68.c: New test.
2020-10-14PR c/97413 - bogus error on function declaration with many VLA argumentsMartin Sebor3-4/+97
gcc/ChangeLog: PR c/97413 * attribs.c (init_attr_rdwr_indices): Unwrap extra list layer. gcc/c-family/ChangeLog: PR c/97413 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA bounds in an extra list. gcc/testsuite/ChangeLog: PR c/97413 * gcc.dg/Wvla-parameter-8.c: New test.
2020-10-14[testsuite] Don't overwrite compiler_flags in check_compileTom de Vries1-0/+3
Consider the test-case gcc.c-torture/compile/pr42717.c, which has: ... /* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O0" } { "" } } */ ... When running make check-gcc, I get: ... XPASS: gcc.c-torture/compile/pr42717.c -O0 (test for excess errors) ... but when forcing to run only that test-case using RUNTESTFLAGS=compile.exp=pr42717.c I get instead: ... PASS: gcc.c-torture/compile/pr42717.c -O0 (test for excess errors) ... Using RUNTESTFLAGS="-v -v -v" we can see what happens: ... check_cached_effective_target exceptions_enabled: \ returning 1 for nvptx-none-run Limited to targets: *-*-* Will search for options "-O0" Will exclude for options "" Compiler flags are: exceptions_enabled9848.cc -fdiagnostics-plain-output \ --sysroot=/home/vries/nvptx/trunk/install/nvptx-none -S -isystem \ /home/vries/nvptx/trunk/build-gcc/nvptx-none/./newlib/targ-include \ -isystem /home/vries/nvptx/trunk/source-gcc/newlib/libc/include \ -o exceptions_enabled9848.s Checking "*-*-*" against "nvptx-unknown-none" Looking for -O0 to include in the compiler flags Looking for to exclude in the compiler flags This is not a conditional match PASS: gcc.c-torture/compile/pr42717.c -O0 (test for excess errors) ... The effective target exceptions_enabled is tested from gcc-dg-prune, but the calculation overwrites $compiler_flags, which is subsequently tested for -O0. Fix this by saving and restoring $compiler_flags when calling ${tool}_target_compile in check_compile. Tested on nvptx. gcc/testsuite/ChangeLog: 2020-10-14 Tom de Vries <tdevries@suse.de> * lib/target-supports.exp (check_compile): Save and restore $compiler_flags when calling ${tool}_target_compile.
2020-10-14libgo: export NetBSD-specific types in mksysinfo.shNikhil Benesch1-1/+1
The syscall package depends on many NetBSD-specific types on NetBSD. Teach mksysinfo.sh to export these types. This alone is not sufficient to get the syscall package to compile on NetBSD, but it's a start. Note that the IfMsgHdr type is recapitalized to IfMsghdr, which requires changes in the AIX port. The new capitalization is what's used by upstream in existing NetBSD-specific code and is more consistent with the capitalization of other C structs with the "hdr" suffix. Updates golang/go#38538. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261739
2020-10-14runtime: correct semaphore implementation on netbsdNikhil Benesch1-1/+1
NetBSD's semaphores use the underlying lighweight process mechanism (LWP) on NetBSD, rather than pthreads. This means the m.prodcid needs to be set to the LWP ID rather than the pthread ID in order for unpark notifications to get sent to the right place. Introduce a new getProcID() method that selects the correct ID for the platform. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261742
2020-10-14analyzer: fix ICE on globals with unknown size [PR93388]David Malcolm3-21/+40
This patch fixes an ICE seen when attempting to build various existing tests in our testsuite with -fanalyzer, including gcc.c-torture/compile/980816-1.c. gcc/analyzer/ChangeLog: PR analyzer/93388 * region-model.cc (region_model::get_initial_value_for_global): Fall back to returning an initial_svalue if decl_region::get_svalue_for_initializer fails. * region.cc (decl_region::get_svalue_for_initializer): Don't attempt to create a compound_svalue if the region has an unknown size. gcc/testsuite/ChangeLog: PR analyzer/93388 * gcc.dg/analyzer/data-model-21.c: New test.
2020-10-14analyzer: fix build with ada [PR93723]David Malcolm1-1/+0
gcc/analyzer/ChangeLog: PR analyzer/93723 * store.cc (binding_map::apply_ctor_to_region): Remove redundant assertion.
2020-10-14analyzer: don't use <setjmp.h> in tests [PR97394]David Malcolm4-6/+15
PR analyzer/97394 reports issues with analyzer setjmp results when testing against MUSL. This patch fixes up gcc.dg/analyzer so that it doesn't use <setjmp.h>. gcc/testsuite/ChangeLog: PR analyzer/97394 * gcc.dg/analyzer/setjmp-pr93378.c: Use test-setjmp.h rather than <setjmp.h>. * gcc.dg/analyzer/sigsetjmp-5.c: Likewise. * gcc.dg/analyzer/sigsetjmp-6.c: Likewise. * gcc.dg/analyzer/test-setjmp.h: Don't include <setjmp.h>. Provide decls of jmp_buf, sigjmp_buf, setjmp, sigsetjmp, longjmp, and siglongjmp.
2020-10-14c++: Diagnose bogus variadic lambda. [PR97358]Jason Merrill2-5/+32
If the lambda has a capture pack, it cannot be used unexpanded within the body of the lambda. If you want to expand the pack across multiple lambdas, don't capture the whole pack. gcc/cp/ChangeLog: PR c++/97358 * pt.c (check_for_bare_parameter_packs): Diagnose use of capture pack. gcc/testsuite/ChangeLog: PR c++/97358 * g++.dg/cpp0x/lambda/lambda-variadic11.C: New test.
2020-10-14x86: Add missing intrinsics [PR95483]Sunil K Pandey64-57/+1429
Tested on x86-64. gcc/ChangeLog: PR target/95483 * config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New intrinsics. (_mm_broadcastsd_pd): Ditto. * config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New intrinsics. (_mm512_storeu_epi16): Ditto. (_mm512_loadu_epi8): Ditto. (_mm512_storeu_epi8): Ditto. * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New intrinsics. (_mm_mask_reduce_round_sd): Ditto. (_mm_maskz_reduce_round_sd): Ditto. (_mm_reduce_round_ss): Ditto. (_mm_mask_reduce_round_ss): Ditto. (_mm_maskz_reduce_round_ss): Ditto. (_mm512_reduce_round_pd): Ditto. (_mm512_mask_reduce_round_pd): Ditto. (_mm512_maskz_reduce_round_pd): Ditto. (_mm512_reduce_round_ps): Ditto. (_mm512_mask_reduce_round_ps): Ditto. (_mm512_maskz_reduce_round_ps): Ditto. * config/i386/avx512erintrin.h (_mm_mask_rcp28_round_sd): New intrinsics. (_mm_maskz_rcp28_round_sd): Ditto. (_mm_mask_rcp28_round_ss): Ditto. (_mm_maskz_rcp28_round_ss): Ditto. (_mm_mask_rsqrt28_round_sd): Ditto. (_mm_maskz_rsqrt28_round_sd): Ditto. (_mm_mask_rsqrt28_round_ss): Ditto. (_mm_maskz_rsqrt28_round_ss): Ditto. (_mm_mask_rcp28_sd): Ditto. (_mm_maskz_rcp28_sd): Ditto. (_mm_mask_rcp28_ss): Ditto. (_mm_maskz_rcp28_ss): Ditto. (_mm_mask_rsqrt28_sd): Ditto. (_mm_maskz_rsqrt28_sd): Ditto. (_mm_mask_rsqrt28_ss): Ditto. (_mm_maskz_rsqrt28_ss): Ditto. * config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics. (_mm_maskz_sqrt_sd): Ditto. (_mm_mask_sqrt_ss): Ditto. (_mm_maskz_sqrt_ss): Ditto. (_mm_mask_scalef_sd): Ditto. (_mm_maskz_scalef_sd): Ditto. (_mm_mask_scalef_ss): Ditto. (_mm_maskz_scalef_ss): Ditto. (_mm_mask_cvt_roundsd_ss): Ditto. (_mm_maskz_cvt_roundsd_ss): Ditto. (_mm_mask_cvt_roundss_sd): Ditto. (_mm_maskz_cvt_roundss_sd): Ditto. (_mm_mask_cvtss_sd): Ditto. (_mm_maskz_cvtss_sd): Ditto. (_mm_mask_cvtsd_ss): Ditto. (_mm_maskz_cvtsd_ss): Ditto. (_mm512_cvtsi512_si32): Ditto. (_mm_cvtsd_i32): Ditto. (_mm_cvtss_i32): Ditto. (_mm_cvti32_sd): Ditto. (_mm_cvti32_ss): Ditto. (_mm_cvtsd_i64): Ditto. (_mm_cvtss_i64): Ditto. (_mm_cvti64_sd): Ditto. (_mm_cvti64_ss): Ditto. * config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New intrinsics. (_mm_storeu_epi8): Ditto. (_mm256_loadu_epi16): Ditto. (_mm_loadu_epi16): Ditto. (_mm256_loadu_epi8): Ditto. (_mm_loadu_epi8): Ditto. (_mm256_storeu_epi16): Ditto. (_mm_storeu_epi16): Ditto. * config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics. (_mm_load_epi64): Ditto. (_mm256_load_epi32): Ditto. (_mm_load_epi32): Ditto. (_mm256_store_epi32): Ditto. (_mm_store_epi32): Ditto. (_mm256_loadu_epi64): Ditto. (_mm_loadu_epi64): Ditto. (_mm256_loadu_epi32): Ditto. (_mm_loadu_epi32): Ditto. (_mm256_mask_cvt_roundps_ph): Ditto. (_mm256_maskz_cvt_roundps_ph): Ditto. (_mm_mask_cvt_roundps_ph): Ditto. (_mm_maskz_cvt_roundps_ph): Ditto. * config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics. * config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics. (_mm_loadu_si16): Ditto. (_mm_storeu_si32): Ditto. (_mm_storeu_si16): Ditto. * config/i386/i386-builtin-types.def (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type. (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto. (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto. (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto. * config/i386/i386-builtin.def (__builtin_ia32_cvtsd2ss_mask_round): New builtin. (__builtin_ia32_cvtss2sd_mask_round): Ditto. (__builtin_ia32_rcp28sd_mask_round): Ditto. (__builtin_ia32_rcp28ss_mask_round): Ditto. (__builtin_ia32_rsqrt28sd_mask_round): Ditto. (__builtin_ia32_rsqrt28ss_mask_round): Ditto. (__builtin_ia32_reducepd512_mask_round): Ditto. (__builtin_ia32_reduceps512_mask_round): Ditto. (__builtin_ia32_reducesd_mask_round): Ditto. (__builtin_ia32_reducess_mask_round): Ditto. * config/i386/i386-expand.c (ix86_expand_round_builtin): Expand round builtin for new type. (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT) (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT) (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT) (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT) * config/i386/mmintrin.h () Define datatype __m32 and __m16. Define datatype __m32_u and __m16_u. * config/i386/sse.md: Adjust pattern. (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): Adjust. (reduces<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto. (sse2_cvtsd2ss<mask_name><round_name>): Ditto. (sse2_cvtss2sd<mask_name><round_saeonly_name>): Ditto. (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto. (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto. gcc/testsuite/ChangeLog: PR target/95483 * gcc.target/i386/avx-1.c: Add test. * gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto. * gcc.target/i386/avx2-vbroadcastsi128-2.c: Ditto. * gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto. * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto. * gcc.target/i386/avx512dq-vreducesd-1.c: Ditto. * gcc.target/i386/avx512dq-vreducesd-2.c: Ditto. * gcc.target/i386/avx512dq-vreducess-1.c: Ditto. * gcc.target/i386/avx512dq-vreducess-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto. * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto. * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto. * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto. * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto. * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto. * gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto. * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto. * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto. * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto. * gcc.target/i386/avx512f-vscalefsd-2.c: Ditto. * gcc.target/i386/avx512f-vscalefss-1.c: Ditto. * gcc.target/i386/avx512f-vscalefss-2.c: Ditto. * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto. * gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto. * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto. * gcc.target/i386/avx512f-vsqrtss-2.c: Ditto. * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto. * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * gcc.target/i386/avx512dq-vreducepd-3.c: New test. * gcc.target/i386/avx512dq-vreducepd-4.c: New test. * gcc.target/i386/avx512dq-vreduceps-3.c: New test. * gcc.target/i386/avx512dq-vreduceps-4.c: New test. * gcc.target/i386/avx512f-vcvtsi2sd-1.c: New test. * gcc.target/i386/pr95483-1.c: New test. * gcc.target/i386/pr95483-2.c: New test. * gcc.target/i386/pr95483-3.c: New test. * gcc.target/i386/pr95483-4.c: New test. * gcc.target/i386/pr95483-5.c: New test. * gcc.target/i386/pr95483-6.c: New test. * gcc.target/i386/pr95483-7.c: New test.
2020-10-14Fix the VX_CPU selection for -mcpu=xscale on arm-vxworksOlivier Hainque1-1/+1
This fixlet makes sure -mcpu=xscale selects the correct VX_CPU. 2020-10-14 Olivier Hainque <hainque@adacore.com> gcc/ * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix the VX_CPU selection for -mcpu=xscale on arm-vxworks.
2020-10-14Rework CPP_BUILTINS_SPEC for powerpc-vxworksOlivier Hainque1-7/+50
This change reworks CPP_BUILTINS_SPEC for powerpc-vxworks to prepare for the upcoming addition of 32 and 64 bit ports for VxWorks 7r2. 2020-10-14 Olivier Hainque <hainque@adacore.com> gcc/ * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate expectations from different versions of VxWorks, for 32 or 64bit configurations.