public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs
@ 2024-01-02 19:56 doko at gcc dot gnu.org
  2024-01-02 20:02 ` [Bug lto/113208] " doko at gcc dot gnu.org
                   ` (36 more replies)
  0 siblings, 37 replies; 38+ messages in thread
From: doko at gcc dot gnu.org @ 2024-01-02 19:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

            Bug ID: 113208
           Summary: [14 Regression] lto1: error: Alias and target's comdat
                    groups differs
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

seen with trunk 20240101, building the poedit package with -flto.

hints where to start the reduction are appreciated.

[...]
g++  -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-ffile-prefix-map=/home/packages/gcc/tmp/poedit-3.4.2=. -flto=auto
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat
-Werror=format-security -fcf-protection
-fdebug-prefix-map=/home/packages/gcc/tmp/poedit-3.4.2=/usr/src/poedit-3.4.2-1
-pthread -I/usr/include -I/usr/include/libsecret-1 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libmount
-I/usr/include/blkid -I/usr/include/gio-unix-2.0 -pthread 
-I/usr/lib/x86_64-linux-gnu/wx/include/gtk3-unicode-3.2 -I/usr/include/wx-3.2
-D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread 
-I/usr/include/gtkspell-3.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid
-I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu
-I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0
-I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/enchant-2 -pthread  -I/usr/include/lucene++   -DHAVE_PUGIXML -g
-Wall -O0 -DwxNO_UNSAFE_WXSTRING_CONV=1 "-DPOEDIT_PREFIX=\"/usr\"" 
-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now
-Wl,-z,relro -o poedit attentionbar.o cat_update.o cat_sorting.o catalog.o
catalog_po.o catalog_json.o catalog_xliff.o chooselang.o colorscheme.o
commentdlg.o concurrency.o configuration.o custom_buttons.o customcontrols.o
custom_notebook.o edapp.o edframe.o editing_area.o edlistctrl.o export_html.o
extractors/extractor.o extractors/extractor_gettext.o
extractors/extractor_legacy.o filemonitor.o fileviewer.o findframe.o gexecute.o
hidpi.o icons.o language.o languagectrl.o wx/main_toolbar.o manager.o menus.o
pluralforms/pl_evaluate.o prefsdlg.o pretranslate.o progressinfo.o
propertiesdlg.o qa_checks.o recent_files.o sidebar.o spellchecking.o
syntaxhighlighter.o text_control.o titleless_window.o tm/suggestions.o
tm/transmem.o tm/tmx_io.o unicode_helpers.o utility.o welcomescreen.o
http_client.o http_client_casablanca.o cloud_accounts.o cloud_accounts_ui.o
crowdin_client.o crowdin_gui.o localazy_client.o localazy_gui.o
keychain/keytar_posix.o wx_backports/wx_gtk_activityindicator.o
wx_backports/wx_gtk_nativewin.o compiled_xrc.o -L/usr/lib/x86_64-linux-gnu
-pthread   -lwx_gtk3u_xrc-3.2 -lwx_baseu_xml-3.2 -lwx_gtk3u_webview-3.2
-lwx_gtk3u_core-3.2 -lwx_baseu_net-3.2 -lwx_baseu-3.2  -llucene++  -lcld2
-lpugixml  -lcpprest -lboost_iostreams -lboost_thread -lpthread -lboost_system
-lssl -lcrypto -lsecret-1 -lgio-2.0 -lgobject-2.0 -lglib-2.0 
-L/usr/lib/x86_64-linux-gnu -lboost_thread -lpthread -lboost_regex
-lboost_system -licui18n -licuuc -licudata  -lgtkspell3-3 -lenchant-2 -lgtk-3
-lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject
-lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 
lto1: error: Alias and target's comdat groups differs
_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC2Ev/70336 (__ct_base
)
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition no_reorder
prevailing_def_ironly public weak comdat
comdat_group:_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC2Ev
one_only visibility_specified
  References: __gxx_personality_v0/23086 (addr) 
  Referring:
_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC1Ev/327239 (alias) 
  Read from file: catalog.o
  Unit id: 4
  Function flags: merged_comdat
  Called by: _ZNSt10shared_ptrI7CatalogEC1Ev/70334 
  Calls: _ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1Ev/37977 
_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC1Ev/327239
(__ct_comp )
  Type: function definition analyzed alias
  Visibility: externally_visible semantic_interposition prevailing_def_ironly
public weak comdat
comdat_group:_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC5Ev
one_only visibility_specified
  References:
_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EEC2Ev/70336 (alias) 
  Referring: 
  Read from file: edframe.o
  Unit id: 16
  Function flags: merged_comdat
  Called by:
_ZNSt12__shared_ptrI7CatalogLN9__gnu_cxx12_Lock_policyE2EE5resetEv/327343 
  Calls: 
during IPA pass: modref
lto1: internal compiler error: verify_cgraph_node failed
0x6b5ef0 cgraph_node::verify_node()
        ../../src/gcc/cgraph.cc:3948
0x1a81c29 symtab_node::verify()
        ../../src/gcc/symtab.cc:1362
0x1a7c774 symtab_node::verify_symtab_nodes()
        ../../src/gcc/symtab.cc:1390
0x1a79917 symtab_node::checking_verify_symtab_nodes()
        ../../src/gcc/cgraph.h:686
0x1a79917 symbol_table::remove_unreachable_nodes(_IO_FILE*)
        ../../src/gcc/ipa.cc:678
0x686e54 read_cgraph_and_symbols(unsigned int, char const**)
        ../../src/gcc/lto/lto-common.cc:2978
