diff mbox series

PR fortran/95091 - Buffer overflows with submodules and long symbols

Message ID trinity-44427fa1-7044-402e-ad6c-e54a7021c609-1591477899687@3c-app-gmx-bap44
State New
Headers show
Series PR fortran/95091 - Buffer overflows with submodules and long symbols | expand

Commit Message

Harald Anlauf June 6, 2020, 9:11 p.m. UTC
There's another case of buffer overflows when F2008 submodules are used.
Buffer sizes are further increased, and checks for overflow are put into
place.

OK for master?

I intend to backport to 10 and 9, since I believe the patch is safe.

Thanks,
Harald


PR fortran/95091 - Buffer overflows with submodules and long symbols

With submodules, name mangling results in long internal symbols.  This
requires adjustment of the sizes of temporaries to avoid buffer overflows.

2020-06-06  Harald Anlauf  <anlauf@gmx.de>

gcc/fortran/
	PR fortran/95091
	* class.c (get_unique_type_string, gfc_hash_value): Enlarge
	buffers, and check whether the strings returned by
	get_unique_type_string() fit.

Comments

Thomas Koenig June 7, 2020, 8:27 a.m. UTC | #1
Hi Harald,

> There's another case of buffer overflows when F2008 submodules are used.
> Buffer sizes are further increased, and checks for overflow are put into
> place.
> 
> OK for master?

OK, also for the backport.

Thanks a lot!

Regards

	Thomas
H.J. Lu June 7, 2020, 2:02 p.m. UTC | #2
On Sun, Jun 7, 2020 at 1:28 AM Thomas Koenig via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi Harald,
>
> > There's another case of buffer overflows when F2008 submodules are used.
> > Buffer sizes are further increased, and checks for overflow are put into
> > place.
> >
> > OK for master?
>
> OK, also for the backport.
>

This may have broken bootstrap:

https://gcc.gnu.org/pipermail/gcc-regression/2020-June/072701.html

 3772 |   pp_verbatim (context->printer, "\n");
      |                                   ^~
