public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/98430] New: C++20 module binary bloat by introducing iostream silently.
@ 2020-12-23 17:48 unlvsur at live dot com
2020-12-23 17:50 ` [Bug c++/98430] " unlvsur at live dot com
2024-03-07 20:14 ` ppalka at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: unlvsur at live dot com @ 2020-12-23 17:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98430
Bug ID: 98430
Summary: C++20 module binary bloat by introducing iostream
silently.
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: unlvsur at live dot com
Target Milestone: ---
Created attachment 49838
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49838&action=edit
Preprocessed file
OH NO!!! PLEASE. NO IOSTREAM.!! We ban iostream and we do not use it.
g++ -S hello.cc main.cc -Ofast -std=c++20 -s -fmodules-ts
.LFE5373:
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.section .init_array,"aw"
.align 8
.quad _GLOBAL__sub_I_main
.globl _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE
.section .rodata
.align 8
.type _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE,
@object
.size _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE,
120
_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE:
.quad 0
.quad _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE
.quad
_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev
.quad
_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe
.quad
_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv
.globl _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE
.align 8
.type _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE,
@object
.size _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE,
96
_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE:
.quad 0
.quad _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE
.quad
_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev
.quad
_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe
.quad
_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv
.hidden
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E
.globl
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E
.align 8
.type
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E, @object
.size
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E, 80
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E:
.quad 8
.quad 0
.quad _ZTISt13basic_ostreamIwSt11char_traitsIwEE
.quad 0
.quad 0
.quad -8
.quad -8
.quad _ZTISt13basic_ostreamIwSt11char_traitsIwEE
.quad 0
.quad 0
.hidden
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E
.globl
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E
.align 8
.type
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E, @object
.size
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E, 80
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E:
.quad 24
.quad 0
.quad _ZTISt13basic_istreamIwSt11char_traitsIwEE
.quad 0
.quad 0
.quad -24
.quad -24
.quad _ZTISt13basic_istreamIwSt11char_traitsIwEE
.quad 0
.quad 0
.globl _ZTTSt14basic_iostreamIwSt11char_traitsIwEE
.align 8
.type _ZTTSt14basic_iostreamIwSt11char_traitsIwEE, @object
.size _ZTTSt14basic_iostreamIwSt11char_traitsIwEE, 56
_ZTTSt14basic_iostreamIwSt11char_traitsIwEE:
.quad _ZTVSt14basic_iostreamIwSt11char_traitsIwEE+24
.quad
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E+24
.quad
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E+64
.quad
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E+24
.quad
_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E+64
.quad _ZTVSt14basic_iostreamIwSt11char_traitsIwEE+104
.quad _ZTVSt14basic_iostreamIwSt11char_traitsIwEE+64
.globl _ZTVSt14basic_iostreamIwSt11char_traitsIwEE
.align 8
.type _ZTVSt14basic_iostreamIwSt11char_traitsIwEE, @object
.size _ZTVSt14basic_iostreamIwSt11char_traitsIwEE, 120
_ZTVSt14basic_iostreamIwSt11char_traitsIwEE:
.quad 24
.quad 0
.quad _ZTISt14basic_iostreamIwSt11char_traitsIwEE
.quad _ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev
.quad _ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev
.quad 8
.quad -16
.quad _ZTISt14basic_iostreamIwSt11char_traitsIwEE
.quad _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
.quad _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
.quad -24
.quad -24
.quad _ZTISt14basic_iostreamIwSt11char_traitsIwEE
.quad _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev
.quad _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev
.globl _ZTTSt13basic_istreamIwSt11char_traitsIwEE
.align 8
.type _ZTTSt13basic_istreamIwSt11char_traitsIwEE, @object
.size _ZTTSt13basic_istreamIwSt11char_traitsIwEE, 16
_ZTTSt13basic_istreamIwSt11char_traitsIwEE:
.quad _ZTVSt13basic_istreamIwSt11char_traitsIwEE+24
.quad _ZTVSt13basic_istreamIwSt11char_traitsIwEE+64
.globl _ZTVSt13basic_istreamIwSt11char_traitsIwEE
.align 8
.type _ZTVSt13basic_istreamIwSt11char_traitsIwEE, @object
.size _ZTVSt13basic_istreamIwSt11char_traitsIwEE, 80
_ZTVSt13basic_istreamIwSt11char_traitsIwEE:
.quad 16
.quad 0
.quad _ZTISt13basic_istreamIwSt11char_traitsIwEE
.quad _ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev
.quad _ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev
.quad -16
.quad -16
.quad _ZTISt13basic_istreamIwSt11char_traitsIwEE
.quad _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev
.quad _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev
.globl _ZTTSt13basic_ostreamIwSt11char_traitsIwEE
.align 8
.type _ZTTSt13basic_ostreamIwSt11char_traitsIwEE, @object
.size _ZTTSt13basic_ostreamIwSt11char_traitsIwEE, 16
_ZTTSt13basic_ostreamIwSt11char_traitsIwEE:
.quad _ZTVSt13basic_ostreamIwSt11char_traitsIwEE+24
.quad _ZTVSt13basic_ostreamIwSt11char_traitsIwEE+64
.globl _ZTVSt13basic_ostreamIwSt11char_traitsIwEE
.align 8
.type _ZTVSt13basic_ostreamIwSt11char_traitsIwEE, @object
.size _ZTVSt13basic_ostreamIwSt11char_traitsIwEE, 80
_ZTVSt13basic_ostreamIwSt11char_traitsIwEE:
.quad 8
.quad 0
.quad _ZTISt13basic_ostreamIwSt11char_traitsIwEE
.quad _ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev
.quad _ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev
.quad -8
.quad -8
.quad _ZTISt13basic_ostreamIwSt11char_traitsIwEE
.quad _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev
.quad _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev
.globl _ZTVSt9basic_iosIwSt11char_traitsIwEE
.align 8
.type _ZTVSt9basic_iosIwSt11char_traitsIwEE, @object
.size _ZTVSt9basic_iosIwSt11char_traitsIwEE, 32
_ZTVSt9basic_iosIwSt11char_traitsIwEE:
.quad 0
.quad _ZTISt9basic_iosIwSt11char_traitsIwEE
.quad _ZNSt9basic_iosIwSt11char_traitsIwEED1Ev
.quad _ZNSt9basic_iosIwSt11char_traitsIwEED0Ev
.globl _ZTVSt15basic_streambufIwSt11char_traitsIwEE
.align 8
.type _ZTVSt15basic_streambufIwSt11char_traitsIwEE, @object
.size _ZTVSt15basic_streambufIwSt11char_traitsIwEE, 128
_ZTVSt15basic_streambufIwSt11char_traitsIwEE:
.quad 0
.quad _ZTISt15basic_streambufIwSt11char_traitsIwEE
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl
.quad
_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode
.quad
_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl
.quad _ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj
.globl _ZTVNSt7__cxx118messagesIwEE
.align 8
.type _ZTVNSt7__cxx118messagesIwEE, @object
.size _ZTVNSt7__cxx118messagesIwEE, 56
_ZTVNSt7__cxx118messagesIwEE:
.quad 0
.quad _ZTINSt7__cxx118messagesIwEE
.quad _ZNSt7__cxx118messagesIwED1Ev
.quad _ZNSt7__cxx118messagesIwED0Ev
.quad
_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale
.quad
_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE
.quad _ZNKSt7__cxx118messagesIwE8do_closeEi
.globl _ZTVNSt7__cxx118numpunctIwEE
.align 8
.type _ZTVNSt7__cxx118numpunctIwEE, @object
.size _ZTVNSt7__cxx118numpunctIwEE, 72
_ZTVNSt7__cxx118numpunctIwEE:
.quad 0
.quad _ZTINSt7__cxx118numpunctIwEE
.quad _ZNSt7__cxx118numpunctIwED1Ev
.quad _ZNSt7__cxx118numpunctIwED0Ev
.quad _ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv
.quad _ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv
.quad _ZNKSt7__cxx118numpunctIwE11do_groupingEv
.quad _ZNKSt7__cxx118numpunctIwE11do_truenameEv
.quad _ZNKSt7__cxx118numpunctIwE12do_falsenameEv
.globl _ZTVNSt7__cxx118numpunctIcEE
.align 8
.type _ZTVNSt7__cxx118numpunctIcEE, @object
.size _ZTVNSt7__cxx118numpunctIcEE, 72
_ZTVNSt7__cxx118numpunctIcEE:
.quad 0
.quad _ZTINSt7__cxx118numpunctIcEE
.quad _ZNSt7__cxx118numpunctIcED1Ev
.quad _ZNSt7__cxx118numpunctIcED0Ev
.quad _ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv
.quad _ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv
.quad _ZNKSt7__cxx118numpunctIcE11do_groupingEv
.quad _ZNKSt7__cxx118numpunctIcE11do_truenameEv
.quad _ZNKSt7__cxx118numpunctIcE12do_falsenameEv
.weak _ZTSN7fast_io14error_reporterE
.section
.rodata._ZTSN7fast_io14error_reporterE,"aG",@progbits,_ZTSN7fast_io14error_reporterE,comdat
.align 16
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug c++/98430] C++20 module binary bloat by introducing iostream silently.
2020-12-23 17:48 [Bug c++/98430] New: C++20 module binary bloat by introducing iostream silently unlvsur at live dot com
@ 2020-12-23 17:50 ` unlvsur at live dot com
2024-03-07 20:14 ` ppalka at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: unlvsur at live dot com @ 2020-12-23 17:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98430
--- Comment #1 from cqwrteur <unlvsur at live dot com> ---
inline functions should not emit anything.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug c++/98430] C++20 module binary bloat by introducing iostream silently.
2020-12-23 17:48 [Bug c++/98430] New: C++20 module binary bloat by introducing iostream silently unlvsur at live dot com
2020-12-23 17:50 ` [Bug c++/98430] " unlvsur at live dot com
@ 2024-03-07 20:14 ` ppalka at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: ppalka at gcc dot gnu.org @ 2024-03-07 20:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98430
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|UNCONFIRMED |RESOLVED
CC| |ppalka at gcc dot gnu.org
Target Milestone|--- |13.0
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
I assume this is fixed in GCC 13 which got rid of the global constructor in
<iostream> (in r13-3707 for PR44952).
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-03-07 20:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-23 17:48 [Bug c++/98430] New: C++20 module binary bloat by introducing iostream silently unlvsur at live dot com
2020-12-23 17:50 ` [Bug c++/98430] " unlvsur at live dot com
2024-03-07 20:14 ` ppalka 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).