public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* Re: [TCWG CI] Regression caused by gcc: Fortran: fix checking of elemental functions of type CLASS
       [not found] <1207918258.6080.1639928184262@jenkins.jenkins>
@ 2021-12-21 14:21 ` Maxim Kuvyrkov
  0 siblings, 0 replies; only message in thread
From: Maxim Kuvyrkov @ 2021-12-21 14:21 UTC (permalink / raw)
  To: Harald Anlauf; +Cc: gcc-regression

Hi Harald,

This was sent out due to a bug in our CI.  Sorry for the noise.

Regards,

--
Maxim Kuvyrkov
https://www.linaro.org

> On 19 Dec 2021, at 18:36, ci_notify@linaro.org wrote:
> 
> [TCWG CI] Regression caused by gcc: Fortran: fix checking of elemental functions of type CLASS:
> commit ce80f2c0e7a86e555201e9e61a26306adff4a074
> Author: Harald Anlauf <anlauf@gmx.de>
> 
>    Fortran: fix checking of elemental functions of type CLASS
> 
> Results regressed to
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -O3_mthumb artifacts/build-ce80f2c0e7a86e555201e9e61a26306adff4a074/results_id:
> 1
> 
> from
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -O3_mthumb artifacts/build-baseline/results_id:
> 1
> 
> THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
> 
> This commit has regressed these CI configurations:
> - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-release-arm_eabi-coremark-O3
> 
> First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/build-ce80f2c0e7a86e555201e9e61a26306adff4a074/
> Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/build-a316bd50f82d04613fa224de7883260c6720896d/
> Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/build-baseline/
> Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/
> 
> Reproduce builds:
> <cut>
> mkdir investigate-gcc-ce80f2c0e7a86e555201e9e61a26306adff4a074
> cd investigate-gcc-ce80f2c0e7a86e555201e9e61a26306adff4a074
> 
> # Fetch scripts
> git clone https://git.linaro.org/toolchain/jenkins-scripts
> 
> # Fetch manifests and test.sh script
> mkdir -p artifacts/manifests
> curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/manifests/build-baseline.sh --fail
> curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/manifests/build-parameters.sh --fail
> curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/test.sh --fail
> chmod +x artifacts/test.sh
> 
> # Reproduce the baseline build (build all pre-requisites)
> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh
> 
> # Save baseline build state (which is then restored in artifacts/test.sh)
> mkdir -p ./bisect
> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/
> 
> cd gcc
> 
> # Reproduce first_bad build
> git checkout --detach ce80f2c0e7a86e555201e9e61a26306adff4a074
> ../artifacts/test.sh
> 
> # Reproduce last_good build
> git checkout --detach a316bd50f82d04613fa224de7883260c6720896d
> ../artifacts/test.sh
> 
> cd ..
> </cut>
> 
> Full commit (up to 1000 lines):
> <cut>
> commit ce80f2c0e7a86e555201e9e61a26306adff4a074
> Author: Harald Anlauf <anlauf@gmx.de>
> Date:   Fri Dec 10 22:41:24 2021 +0100
> 
>    Fortran: fix checking of elemental functions of type CLASS
> 
>    gcc/fortran/ChangeLog:
> 
>            PR fortran/103606
>            * resolve.c (resolve_fl_procedure): Do not access CLASS components
>            before class container has been built.
> 
>    gcc/testsuite/ChangeLog:
> 
>            PR fortran/103606
>            * gfortran.dg/pr103606.f90: New test.
> 
>    (cherry picked from commit 7e913caad081ea85da4f257265f2d3383cdbe8d5)
> ---
> gcc/fortran/resolve.c                  |  3 ++-
> gcc/testsuite/gfortran.dg/pr103606.f90 | 12 ++++++++++++
> 2 files changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
> index bf7902742e2..1367d58a963 100644
> --- a/gcc/fortran/resolve.c
> +++ b/gcc/fortran/resolve.c
> @@ -13237,7 +13237,8 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
> 
>   /* An elemental function is required to return a scalar 12.7.1  */
>   if (sym->attr.elemental && sym->attr.function
> -      && (sym->as || (sym->ts.type == BT_CLASS && CLASS_DATA (sym)->as)))
> +      && (sym->as || (sym->ts.type == BT_CLASS && sym->attr.class_ok
> +		      && CLASS_DATA (sym)->as)))
>     {
>       gfc_error ("ELEMENTAL function %qs at %L must have a scalar "
> 		 "result", sym->name, &sym->declared_at);
> diff --git a/gcc/testsuite/gfortran.dg/pr103606.f90 b/gcc/testsuite/gfortran.dg/pr103606.f90
> new file mode 100644
> index 00000000000..43283184e89
> --- /dev/null
> +++ b/gcc/testsuite/gfortran.dg/pr103606.f90
> @@ -0,0 +1,12 @@
> +! { dg-do compile }
> +! PR fortran/103606 -  ICE in resolve_fl_procedure
> +! Contributed by G.Steinmetz
> +
> +program p
> +  type t
> +  end type
> +contains
> +  elemental function f() result(z) ! { dg-error "CLASS variable" }
> +    class(t) :: z
> +  end
> +end
> </cut>



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-21 14:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1207918258.6080.1639928184262@jenkins.jenkins>
2021-12-21 14:21 ` [TCWG CI] Regression caused by gcc: Fortran: fix checking of elemental functions of type CLASS Maxim Kuvyrkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).