../../src-master/gcc/cp/error.c: In function ‘void
print_template_differences(pretty_printer*, tree, tree, bool, int)’:
../../src-master/gcc/cp/error.c:3932:21: warning: spurious trailing
punctuation sequence ‘<’ in format [-Wformat-diag]
 3932 |   pp_printf (pp, "%s<",
      |                     ^
../../src-master/gcc/cp/error.c:3932:21: warning: unbalanced
punctuation character ‘<’ in format [-Wformat-diag]
../../src-master/gcc/cp/error.c:3990:19: warning: unbalanced
punctuation character ‘>’ in format [-Wformat-diag]
 3990 |   pp_printf (pp, ">");
      |                   ^
../../src-master/gcc/cp/error.c: In function ‘const char*
add_quotes(const char*, bool)’:
../../src-master/gcc/cp/error.c:4094:24: warning: quoted ‘%s’
directive in format; use ‘%qs’ instead [-Wformat-diag]
 4094 |   pp_printf (&tmp_pp, "%<%s%>", content);
      |                        ^~~~~~
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/lex.o -MT cp/lex.o -MMD
-MP -MF cp/.deps/lex.TPo ../../src-master/gcc/cp/lex.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/logic.o -MT cp/logic.o
-MMD -MP -MF cp/.deps/logic.TPo ../../src-master/gcc/cp/logic.cc
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/mangle.o -MT
cp/mangle.o -MMD -MP -MF cp/.deps/mangle.TPo
../../src-master/gcc/cp/mangle.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/method.o -MT
cp/method.o -MMD -MP -MF cp/.deps/method.TPo
../../src-master/gcc/cp/method.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/name-lookup.o -MT
cp/name-lookup.o -MMD -MP -MF cp/.deps/name-lookup.TPo
../../src-master/gcc/cp/name-lookup.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/optimize.o -MT
cp/optimize.o -MMD -MP -MF cp/.deps/optimize.TPo
../../src-master/gcc/cp/optimize.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/parser.o -MT
cp/parser.o -MMD -MP -MF cp/.deps/parser.TPo
../../src-master/gcc/cp/parser.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/pt.o -MT cp/pt.o -MMD
-MP -MF cp/.deps/pt.TPo ../../src-master/gcc/cp/pt.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/ptree.o -MT cp/ptree.o
-MMD -MP -MF cp/.deps/ptree.TPo ../../src-master/gcc/cp/ptree.c
../../src-master/gcc/cp/logic.cc: In function ‘void debug(formula&)’:
../../src-master/gcc/cp/logic.cc:321:18: warning: spurious leading
punctuation sequence ‘(((’ in format [-Wformat-diag]
  321 |       verbatim ("(((");
      |                  ^~~
../../src-master/gcc/cp/logic.cc:321:20: warning: unbalanced
punctuation character ‘(’ in format [-Wformat-diag]
  321 |       verbatim ("(((");
      |                    ^
../../src-master/gcc/cp/logic.cc:323:18: warning: unbalanced
punctuation character ‘)’ in format [-Wformat-diag]
  323 |       verbatim (")))");
      |                  ^
../../src-master/gcc/cp/logic.cc:323:19: warning: unbalanced
punctuation character ‘)’ in format [-Wformat-diag]
  323 |       verbatim (")))");
      |                   ^
../../src-master/gcc/cp/logic.cc:323:20: warning: unbalanced
punctuation character ‘)’ in format [-Wformat-diag]
  323 |       verbatim (")))");
      |                    ^
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/rtti.o -MT cp/rtti.o
-MMD -MP -MF cp/.deps/rtti.TPo ../../src-master/gcc/cp/rtti.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/search.o -MT
cp/search.o -MMD -MP -MF cp/.deps/search.TPo
../../src-master/gcc/cp/search.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/semantics.o -MT
cp/semantics.o -MMD -MP -MF cp/.deps/semantics.TPo
../../src-master/gcc/cp/semantics.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/tree.o -MT cp/tree.o
-MMD -MP -MF cp/.deps/tree.TPo ../../src-master/gcc/cp/tree.c
../../src-master/gcc/cp/parser.c: In function ‘void
maybe_add_cast_fixit(rich_location*, location_t, location_t, tree,
tree)’:
../../src-master/gcc/cp/parser.c:9329:22: warning: spurious trailing
punctuation sequence ‘<’ in format [-Wformat-diag]
 9329 |   pp_printf (&pp, "%s<", cast_suggestion);
      |                      ^
../../src-master/gcc/cp/parser.c:9329:22: warning: unbalanced
punctuation character ‘<’ in format [-Wformat-diag]
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/typeck.o -MT
cp/typeck.o -MMD -MP -MF cp/.deps/typeck.TPo
../../src-master/gcc/cp/typeck.c
../../src-master/gcc/cp/parser.c: In function ‘bool
cp_parser_template_introduction(cp_parser*, bool)’:
../../src-master/gcc/cp/parser.c:29304:37: warning: unquoted sequence
of 2 consecutive punctuation characters ‘[-’ in format [-Wformat-diag]
29304 |    " are not part of C++20 concepts [-fconcepts-ts]");
      |                                     ^~
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o cp/typeck2.o -MT
cp/typeck2.o -MMD -MP -MF cp/.deps/typeck2.TPo
../../src-master/gcc/cp/typeck2.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Icp -I../../src-master/gcc
-I../../src-master/gcc/cp -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o
cp/vtable-class-hierarchy.o -MT cp/vtable-class-hierarchy.o -MMD -MP
-MF cp/.deps/vtable-class-hierarchy.TPo
../../src-master/gcc/cp/vtable-class-hierarchy.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/arith.o -MT
fortran/arith.o -MMD -MP -MF fortran/.deps/arith.TPo
../../src-master/gcc/fortran/arith.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/array.o -MT
fortran/array.o -MMD -MP -MF fortran/.deps/array.TPo
../../src-master/gcc/fortran/array.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/bbt.o -MT
fortran/bbt.o -MMD -MP -MF fortran/.deps/bbt.TPo
../../src-master/gcc/fortran/bbt.c
../../src-master/gcc/cp/typeck.c: In static member function ‘static
void access_failure_info::add_fixit_hint(rich_location*, tree)’:
../../src-master/gcc/cp/typeck.c:2891:22: warning: spurious trailing
punctuation sequence ‘()’ in format [-Wformat-diag]
 2891 |   pp_printf (&pp, "%s()", IDENTIFIER_POINTER (DECL_NAME
(accessor_decl)));
      |                      ^~
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/check.o -MT
fortran/check.o -MMD -MP -MF fortran/.deps/check.TPo
../../src-master/gcc/fortran/check.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/class.o -MT
fortran/class.o -MMD -MP -MF fortran/.deps/class.TPo
../../src-master/gcc/fortran/class.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/constructor.o -MT
fortran/constructor.o -MMD -MP -MF fortran/.deps/constructor.TPo
../../src-master/gcc/fortran/constructor.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c   -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle
-DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W
-Wall -Wno-narrowing -Wwrite-strings -Wcast-qual
-Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Werror -fno-common  -DHAVE_CONFIG_H -I. -Ifortran
-I../../src-master/gcc -I../../src-master/gcc/fortran
-I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/cpp.o -MT
fortran/cpp.o -MMD -MP -MF fortran/.deps/cpp.TPo
../../src-master/gcc/fortran/cpp.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/data.o -MT
fortran/data.o -MMD -MP -MF fortran/.deps/data.TPo
../../src-master/gcc/fortran/data.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/decl.o -MT
fortran/decl.o -MMD -MP -MF fortran/.deps/decl.TPo
../../src-master/gcc/fortran/decl.c
In file included from ../../src-master/gcc/fortran/class.c:58:
../../src-master/gcc/fortran/class.c: In function ‘unsigned int
gfc_hash_value(gfc_symbol*)’:
../../src-master/gcc/fortran/class.c:543:19: error: comparison of
integer expressions of different signedness: ‘int’ and ‘long unsigned
int’ [-Werror=sign-compare]
  543 |   gcc_assert (len < sizeof (c));
      |               ~~~~^~~~~~~~~~~~
../../src-master/gcc/system.h:748:14: note: in definition of macro ‘gcc_assert’
  748 |    ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__,
__FUNCTION__), 0 : 0))
      |              ^~~~
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/dump-parse-tree.o
-MT fortran/dump-parse-tree.o -MMD -MP -MF
fortran/.deps/dump-parse-tree.TPo
../../src-master/gcc/fortran/dump-parse-tree.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/error.o -MT
fortran/error.o -MMD -MP -MF fortran/.deps/error.TPo
../../src-master/gcc/fortran/error.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/expr.o -MT
fortran/expr.o -MMD -MP -MF fortran/.deps/expr.TPo
../../src-master/gcc/fortran/expr.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/interface.o -MT
fortran/interface.o -MMD -MP -MF fortran/.deps/interface.TPo
../../src-master/gcc/fortran/interface.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/intrinsic.o -MT
fortran/intrinsic.o -MMD -MP -MF fortran/.deps/intrinsic.TPo
../../src-master/gcc/fortran/intrinsic.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/io.o -MT
fortran/io.o -MMD -MP -MF fortran/.deps/io.TPo
../../src-master/gcc/fortran/io.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/iresolve.o -MT
fortran/iresolve.o -MMD -MP -MF fortran/.deps/iresolve.TPo
../../src-master/gcc/fortran/iresolve.c
/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/xg++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/./prev-gcc/
-B/usr/11.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include
 -I/export/gnu/import/git/gcc-test-master-intel64/src-master/libstdc++-v3/libsupc++
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/export/gnu/import/git/gcc-test-master-intel64/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c  -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC
    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -Ifortran -I../../src-master/gcc
