On Mon, 2024-09-23 at 15:18 +0200, Christophe Lyon wrote: > Hi David, > > On Sun, 22 Sept 2024 at 00:39, David Malcolm <dmalc...@redhat.com> > wrote: > > > > On Sat, 2024-09-21 at 04:30 +0000, ci_not...@linaro.org wrote: > > > Dear contributor, our automatic CI has detected problems related > > > to > > > your patch(es). Please find some details below. If you have any > > > questions, please follow up on > > > linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro- > > > tcwg > > > channel, or ping your favourite Linaro toolchain developer on the > > > usual project channel. > > > > > > We understand that it might be difficult to find the necessary > > > logs > > > or reproduce the issue locally. If you can't get what you need > > > from > > > our CI within minutes, let us know and we will be happy to help. > > > > > > In gcc_build master-aarch64 after: > > > > > > | gcc patch https://patchwork.sourceware.org/patch/97787 > > > | Author: David Malcolm <dmalc...@redhat.com> > > > | Date: Fri Sep 20 19:05:46 2024 -0400 > > > | > > > | diagnostics: convert text hooks to use > > > diagnostic_text_output_format [PR116613] > > > | > > > | The diagnostic_starter and diagnostic_finalizer callbacks > > > and > > > most of > > > | their support subroutines are only used by the "text" > > > output > > > format. > > > | > > > | Emphasize this and reduce the binding with > > > diagnostic_context > > > | by renaming the callbacks to add "_text" in their names, > > > and > > > converting > > > | ... 264 lines of the commit log omitted. > > > | ... applied on top of baseline commit: > > > | 2484ba167e1c libstdc++: fix C header include guards > > > > > > Results changed to > > > # reset_artifacts: > > > -10 > > > # true: > > > 0 > > > # build_abe gcc: > > > # FAILED > > > # First few build errors in logs: > > > # 00:06:02 /home/tcwg- > > > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/diagn > > > osti > > > c-format-sarif.cc:3130:8: error: ‘void > > > sarif_output_format::after_diagnostic(const diagnostic_info&)’ > > > cannot > > > be overloaded with ‘void > > > sarif_output_format::after_diagnostic(const > > > diagnostic_info&)’ > > > # 00:06:03 make[2]: *** [Makefile:1195: diagnostic-format- > > > sarif.o] > > > Error 1 > > > # 00:06:03 make[1]: *** [Makefile:4701: all-gcc] Error 2 > > > # 00:06:03 make: *** [Makefile:1062: all] Error 2 > > > > This works for me, and I've been staring at the code and can't see > > the > > issue. Any ideas what the problem is? > > > > From the logs, I could extract slightly better error messages: > g++ -fno-PIE -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti > -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings > -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported > -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -DHAVE_CONFIG_H -fno-PIE -I. -I. > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/. > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../includ > e > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../libcpp > /include > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../libcod > y > -I/home/tcwg-build/workspace/tcwg_gnu_4/abe/builds/destdir/aarch64- > unknown-linux-gnu/include > -I/home/tcwg-build/workspace/tcwg_gnu_4/abe/builds/destdir/aarch64- > unknown-linux-gnu/include > -I/home/tcwg-build/workspace/tcwg_gnu_4/abe/builds/destdir/aarch64- > unknown-linux-gnu/include > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../libdec > number > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../libdec > number/bid > -I../libdecnumber > -I/home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/../libbac > ktrace > -o diagnostic-format-sarif.o -MT diagnostic-format-sarif.o -MMD -MP > -MF ./.deps/diagnostic-format-sarif.TPo > /home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/diagnosti > c-format-sarif.cc > /home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/diagnosti > c-format-sarif.cc:3130:8: > error: ‘void sarif_output_format::after_diagnostic(const > diagnostic_info&)’ cannot be overloaded with ‘void > sarif_output_format::after_diagnostic(const diagnostic_info&)’ > 3130 | void after_diagnostic (const diagnostic_info &) final > override > | ^~~~~~~~~~~~~~~~ > /home/tcwg- > build/workspace/tcwg_gnu_4/abe/snapshots/gcc.git~master/gcc/diagnosti > c-format-sarif.cc:3126:8: > note: previous declaration ‘void > sarif_output_format::after_diagnostic(const diagnostic_info&)’ > 3126 | void after_diagnostic (const diagnostic_info &) final > override > | ^~~~~~~~~~~~~~~~ > make[2]: *** [Makefile:1195: diagnostic-format-sarif.o] Error 1
Thanks for the info. Looking at the above, it appears that *both* lines 3126 and 3130 of diagnostic-format-sarif.cc read: void after_diagnostic (const diagnostic_info &) final override which suggests that somehow there's a duplicate copy of that function. But looking at git, I see just one copy: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/diagnostic-format-sarif.cc;h=6cd18cef6c8906cc302f86694b4b4ad097f836a3;hb=HEAD#l3126 which is at line 3126, and looking at the history of the file in git I don't see any duplication. Is there a chance that the CI machinery has somehow managed to apply the patch twice, or by some other means somehow get a duplicate copy of that function? I see the patch in patchwork: https://patchwork.sourceware.org/project/gcc/patch/20240920230546.1850339-1-dmalc...@redhat.com/ based on what I posted to the mailing list has this hunk: diff --git a/gcc/diagnostic-format-sarif.cc b/gcc/diagnostic-format-sarif.cc index 33d60a680beb..eda67a6f6583 100644 --- a/gcc/diagnostic-format-sarif.cc +++ b/gcc/diagnostic-format-sarif.cc @@ -3139,6 +3139,10 @@ public: { m_builder.emit_diagram (m_context, diagram); } + void after_diagnostic (const diagnostic_info &) final override + { + /* No-op. */ + } sarif_builder &get_builder () { return m_builder; } so is there a chance that that addition got applied to the patched copy in git, leading to two copies??? Sorry if I'm missing something here. Thanks Dave _______________________________________________ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org