0x1fcc99a lto_main()
        ../../src/gcc/lto/lto.cc:654
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-14/README.Bugs> for instructions.
lto-wrapper: fatal error: g++ returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
@ 2024-01-02 20:02 ` doko at gcc dot gnu.org
  2024-01-02 20:23 ` doko at gcc dot gnu.org
                   ` (35 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: doko at gcc dot gnu.org @ 2024-01-02 20:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #1 from Matthias Klose <doko at gcc dot gnu.org> ---
also seen in the pbcopper package

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
  2024-01-02 20:02 ` [Bug lto/113208] " doko at gcc dot gnu.org
@ 2024-01-02 20:23 ` doko at gcc dot gnu.org
  2024-01-06  6:15 ` pinskia at gcc dot gnu.org
                   ` (34 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: doko at gcc dot gnu.org @ 2024-01-02 20:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #2 from Matthias Klose <doko at gcc dot gnu.org> ---
also in package s2geometry

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
  2024-01-02 20:02 ` [Bug lto/113208] " doko at gcc dot gnu.org
  2024-01-02 20:23 ` doko at gcc dot gnu.org
@ 2024-01-06  6:15 ` pinskia at gcc dot gnu.org
  2024-03-07 20:53 ` law at gcc dot gnu.org
                   ` (33 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-06  6:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-06  6:15 ` pinskia at gcc dot gnu.org
@ 2024-03-07 20:53 ` law at gcc dot gnu.org
  2024-03-18  7:45 ` sjames at gcc dot gnu.org
                   ` (32 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: law at gcc dot gnu.org @ 2024-03-07 20:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at gcc dot gnu.org
           Priority|P3                          |P1

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-03-07 20:53 ` law at gcc dot gnu.org
@ 2024-03-18  7:45 ` sjames at gcc dot gnu.org
  2024-03-18  7:46 ` sjames at gcc dot gnu.org
                   ` (31 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-18  7:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #3 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Matthias Klose from comment #0)
> seen with trunk 20240101, building the poedit package with -flto.
> 
> hints where to start the reduction are appreciated.
> 

First, take the link command and see if you can prune any objects and still get
the ICE (you can automate this with cvise but it's often not worth bothering,
but see https://wiki.gentoo.org/wiki/GCC_ICE_reporting_guide#LTO_example for an
example)

Once you identify the relevant objects, check if any of them are archives, and
expand them with e.g. 'ar x', replacing them in the link line.

You can then try to replace them with preprocessed versions and LTO those, and
see if it still fails.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-03-18  7:45 ` sjames at gcc dot gnu.org
@ 2024-03-18  7:46 ` sjames at gcc dot gnu.org
  2024-03-23  9:58 ` sjames at gcc dot gnu.org
                   ` (30 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-18  7:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #4 from Sam James <sjames at gcc dot gnu.org> ---
(ah, there's no archives here, so no need to worry about that part)

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2024-03-18  7:46 ` sjames at gcc dot gnu.org
@ 2024-03-23  9:58 ` sjames at gcc dot gnu.org
  2024-03-23 10:32 ` sjames at gcc dot gnu.org
                   ` (29 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-23  9:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #5 from Sam James <sjames at gcc dot gnu.org> ---
I can't reproduce this when building poedit. Don't have pbcopper or s2geometry
packaged.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2024-03-23  9:58 ` sjames at gcc dot gnu.org
@ 2024-03-23 10:32 ` sjames at gcc dot gnu.org
  2024-03-24 13:52 ` sjames at gcc dot gnu.org
                   ` (28 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-23 10:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #6 from Sam James <sjames at gcc dot gnu.org> ---
Got it with pbcopper. Reducing.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2024-03-23 10:32 ` sjames at gcc dot gnu.org
@ 2024-03-24 13:52 ` sjames at gcc dot gnu.org
  2024-03-24 13:53 ` sjames at gcc dot gnu.org
                   ` (27 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 13:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #7 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57791
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57791&action=edit
src_data_test_MappedRead.cpp.ii

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2024-03-24 13:52 ` sjames at gcc dot gnu.org
@ 2024-03-24 13:53 ` sjames at gcc dot gnu.org
  2024-03-24 13:53 ` sjames at gcc dot gnu.org
                   ` (26 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 13:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #8 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57792
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57792&action=edit
src_data_test_QualityValues.cpp.ii

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2024-03-24 13:53 ` sjames at gcc dot gnu.org
@ 2024-03-24 13:53 ` sjames at gcc dot gnu.org
  2024-03-24 14:25 ` sjames at gcc dot gnu.org
                   ` (25 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 13:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #9 from Sam James <sjames at gcc dot gnu.org> ---
```
$ gcc -std=c++20 -flto src_data_test_MappedRead.cpp.ii
src_data_test_QualityValues.cpp.ii -O1
lto1: error: Alias and target’s comdat groups differs
_ZNSt6vectorIN6PacBio4Data12QualityValueESaIS2_EEC2ERKS4_/8 (__ct_base )
  Type: function definition analyzed
[...]
```

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2024-03-24 13:53 ` sjames at gcc dot gnu.org
@ 2024-03-24 14:25 ` sjames at gcc dot gnu.org
  2024-03-24 14:34 ` sjames at gcc dot gnu.org
                   ` (24 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 14:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #57791|0                           |1
        is obsolete|                            |

--- Comment #10 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57793
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57793&action=edit
src_data_test_MappedRead.cpp.ii

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2024-03-24 14:25 ` sjames at gcc dot gnu.org
@ 2024-03-24 14:34 ` sjames at gcc dot gnu.org
  2024-03-24 17:45 ` [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0 sjames at gcc dot gnu.org
                   ` (23 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 14:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #57792|0                           |1
        is obsolete|                            |

--- Comment #11 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57794
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57794&action=edit
src_data_test_QualityValues.cpp.ii

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2024-03-24 14:34 ` sjames at gcc dot gnu.org
@ 2024-03-24 17:45 ` sjames at gcc dot gnu.org
  2024-03-24 19:59 ` pinskia at gcc dot gnu.org
                   ` (22 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 17:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[14 Regression] lto1:       |[14 Regression] lto1:
                   |error: Alias and target's   |error: Alias and target's
                   |comdat groups differs       |comdat groups differs since
                   |                            |r14-5979-g99d114c15523e0
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #12 from Sam James <sjames at gcc dot gnu.org> ---
r14-5979-g99d114c15523e0is the first bad commit
commit r14-5979-g99d114c15523e0
Author: Marek Polacek <polacek@redhat.com>
Date:   Fri Nov 17 14:48:44 2023 -0500

    c++: P2280R4, Using unknown refs in constant expr [PR106650]

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2024-03-24 17:45 ` [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0 sjames at gcc dot gnu.org
@ 2024-03-24 19:59 ` pinskia at gcc dot gnu.org
  2024-03-24 20:03 ` sjames at gcc dot gnu.org
                   ` (21 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-24 19:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Sam James from comment #9)
> ```
> $ gcc -std=c++20 -flto src_data_test_MappedRead.cpp.ii
> src_data_test_QualityValues.cpp.ii -O1
> lto1: error: Alias and target’s comdat groups differs
> _ZNSt6vectorIN6PacBio4Data12QualityValueESaIS2_EEC2ERKS4_/8 (__ct_base )
>   Type: function definition analyzed
> [...]
> ```

This testcase seems undefined behavior ...
The only difference between the 2 files is one has constexpr on the vector
constructor and the other does not ...

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2024-03-24 19:59 ` pinskia at gcc dot gnu.org
@ 2024-03-24 20:03 ` sjames at gcc dot gnu.org
  2024-03-24 20:03 ` sjames at gcc dot gnu.org
                   ` (20 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 20:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #14 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57801
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57801&action=edit
src_data_test_MappedRead.cpp.ii.orig.xz

Attaching the originals..

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2024-03-24 20:03 ` sjames at gcc dot gnu.org
@ 2024-03-24 20:03 ` sjames at gcc dot gnu.org
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
                   ` (19 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-24 20:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #15 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57802
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57802&action=edit
src_data_test_QualityValues.cpp.ii.orig.xz

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2024-03-24 20:03 ` sjames at gcc dot gnu.org
@ 2024-03-24 20:09 ` pinskia at gcc dot gnu.org
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
                   ` (18 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-24 20:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #16 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 57803
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57803&action=edit
t.h

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
@ 2024-03-24 20:09 ` pinskia at gcc dot gnu.org
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
                   ` (17 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-24 20:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 57804
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57804&action=edit
t2.cc

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
@ 2024-03-24 20:09 ` pinskia at gcc dot gnu.org
  2024-03-24 20:11 ` pinskia at gcc dot gnu.org
                   ` (16 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-24 20:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 57805
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57805&action=edit
t1.cc

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2024-03-24 20:09 ` pinskia at gcc dot gnu.org
@ 2024-03-24 20:11 ` pinskia at gcc dot gnu.org
  2024-03-25 23:43 ` pinskia at gcc dot gnu.org
                   ` (15 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-24 20:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #19 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #18)
> Created attachment 57805 [details]
> t1.cc

~/upstream-gcc-match/bin/g++ -flto t1.cc t2.cc -O1 -std=c++20

I attached the reduced testcase from the reduced testcase; 3 files including
one header which is common between the 2 except for the constexpr.

I will redo the reduction to make sure it is valid.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (20 preceding siblings ...)
  2024-03-24 20:11 ` pinskia at gcc dot gnu.org
@ 2024-03-25 23:43 ` pinskia at gcc dot gnu.org
  2024-03-26 10:39 ` rguenth at gcc dot gnu.org
                   ` (14 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-25 23:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-03-25
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #20 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #19)
> I will redo the reduction to make sure it is valid.

I have not had the time to do the re-reduction. so I will let someone else
handle that if needed. Note it might be the case where we have ICF doing the
alias which causes the difference but I am not 100% sure there.

Anyways confirmed with my reduction with the soruces in comment #16, #17 and
#18.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (21 preceding siblings ...)
  2024-03-25 23:43 ` pinskia at gcc dot gnu.org
@ 2024-03-26 10:39 ` rguenth at gcc dot gnu.org
  2024-04-04 14:59 ` jakub at gcc dot gnu.org
                   ` (13 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-03-26 10:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> ---
Honza, can you please have a look here?

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (22 preceding siblings ...)
  2024-03-26 10:39 ` rguenth at gcc dot gnu.org
@ 2024-04-04 14:59 ` jakub at gcc dot gnu.org
  2024-04-10  7:29 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-04 14:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reproduces even with just -r -flto -std=c++20 -O1.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (23 preceding siblings ...)
  2024-04-04 14:59 ` jakub at gcc dot gnu.org
@ 2024-04-10  7:29 ` rguenth at gcc dot gnu.org
  2024-04-10 13:28 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-04-10  7:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we have _ZN6vectorI12QualityValueEC{2,5}ERKS1_ so C2 vs C5, whatever that
exactly means.

When not using -flto and not optimizing the comdat group in both objects is

COMDAT group section [    2] `.group' [_ZN6vectorI12QualityValueEC5ERKS1_]
contains 2 sections:
   [Index]    Name
   [    9]   .text._ZN6vectorI12QualityValueEC2ERKS1_
   [   10]   .rela.text._ZN6vectorI12QualityValueEC2ERKS1_

the comdat group doesn't survive to the non-LTO object when optimizing.

I'm a bit lost as to where to look for the error.  Honza?

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (24 preceding siblings ...)
  2024-04-10  7:29 ` rguenth at gcc dot gnu.org
@ 2024-04-10 13:28 ` jakub at gcc dot gnu.org
  2024-04-15 15:46 ` hubicka at gcc dot gnu.org
                   ` (10 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-10 13:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
As documented in
https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-special-ctor-dtor
C2 is base object constructor (C1 is complete object constructor, C3 is
allocating complete constructor).
C5 is an extension we use in the PR3187 r0-97383-g24b3ff2c53806d3d 
(related discussion starts at
https://gcc.gnu.org/legacy-ml/gcc-patches/2009-11/threads.html#00700 and
continues to
https://gcc.gnu.org/legacy-ml/gcc-patches/2009-12/threads.html#00023 )
optimization for the comdat name containing both the C1 and C2 versions of the
constructors as aliases.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (25 preceding siblings ...)
  2024-04-10 13:28 ` jakub at gcc dot gnu.org
@ 2024-04-15 15:46 ` hubicka at gcc dot gnu.org
  2024-04-15 15:48 ` pinskia at gcc dot gnu.org
                   ` (9 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: hubicka at gcc dot gnu.org @ 2024-04-15 15:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #25 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
So we have comdat groups that diverges in t1.o and t2.o.  In one object it has
alias in it while in other object it does not

Merging nodes for _ZN6vectorI12QualityValueEC2ERKS1_. Candidates:
_ZN6vectorI12QualityValueEC2ERKS1_/1 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition prevailing_def_ironly
public weak comdat comdat_group:_ZN6vectorI12QualityValueEC2ERKS1_ one_only
  next sharing asm name: 19
  References: 
  Referring:  
  Read from file: t1.o
  Unit id: 1
  Function flags: count:1073741824 (estimated locally)
  Called by: _Z1n1k/6 (1073741824 (estimated locally),1.00 per call) (can throw
external)
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/10 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/9 (1073741824 (estimated locally),1.00
per call) (can throw external)
_ZN6vectorI12QualityValueEC2ERKS1_/19 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition preempted_ir public
weak comdat comdat_group:_ZN6vectorI12QualityValueEC5ERKS1_ one_only
  Same comdat group as: _ZN6vectorI12QualityValueEC1ERKS1_/20
  previous sharing asm name: 1
  References: 
  Referring: _ZN6vectorI12QualityValueEC1ERKS1_/20 (alias)
  Read from file: t2.o
  Unit id: 2
  Function flags: count:1073741824 (estimated locally)
  Called by:
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/23 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/24 (1073741824 (estimated locally),1.00
per call) (can throw external)
After resolution:
_ZN6vectorI12QualityValueEC2ERKS1_/1 (__ct_base )
  Type: function definition analyzed
  Visibility: externally_visible semantic_interposition prevailing_def_ironly
public weak comdat comdat_group:_ZN6vectorI12QualityValueEC2ERKS1_ one_only
  next sharing asm name: 19
  References: 
  Referring: 
  Read from file: t1.o
  Unit id: 1
  Function flags: count:1073741824 (estimated locally)
  Called by: _Z1n1k/6 (1073741824 (estimated locally),1.00 per call) (can throw
external)
  Calls: _ZN12_Vector_baseI12QualityValueEC2Eii/10 (1073741824 (estimated
locally),1.00 per call) (can throw external)
_ZNK12_Vector_baseI12QualityValueE1gEv/9 (1073741824 (estimated locally),1.00
per call) (can throw external)

We opt for version without alias and later ICE in sanity check verifying that
aliases have same comdat group as their targets.

I wonder how this is ice-on-valid code, since with normal linking the aliased
symbol may or may not appear in the winning comdat group, so using he alias has
to break.

If constexpr changes how the constructor is generated, isn't this violation of
ODR?

We probably can go and reset every node in losing comdat group to silence the
ICE and getting undefined symbol instead

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (26 preceding siblings ...)
  2024-04-15 15:46 ` hubicka at gcc dot gnu.org
@ 2024-04-15 15:48 ` pinskia at gcc dot gnu.org
  2024-04-15 15:55 ` hubicka at gcc dot gnu.org
                   ` (8 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-15 15:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #26 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jan Hubicka from comment #25)
> 
> If constexpr changes how the constructor is generated, isn't this violation
> of ODR?

Note the original code didn't have the constexpr change. And IIRC constexpr in
libstdc++ might be different depending on the language, C++11 vs C++17 in many
cases too.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (27 preceding siblings ...)
  2024-04-15 15:48 ` pinskia at gcc dot gnu.org
@ 2024-04-15 15:55 ` hubicka at gcc dot gnu.org
  2024-04-15 17:15 ` hubicka at gcc dot gnu.org
                   ` (7 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: hubicka at gcc dot gnu.org @ 2024-04-15 15:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #27 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK, but the problem is same. Having comdats with same key defining different
set of public symbols is IMO not a good situation for both non-LTO and LTO
builds.
Unless the additional alias is never used by valid code (which would make it
useless and probably we should not generate it) it should be possible to
produce a scenario where linker will pick wrong version of comdat and we get
undefined symbol in non-LTO builds...

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (28 preceding siblings ...)
  2024-04-15 15:55 ` hubicka at gcc dot gnu.org
@ 2024-04-15 17:15 ` hubicka at gcc dot gnu.org
  2024-04-16  8:57 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: hubicka at gcc dot gnu.org @ 2024-04-15 17:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #28 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
So the main problem is that in t2 we have

_ZN6vectorI12QualityValueEC1ERKS1_/7 (vector<_Tp>::vector(const vector<_Tp>&)
[with _Tp = QualityValue])
  Type: function definition analyzed alias cpp_implicit_alias
  Visibility: semantic_interposition public weak comdat
comdat_group:_ZN6vectorI12QualityValueEC5ERKS1_ one_only
  Same comdat group as: _ZN6vectorI12QualityValueEC2ERKS1_/6
  References: _ZN6vectorI12QualityValueEC2ERKS1_/6 (alias) 
  Referring: 
  Function flags:
  Called by: _Z41__static_initialization_and_destruction_0v/8 (can throw
external)
  Calls: 

and in t1 we have

_ZN6vectorI12QualityValueEC1ERKS1_/2 (constexpr vector<_Tp>::vector(const
vector<_Tp>&) [with _Tp = QualityValue])
  Type: function definition
  Visibility: semantic_interposition external public weak comdat
comdat_group:_ZN6vectorI12QualityValueEC1ERKS1_ one_only
  References: 
  Referring:
  Function flags:
  Called by: 
  Calls: 

This is the same symbol name but in two different comdat groups (C1 compared to
C5).  With -O0 both seems to get the C5 group

I can silence the ICE by making aliases undefined during symbol merging (which
is kind of hack but should make sanity checks happy), but I am still lost how
this is supposed to work in valid code.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (29 preceding siblings ...)
  2024-04-15 17:15 ` hubicka at gcc dot gnu.org
@ 2024-04-16  8:57 ` jakub at gcc dot gnu.org
  2024-04-16 10:34 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-16  8:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Looking at t1 (i.e. the reduced testcase with constexpr), the difference with
-std=c++20 -O1 -fkeep-inline-functions is that in r14-5978 we used to emit
_ZN6vectorI12QualityValueEC2ERKS1_ in _ZN6vectorI12QualityValueEC5ERKS1_
comdat section and _ZN6vectorI12QualityValueEC1ERKS1_ as an alias to it (i.e.
the
r0-97383-g24b3ff2c53806d3d optimization), while with r14-5979 we don't optimize
it
any longer, i.e. emit _ZN6vectorI12QualityValueEC2ERKS1_ in
_ZN6vectorI12QualityValueEC2ERKS1_ comdat and
_ZN6vectorI12QualityValueEC2ERKS1_ in
_ZN6vectorI12QualityValueEC2ERKS1_ comdat.
I thought that ought to be ABI compatible (the latter is what we used to emit
before
r0-97383), all the involved symbols are weak and either linker keeps the
pair of symbols with the _ZN6vectorI12QualityValueEC5ERKS1_ comdat, or
one or both of the _ZN6vectorI12QualityValueEC[12]ERKS1_ comdats (depending on
if
just one or both of those symbols are used), or it keeps all of them and the
linker chooses between the 2 symbol definitions one that is actually used.

Of course, I'd like to understand why Marek's patch changed the behavior.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (30 preceding siblings ...)
  2024-04-16  8:57 ` jakub at gcc dot gnu.org
@ 2024-04-16 10:34 ` jakub at gcc dot gnu.org
  2024-04-16 15:14 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-16 10:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |ppalka at gcc dot gnu.org

--- Comment #30 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, the difference is because we without/with constexpr we call on the abstract
_ZN6vectorI12QualityValueEC4ERKS1_ at different times.
Without it it is called from c_parse_final_cleanups ->
instantiate_pending_templates -> instantiate_decl -> instantiate_body ->
expand_or_defer_fn, so at_eof is true in
5071          if (DECL_INTERFACE_KNOWN (fn))
5072            /* We've already made a decision as to how this function will
5073               be handled.  */;
5074          else if (!at_eof
5075                   || DECL_IMMEDIATE_FUNCTION_P (fn)
5076                   || DECL_OMP_DECLARE_REDUCTION_P (fn))
5077            tentative_decl_linkage (fn);
5078          else
5079            import_export_decl (fn);
and so import_export_decl is called.  Now import_export_decl sets
3512      else if (DECL_TEMPLOID_INSTANTIATION (decl))
3513        {
3514          /* DECL is an implicit instantiation of a function or static
3515             data member.  */
3516          if (flag_implicit_templates
3517              || (flag_implicit_inline_templates
3518                  && TREE_CODE (decl) == FUNCTION_DECL
3519                  && DECL_DECLARED_INLINE_P (decl)))
3520            comdat_p = true;
and because of comdat_p being true it does
  else if (comdat_p)
    {
      /* If we decided to put DECL in COMDAT, mark it accordingly at
         this point.  */
      comdat_linkage (decl);
    }
which
  if (flag_weak)
    {
      make_decl_one_only (decl, cxx_comdat_group (decl));
Later on expand_or_defer_fn_1 calls maybe_clone_body.
In that function because of the above DECL_ONE_ONLY (fn) is true, so we
      if (DECL_ONE_ONLY (fn))
        cgraph_node::get_create (clone)->set_comdat_group (cxx_comdat_group
(clone));
and later on
          alias = true;
          if (DECL_ONE_ONLY (fns[0]))
            {
              /* For comdat base and complete cdtors put them
                 into the same, *[CD]5* comdat group instead of
                 *[CD][12]*.  */
Now, in the constexpr case, expand_or_defer_fn_1 is called much ealier, when
not at_eof, during constant evaluation of a different synthetized constructor:
#1  0x0000000000813795 in expand_or_defer_fn_1 (fn=<function_decl
0x7fffea2e0100 __ct >) at ../../gcc/cp/semantics.cc:5100
#2  0x0000000000813ac3 in expand_or_defer_fn (fn=<function_decl 0x7fffea2e0100
__ct >) at ../../gcc/cp/semantics.cc:5135
#3  0x00000000007c97a7 in instantiate_body (pattern=<template_decl
0x7ffff7ffa800 __ct >, args=<tree_vec 0x7fffea2df100>, d=<function_decl
0x7fffea2e0100 __ct >, nested_p=false)
    at ../../gcc/cp/pt.cc:27133
#4  0x00000000007cb08a in instantiate_decl (d=<function_decl 0x7fffea2e0100
__ct >, defer_ok=false, expl_inst_class_mem_p=false) at
../../gcc/cp/pt.cc:27399
#5  0x00000000004936da in cxx_eval_call_expression (ctx=0x7fffffffb120,
t=<aggr_init_expr 0x7fffea2d7e00>, lval=vc_prvalue,
non_constant_p=0x7fffffffb24f, overflow_p=0x7fffffffb24e)
    at ../../gcc/cp/constexpr.cc:3059
#6  0x00000000004a6319 in cxx_eval_constant_expression (ctx=0x7fffffffb120,
t=<aggr_init_expr 0x7fffea2d7e00>, lval=vc_prvalue,
non_constant_p=0x7fffffffb24f, 
    overflow_p=0x7fffffffb24e, jump_target=0x0) at
../../gcc/cp/constexpr.cc:7532
#7  0x00000000004ac44e in cxx_eval_outermost_constant_expr (t=<call_expr
0x7fffea2d7dc0>, allow_non_constant=true, strict=true,
manifestly_const_eval=mce_value::mce_false, 
    constexpr_dtor=false, object=<indirect_ref 0x7fffea2dfbe0>) at
../../gcc/cp/constexpr.cc:8830
#8  0x00000000004ad558 in maybe_constant_value (t=<call_expr 0x7fffea2d7dc0>,
decl=<tree 0x0>, manifestly_const_eval=mce_value::mce_false) at
../../gcc/cp/constexpr.cc:9118
#9  0x00000000004f90c7 in cp_fold (x=<call_expr 0x7fffea2d7dc0>, flags=3) at
../../gcc/cp/cp-gimplify.cc:3409
#10 0x00000000004ee8a1 in cp_fold_r (stmt_p=0x7fffea2df998,
walk_subtrees=0x7fffffffb554, data_=0x7fffffffb5f0) at
../../gcc/cp/cp-gimplify.cc:1359
#11 0x0000000001552484 in walk_tree_1 (tp=0x7fffea2df998, func=0x4ee673
<cp_fold_r(tree*, int*, void*)>, data=0x7fffffffb5f0, pset=0x0, 
    lh=0x859385 <cp_walk_subtrees(tree_node**, int*, tree_node*
(*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false,
default_hash_traits<tree_node*> >*)>)
    at ../../gcc/tree.cc:11429
#12 0x00000000004ef1d0 in cp_fold_function (fndecl=<function_decl
0x7fffea2e4500 __ct >) at ../../gcc/cp/cp-gimplify.cc:1488
#13 0x000000000057cae5 in finish_function (inline_p=false) at
../../gcc/cp/decl.cc:18756
#14 0x0000000000624ec1 in synthesize_method (fndecl=<function_decl
0x7fffea2e4500 __ct >) at ../../gcc/cp/method.cc:1845

Because at_eof is false, we take the
5072            /* We've already made a decision as to how this function will
5073               be handled.  */;
5074          else if (!at_eof
5075                   || DECL_IMMEDIATE_FUNCTION_P (fn)
5076                   || DECL_OMP_DECLARE_REDUCTION_P (fn))
5077            tentative_decl_linkage (fn);
path, so among other things don't define that the fn will be comdat.
But still maybe_clone_body is called, but because DECL_ONE_ONLY (fn) is not
true, the
      if (DECL_ONE_ONLY (fn))
        cgraph_node::get_create (clone)->set_comdat_group (cxx_comdat_group
(clone));
is not done,
  bool can_alias = can_alias_cdtor (fn);
is also false because it has:
  /* Don't use aliases for weak/linkonce definitions unless we can put both
     symbols in the same COMDAT group.  */
  return (DECL_INTERFACE_KNOWN (fn)
          && (SUPPORTS_ONE_ONLY || !DECL_WEAK (fn))
          && (!DECL_ONE_ONLY (fn)
              || (HAVE_COMDAT_GROUP && DECL_WEAK (fn))));
and DECL_INTERFACE_KNOWN (fn) is still false, and

      /* Tell cgraph if both ctors or both dtors are known to have
         the same body.  */
      if (can_alias
          && fns[0]
          && idx == 1
          && cgraph_node::get_create (fns[0])->create_same_body_alias
               (clone, fns[0]))
        {
          alias = true;
          if (DECL_ONE_ONLY (fns[0]))
            {
              /* For comdat base and complete cdtors put them
                 into the same, *[CD]5* comdat group instead of
                 *[CD][12]*.  */
isn't done either.
Later on during c_parse_final_cleanups (aka at_eof) import_export_decl is
called
on the clones individually, because they were still deferred, but
maybe_clone_body
isn't called again (it really can't be) and nothing is able to redo the cdtor
optimization at that point by turning one of the clones into an alias to the
other
one and adjusting the comdat group etc.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (31 preceding siblings ...)
  2024-04-16 10:34 ` jakub at gcc dot gnu.org
@ 2024-04-16 15:14 ` jakub at gcc dot gnu.org
  2024-04-16 16:01 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-16 15:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #31 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 57960
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57960&action=edit
gcc14-pr113208.patch

Here is my attempt to optimize it in the C++ FE.
The ICE is gone and for pr113208_0.C compiled with -std=c++20 -O1
-fkeep-inline-functions it emits the desirable
_ZN6vectorI12QualityValueEC2ERKS1_ ctor in the
_ZN6vectorI12QualityValueEC5ERKS1_ comdat group as well as an alias to it.
But, compared to e.g. 13.2.1, the alias is for some reason no longer inlined
into _ZN1kC2ERKS_ call.
Honza, any ideas what I'm doing wrong?

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (32 preceding siblings ...)
  2024-04-16 15:14 ` jakub at gcc dot gnu.org
@ 2024-04-16 16:01 ` jakub at gcc dot gnu.org
  2024-04-16 18:23 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-16 16:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 57963
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57963&action=edit
gcc14-pr113208.patch

Ah, I shouldn't call expand_or_defer* in that function, that has been called
already earlier and causes e.g. redefined_extern_inline.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (33 preceding siblings ...)
  2024-04-16 16:01 ` jakub at gcc dot gnu.org
@ 2024-04-16 18:23 ` jakub at gcc dot gnu.org
  2024-04-25 18:39 ` cvs-commit at gcc dot gnu.org
  2024-04-25 18:49 ` [Bug lto/113208] [15 " jakub at gcc dot gnu.org
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-16 18:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #33 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It regresses
g++.dg/coroutines/torture/co-await-16-template-traits.C
g++.dg/cpp0x/pr89403.C
g++.dg/tree-ssa/pr46228.C
g++.dg/torture/pr104601.C
g++.dg/torture/pr89303.C
g++.dg/torture/pr91606.C
on i686-linux, so I'll need to work on this some more.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (34 preceding siblings ...)
  2024-04-16 18:23 ` jakub at gcc dot gnu.org
@ 2024-04-25 18:39 ` cvs-commit at gcc dot gnu.org
  2024-04-25 18:49 ` [Bug lto/113208] [15 " jakub at gcc dot gnu.org
  36 siblings, 0 replies; 38+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-25 18:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

--- Comment #34 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:c39654e7a431992773b48d61f804494b0d70855f

commit r14-10132-gc39654e7a431992773b48d61f804494b0d70855f
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Thu Apr 25 20:37:10 2024 +0200

    c++: Retry the aliasing of base/complete cdtor optimization at
import_export_decl time [PR113208]

    When expand_or_defer_fn is called at_eof time, it calls import_export_decl
    and then maybe_clone_body, which uses DECL_ONE_ONLY and comdat name in a
    couple of places to try to optimize cdtors which are known to have the
    same body by making the complete cdtor an alias to base cdtor (and in
    that case also uses *[CD]5* as comdat group name instead of the normal
    comdat group names specific to each mangled name).
    Now, this optimization depends on DECL_ONE_ONLY and DECL_INTERFACE_KNOWN,
    maybe_clone_body and can_alias_cdtor use:
          if (DECL_ONE_ONLY (fn))
            cgraph_node::get_create (clone)->set_comdat_group (cxx_comdat_group
(clone));
    ...
      bool can_alias = can_alias_cdtor (fn);
    ...
          /* Tell cgraph if both ctors or both dtors are known to have
             the same body.  */
          if (can_alias
              && fns[0]
              && idx == 1
              && cgraph_node::get_create (fns[0])->create_same_body_alias
                   (clone, fns[0]))
            {
              alias = true;
              if (DECL_ONE_ONLY (fns[0]))
                {
                  /* For comdat base and complete cdtors put them
                     into the same, *[CD]5* comdat group instead of
                     *[CD][12]*.  */
                  comdat_group = cdtor_comdat_group (fns[1], fns[0]);
                  cgraph_node::get_create (fns[0])->set_comdat_group
(comdat_group);
                  if (symtab_node::get (clone)->same_comdat_group)
                    symtab_node::get (clone)->remove_from_same_comdat_group ();
                  symtab_node::get (clone)->add_to_same_comdat_group
                    (symtab_node::get (fns[0]));
                }
            }
    and
      /* Don't use aliases for weak/linkonce definitions unless we can put both
         symbols in the same COMDAT group.  */
      return (DECL_INTERFACE_KNOWN (fn)
              && (SUPPORTS_ONE_ONLY || !DECL_WEAK (fn))
              && (!DECL_ONE_ONLY (fn)
                  || (HAVE_COMDAT_GROUP && DECL_WEAK (fn))));
    The following testcase regressed with Marek's r14-5979 change,
    when pr113208_0.C is compiled where the ctor is marked constexpr,
    we no longer perform this optimization, where
    _ZN6vectorI12QualityValueEC2ERKS1_ was emitted in the
    _ZN6vectorI12QualityValueEC5ERKS1_ comdat group and
    _ZN6vectorI12QualityValueEC1ERKS1_ was made an alias to it,
    instead we emit _ZN6vectorI12QualityValueEC2ERKS1_ in
    _ZN6vectorI12QualityValueEC2ERKS1_ comdat group and the same
    content _ZN6vectorI12QualityValueEC1ERKS1_ as separate symbol in
    _ZN6vectorI12QualityValueEC1ERKS1_ comdat group.
    Now, the linker seems to somehow cope with that, eventhough it
    probably keeps both copies of the ctor, but seems LTO can't cope
    with that and Honza doesn't know what it should do in that case
    (linker decides that the prevailing symbol is
    _ZN6vectorI12QualityValueEC2ERKS1_ (from the
    _ZN6vectorI12QualityValueEC2ERKS1_ comdat group) and
    _ZN6vectorI12QualityValueEC1ERKS1_ alias (from the other TU,
    from _ZN6vectorI12QualityValueEC5ERKS1_ comdat group)).

    Note, the case where some constructor is marked constexpr in one
    TU and not in another one happens pretty often in libstdc++ when
    one mixes -std= flags used to compile different compilation units.

    The reason the optimization doesn't trigger when the constructor is
    constexpr is that expand_or_defer_fn is called in that case much earlier
    than when it is not constexpr; in the former case it is called when we
    try to constant evaluate that constructor.  But DECL_INTERFACE_KNOWN
    is false in that case and comdat_linkage hasn't been called either
    (I think it is desirable, because comdat group is stored in the cgraph
    node and am not sure it is a good idea to create cgraph nodes for
    something that might not be needed later on at all), so maybe_clone_body
    clones the bodies, but doesn't make them as aliases.

    The following patch is an attempt to redo this optimization when
    import_export_decl is called at_eof time on the base/complete cdtor
    (or deleting dtor).  It will not do anything if maybe_clone_body
    hasn't been called uyet (the TREE_ASM_WRITTEN check on the
    DECL_MAYBE_IN_CHARGE_CDTOR_P), or when one or both of the base/complete
    cdtors have been lowered already, or when maybe_clone_body called
    maybe_thunk_body and it was successful.  Otherwise retries the
    can_alias_cdtor check and makes the complete cdtor alias to the
    base cdtor with adjustments to the comdat group.

    2024-04-25  Jakub Jelinek  <jakub@redhat.com>

            PR lto/113208
            * cp-tree.h (maybe_optimize_cdtor): Declare.
            * decl2.cc (import_export_decl): Call it for cloned cdtors.
            * optimize.cc (maybe_optimize_cdtor): New function.

            * g++.dg/abi/comdat2.C: New test.
            * g++.dg/abi/comdat5.C: New test.
            * g++.dg/lto/pr113208_0.C: New test.
            * g++.dg/lto/pr113208_1.C: New file.
            * g++.dg/lto/pr113208.h: New file.

^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug lto/113208] [15 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0
  2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
                   ` (35 preceding siblings ...)
  2024-04-25 18:39 ` cvs-commit at gcc dot gnu.org
@ 2024-04-25 18:49 ` jakub at gcc dot gnu.org
  36 siblings, 0 replies; 38+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-25 18:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113208

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
   Target Milestone|14.0                        |15.0
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
            Summary|[14 Regression] lto1:       |[15 Regression] lto1:
                   |error: Alias and target's   |error: Alias and target's
                   |comdat groups differs since |comdat groups differs since
                   |r14-5979-g99d114c15523e0    |r14-5979-g99d114c15523e0

--- Comment #35 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Should be fixed for 14.1 now.
Keeping it open to redo it in stage1 differently as discussed on the mailing
list.

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2024-04-25 18:49 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-02 19:56 [Bug lto/113208] New: [14 Regression] lto1: error: Alias and target's comdat groups differs doko at gcc dot gnu.org
2024-01-02 20:02 ` [Bug lto/113208] " doko at gcc dot gnu.org
2024-01-02 20:23 ` doko at gcc dot gnu.org
2024-01-06  6:15 ` pinskia at gcc dot gnu.org
2024-03-07 20:53 ` law at gcc dot gnu.org
2024-03-18  7:45 ` sjames at gcc dot gnu.org
2024-03-18  7:46 ` sjames at gcc dot gnu.org
2024-03-23  9:58 ` sjames at gcc dot gnu.org
2024-03-23 10:32 ` sjames at gcc dot gnu.org
2024-03-24 13:52 ` sjames at gcc dot gnu.org
2024-03-24 13:53 ` sjames at gcc dot gnu.org
2024-03-24 13:53 ` sjames at gcc dot gnu.org
2024-03-24 14:25 ` sjames at gcc dot gnu.org
2024-03-24 14:34 ` sjames at gcc dot gnu.org
2024-03-24 17:45 ` [Bug lto/113208] [14 Regression] lto1: error: Alias and target's comdat groups differs since r14-5979-g99d114c15523e0 sjames at gcc dot gnu.org
2024-03-24 19:59 ` pinskia at gcc dot gnu.org
2024-03-24 20:03 ` sjames at gcc dot gnu.org
2024-03-24 20:03 ` sjames at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:09 ` pinskia at gcc dot gnu.org
2024-03-24 20:11 ` pinskia at gcc dot gnu.org
2024-03-25 23:43 ` pinskia at gcc dot gnu.org
2024-03-26 10:39 ` rguenth at gcc dot gnu.org
2024-04-04 14:59 ` jakub at gcc dot gnu.org
2024-04-10  7:29 ` rguenth at gcc dot gnu.org
2024-04-10 13:28 ` jakub at gcc dot gnu.org
2024-04-15 15:46 ` hubicka at gcc dot gnu.org
2024-04-15 15:48 ` pinskia at gcc dot gnu.org
2024-04-15 15:55 ` hubicka at gcc dot gnu.org
2024-04-15 17:15 ` hubicka at gcc dot gnu.org
2024-04-16  8:57 ` jakub at gcc dot gnu.org
2024-04-16 10:34 ` jakub at gcc dot gnu.org
2024-04-16 15:14 ` jakub at gcc dot gnu.org
2024-04-16 16:01 ` jakub at gcc dot gnu.org
2024-04-16 18:23 ` jakub at gcc dot gnu.org
2024-04-25 18:39 ` cvs-commit at gcc dot gnu.org
2024-04-25 18:49 ` [Bug lto/113208] [15 " jakub at gcc dot gnu.org

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).