From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 3C9D4385840F; Tue, 20 Sep 2022 16:46:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3C9D4385840F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663692394; bh=F5mh9wDNJOND7S1brcSUgR3euPrG+iYxc1kgcxYJCPg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=aB/BM5AGtkEmGg7NE8w/e6tzb0lW1Dlyso7Boz9bZ4n9KG2VOCGFyvmwSzmwsWt+x LXepye4TRs6wZuXKbMXfJsiJWCsVgvSWS1NTlNwrL85pbmnPQv10JKaPHvDGEvZt2R yA2EkFZ7MIekh0gBrfwoqSXIjlLatkvFJrNGtZ2U= From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/106981] [OpenACC][OpenMP] ICE in decompose, at wide-int.h:984 with '#pragma omp/acc atomic capture' Date: Tue, 20 Sep 2022 16:46:33 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code, openacc, openmp X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc short_desc keywords Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106981 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org Summary|[OpenACC] ICE in decompose, |[OpenACC][OpenMP] ICE in |at wide-int.h:984 with |decompose, at |'#pragma acc atomic |wide-int.h:984 with |capture' |'#pragma omp/acc atomic | |capture' Keywords| |openmp --- Comment #1 from Tobias Burnus --- It actually fails in the same way with "-fopenmp" and 'acc' replaced by 'om= p': long long n =3D 100; void test1(int x, double *a, double *b, double *c, double *totals) { #pragma omp atomic capture c[x] =3D totals[x%((int)(n/10 + 1))] =3D (a[x] + b[x]) + totals[x%((i= nt) n/10 + 1)]; } I also missed to include the invoking part of the of stacktrace: ... 0x9848a2 c_tree_equal(tree_node*, tree_node*) ../../repos/gcc/gcc/c/c-typeck.cc:16197 0x9b3fd9 c_parser_binary_expression ../../repos/gcc/gcc/c/c-parser.cc:8085 0x9b40de c_parser_conditional_expression ../../repos/gcc/gcc/c/c-parser.cc:7653 0x9b49f6 c_parser_expr_no_commas ../../repos/gcc/gcc/c/c-parser.cc:7567 0x9c4189 c_parser_omp_atomic ../../repos/gcc/gcc/c/c-parser.cc:18992 0x9d7bcf c_parser_omp_construct ../../repos/gcc/gcc/c/c-parser.cc:23309 0x9acb3c c_parser_pragma ../../repos/gcc/gcc/c/c-parser.cc:12700 0x9cddff c_parser_compound_statement_nostart ../../repos/gcc/gcc/c/c-parser.cc:5800=