-I../../src-master/gcc/fortran -I../../src-master/gcc/../include
-I../../src-master/gcc/../libcpp/include
-I../../src-master/gcc/../libdecnumber
-I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber
-I../../src-master/gcc/../libbacktrace   -o fortran/match.o -MT
fortran/match.o -MMD -MP -MF fortran/.deps/match.TPo
../../src-master/gcc/fortran/match.c
cc1plus: all warnings being treated as errors
make[6]: *** [Makefile:1123: fortran/class.o] Error 1
Harald Anlauf June 7, 2020, 2:19 p.m. UTC | #3
Hi H.J.,

> Gesendet: Sonntag, 07. Juni 2020 um 16:02 Uhr
> Von: "H.J. Lu" <hjl.tools@gmail.com>
> An: "Thomas Koenig" <tkoenig@netcologne.de>
> Cc: "Harald Anlauf" <anlauf@gmx.de>, "fortran" <fortran@gcc.gnu.org>, "gcc-patches" <gcc-patches@gcc.gnu.org>
> Betreff: Re: [PATCH] PR fortran/95091 - Buffer overflows with submodules and long symbols

> This may have broken bootstrap:
> 
> https://gcc.gnu.org/pipermail/gcc-regression/2020-June/072701.html
[...]
> In file included from ../../src-master/gcc/fortran/class.c:58:
> ../../src-master/gcc/fortran/class.c: In function ‘unsigned int
> gfc_hash_value(gfc_symbol*)’:
> ../../src-master/gcc/fortran/class.c:543:19: error: comparison of
> integer expressions of different signedness: ‘int’ and ‘long unsigned
> int’ [-Werror=sign-compare]
>   543 |   gcc_assert (len < sizeof (c));
>       |               ~~~~^~~~~~~~~~~~

Does the following patch fix bootstrap for you?

diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index 8bb73502f5d..2b55859ce75 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -540,7 +540,7 @@ gfc_hash_value (gfc_symbol *sym)
 
   get_unique_type_string (&c[0], sym);
   len = strnlen (c, sizeof (c));
-  gcc_assert (len < sizeof (c));
+  gcc_assert ((size_t) len < sizeof (c));
 
   for (i = 0; i < len; i++)
     hash = (hash << 6) + (hash << 16) - hash + c[i];

Harald
H.J. Lu June 7, 2020, 3:31 p.m. UTC | #4
Yes, it works.

