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