From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F32AF3858C60; Fri, 26 Apr 2024 16:50:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F32AF3858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1714150229; bh=RdOad9f7eW3vcfZ8QNsRkq3aN1n4TVwOEuuTfR6PbUs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=hNrli+N+SnZfYRXjnBVQG8HUufyZOZyx6asrwr5j5XgNXQL5wCJoxTn+AfgdXMHdn 2zW293cbXLy++2NWI8FyM9y/8MfFVsbqltvuOitVXAVhZLrceK41bqCwZav+KgfTg0 Ecd55DE4xSRKQVcfmEyPfiql2YpTWUUvv4EtQHnI= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/114859] [14 Regression] Seeing new segmentation fault in same_type_as since r14-9752 Date: Fri, 26 Apr 2024 16:50:28 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status everconfirmed cc priority cf_reconfirmed_on target_milestone short_desc 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=3D114859 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 CC| |pault at gcc dot gnu.org Priority|P3 |P2 Last reconfirmed| |2024-04-26 Target Milestone|--- |14.0 Summary|Seeing new segmentation |[14 Regression] Seeing new |fault in same_type_as |segmentation fault in | |same_type_as since r14-9752 --- Comment #5 from Jakub Jelinek --- Bisection shows the only change on that CU in that range is r14-9752-g35408b3669fac104cd380582b32e32c64a603d8b and the changes are mostly in the save_smoothers subroutine. diff -upb on the original dump between r14-9751 and r14-9752 is: --- amg_d_hierarchy_bld.f90.005t.original_ 2024-04-26 12:41:01.4099997= 11 -0400 +++ amg_d_hierarchy_bld.f90.005t.original 2024-04-26 12:42:21.5110600= 46 -0400 @@ -211,9 +211,6 @@ void restore_smoothers (struct amg_d_one __attribute__((fn spec (". . w w w "))) void save_smoothers (struct amg_d_onelev_type & restrict level, struct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict save1, struct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict save2, integer(kind=3D4) & restrict info) { - { - integer(kind=3D4) stat.18; - *info =3D 0; if (save1->_data !=3D 0B) { @@ -328,7 +325,6 @@ void save_smoothers (struct amg_d_onelev } if (__builtin_expect ((integer(kind=3D8)) (stat.18 !=3D 0), 0, 44)) go= to L.34; (struct __vtype_amg_d_base_smoother_mod_Amg_d_base_smoother_type *) save1->_vptr =3D (struct __vtype_amg_d_base_smoother_mod_Amg_d_base_smoothe= r_type *) level->sm._vptr; - (void) __builtin_memcpy ((void *) save1->_data, (void *) save1->_vptr->_def_init, (unsigned long) save1->_vptr->_size); L.34:; *info =3D stat.18; if (*info =3D=3D 0) @@ -344,11 +340,11 @@ void save_smoothers (struct amg_d_onelev } } L.36:; - if (*info =3D=3D 0 && level->sm2a._data !=3D 0B) - { { integer(kind=3D4) stat.21; + if (*info =3D=3D 0 && level->sm2a._data !=3D 0B) + { if (__builtin_expect ((integer(kind=3D8)) (save2->_data !=3D 0B)= , 0, 45)) { stat.21 =3D 5014; @@ -364,7 +360,6 @@ void save_smoothers (struct amg_d_onelev } if (__builtin_expect ((integer(kind=3D8)) (stat.21 !=3D 0), 0, 4= 4)) goto L.38; (struct __vtype_amg_d_base_smoother_mod_Amg_d_base_smoother_type= *) save2->_vptr =3D (struct __vtype_amg_d_base_smoother_mod_Amg_d_base_smoothe= r_type *) level->sm2a._vptr; - (void) __builtin_memcpy ((void *) save2->_data, (void *) save2->_vptr->_def_init, (unsigned long) save2->_vptr->_size); L.38:; *info =3D stat.21; if (*info =3D=3D 0) @@ -384,15 +379,13 @@ void save_smoothers (struct amg_d_onelev } L.37:; return; - } } __attribute__((fn spec (". . . . w "))) void amg_d_hierarchy_bld (struct psb_dspmat_type & a, struct psb_desc_type= & desc_a, struct __class_amg_d_prec_type_Amg_dprec_type_t & prec, integer(kin= d=3D4) & restrict info) { - static void restore_smoothers (struct amg_d_onelev_type &, struct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict, stru= ct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict, integer(kind=3D4) & restrict); - static void save_smoothers (struct amg_d_onelev_type & restrict, struct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict, stru= ct __class_amg_d_base_smoother_mod_Amg_d_base_smoother_type_a & restrict, integer(kind=3D4) & restrict); + integer(kind=3D4) stat.18; integer(kind=3D8) D.9689; integer(kind=3D8) D.9690; integer(kind=3D8) D.9691; so guess the only significant change is the removal of the two __builtin_me= mcpy calls.=