On Sun, Jun 7, 2020 at 7:19 AM Harald Anlauf <anlauf@gmx.de> wrote:
>
> Hi H.J.,
>
> > Gesendet: Sonntag, 07. Juni 2020 um 16:02 Uhr
> > Von: "H.J. Lu" <hjl.tools@gmail.com>
> > An: "Thomas Koenig" <tkoenig@netcologne.de>
> > Cc: "Harald Anlauf" <anlauf@gmx.de>, "fortran" <fortran@gcc.gnu.org>, "gcc-patches" <gcc-patches@gcc.gnu.org>
> > Betreff: Re: [PATCH] PR fortran/95091 - Buffer overflows with submodules and long symbols
>
> > This may have broken bootstrap:
> >
> > https://gcc.gnu.org/pipermail/gcc-regression/2020-June/072701.html
> [...]
> > In file included from ../../src-master/gcc/fortran/class.c:58:
> > ../../src-master/gcc/fortran/class.c: In function ‘unsigned int
> > gfc_hash_value(gfc_symbol*)’:
> > ../../src-master/gcc/fortran/class.c:543:19: error: comparison of
> > integer expressions of different signedness: ‘int’ and ‘long unsigned
> > int’ [-Werror=sign-compare]
> >   543 |   gcc_assert (len < sizeof (c));
> >       |               ~~~~^~~~~~~~~~~~
>
> Does the following patch fix bootstrap for you?
>
> diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
> index 8bb73502f5d..2b55859ce75 100644
> --- a/gcc/fortran/class.c
> +++ b/gcc/fortran/class.c
> @@ -540,7 +540,7 @@ gfc_hash_value (gfc_symbol *sym)
>
>    get_unique_type_string (&c[0], sym);
>    len = strnlen (c, sizeof (c));
> -  gcc_assert (len < sizeof (c));
> +  gcc_assert ((size_t) len < sizeof (c));
>
>    for (i = 0; i < len; i++)
>      hash = (hash << 6) + (hash << 16) - hash + c[i];
>
> Harald
>
diff mbox series

Patch

diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index b1764073ab4..8bb73502f5d 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -509,9 +509,11 @@  get_unique_type_string (char *string, gfc_symbol *derived)
 static void
 get_unique_hashed_string (char *string, gfc_symbol *derived)
 {
-  /* Provide sufficient space to hold "symbol_Pdtsymbol".  */
-  char tmp[2*GFC_MAX_SYMBOL_LEN+5];
+  /* Provide sufficient space to hold "symbol.symbol_symbol".  */
+  char tmp[3*GFC_MAX_SYMBOL_LEN+3];
   get_unique_type_string (&tmp[0], derived);
+  size_t len = strnlen (tmp, sizeof (tmp));
+  gcc_assert (len < sizeof (tmp));
   /* If string is too long, use hash value in hex representation (allow for
      extra decoration, cf. gfc_build_class_symbol & gfc_find_derived_vtab).
      We need space to for 15 characters "__class_" + symbol name + "_%d_%da",
@@ -532,12 +534,13 @@  unsigned int
 gfc_hash_value (gfc_symbol *sym)
 {
   unsigned int hash = 0;
-  /* Provide sufficient space to hold "symbol_Pdtsymbol".  */
-  char c[2*GFC_MAX_SYMBOL_LEN+5];
+  /* Provide sufficient space to hold "symbol.symbol_symbol".  */
+  char c[3*GFC_MAX_SYMBOL_LEN+3];
   int i, len;

   get_unique_type_string (&c[0], sym);
-  len = strlen (c);
+  len = strnlen (c, sizeof (c));
+  gcc_assert (len < sizeof (c));

   for (i = 0; i < len; i++)
     hash = (hash << 6) + (hash << 16) - hash + c[i];
diff --git a/gcc/testsuite/gfortran.dg/pr95091.f90 b/gcc/testsuite/gfortran.dg/pr95091.f90
new file mode 100644
index 00000000000..1c48dca2f4a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr95091.f90
@@ -0,0 +1,19 @@ 
+! { dg-do compile }
+! { dg-options "-fsecond-underscore" }
+! PR fortran/95091 - ICE in gfc_hash_value
+
+module m2345678901234567890123456789012345678901234567890123456789_123
+  type t2345678901234567890123456789012345678901234567890123456789_123
+  end type t2345678901234567890123456789012345678901234567890123456789_123
+  interface
+     module subroutine s2345678901234567890123456789012345678901234567890123456789_123 &
+          (x2345678901234567890123456789012345678901234567890123456789_123)
+    end
+  end interface
+end
+submodule(m2345678901234567890123456789012345678901234567890123456789_123) &
+     n2345678901234567890123456789012345678901234567890123456789_123
+  type, extends(t2345678901234567890123456789012345678901234567890123456789_123) :: &
+    u2345678901234567890123456789012345678901234567890123456789_123
+  end type
+end