[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

Jonathan Wakely  changed:

   What|Removed |Added

 CC|jwakely at redhat dot com  |

--- Comment #7 from Jonathan Wakely  ---
Please don't CC me on your stupid rants.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread euloanty at live dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #6 from fdlbxtqi  ---
(In reply to Iain Sandoe from comment #4)
> (In reply to fdlbxtqi from comment #3)
> > Jonathan. I am MAD at you. This is absolutely your fault. I told you to
> > always write inline and you guys do not then allow Herb Sutter to ban me.
> > Here is the fault in your own controlled codebase. Are you satisfied?
> > 
> > https://github.com/isocpp/CppCoreGuidelines/issues/1630
> > 
> > YES! INLINE ALL YOUR FUNCTIONS. AVOID function pointers and virtual
> > functions as plagues.
> 
> 1. jonathan did not write this header - I did,
> 2. we all make mistakes, shouting at folks isn't the optimum way to get them
> fixed
> 3. this bloat can only occur IF you include a header you are NOT using.
> 
> i.e.
> #include 
> in a source that has no coroutines.

Iain, you did a great job on implementing coroutines.

I am here to show the examples.

https://github.com/expnkx/fast_io/blob/master/testsuites/0005.freestanding/0002.println/helloworld_linux.cc
https://github.com/expnkx/fast_io/blob/master/testsuites/0005.freestanding/0002.println/helloworld_linux.s
https://github.com/expnkx/fast_io/blob/master/testsuites/0005.freestanding/0002.println/helloworld_linux_writev.cc
https://github.com/expnkx/fast_io/blob/master/testsuites/0005.freestanding/0002.println/helloworld_linux_writev.s

 Of course, I disabled exceptions and RTTI.
I can compile this on one computer and fail on another since it introduced
libsupc++ again with std:: bad_alloc, global new for examples. This is serious
if people are using C++ for making operating systems.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread euloanty at live dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #5 from fdlbxtqi  ---
(In reply to Iain Sandoe from comment #4)
> (In reply to fdlbxtqi from comment #3)
> > Jonathan. I am MAD at you. This is absolutely your fault. I told you to
> > always write inline and you guys do not then allow Herb Sutter to ban me.
> > Here is the fault in your own controlled codebase. Are you satisfied?
> > 
> > https://github.com/isocpp/CppCoreGuidelines/issues/1630
> > 
> > YES! INLINE ALL YOUR FUNCTIONS. AVOID function pointers and virtual
> > functions as plagues.
> 
> 1. jonathan did not write this header - I did,
> 2. we all make mistakes, shouting at folks isn't the optimum way to get them
> fixed
> 3. this bloat can only occur IF you include a header you are NOT using.
> 
> i.e.
> #include 
> in a source that has no coroutines.

Sorry. It is not your fault. What I am complaining about is that GCC now has
the 
 exactly the problem I talked about 10 days ago and he and Herb Sutter banned
me on C++ Core Guideline.

C++ Core Guideline is absolutely wrong here.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #4 from Iain Sandoe  ---
(In reply to fdlbxtqi from comment #3)
> Jonathan. I am MAD at you. This is absolutely your fault. I told you to
> always write inline and you guys do not then allow Herb Sutter to ban me.
> Here is the fault in your own controlled codebase. Are you satisfied?
> 
> https://github.com/isocpp/CppCoreGuidelines/issues/1630
> 
> YES! INLINE ALL YOUR FUNCTIONS. AVOID function pointers and virtual
> functions as plagues.

1. jonathan did not write this header - I did,
2. we all make mistakes, shouting at folks isn't the optimum way to get them
fixed
3. this bloat can only occur IF you include a header you are NOT using.

i.e.
#include 
in a source that has no coroutines.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread euloanty at live dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #3 from fdlbxtqi  ---
Jonathan. I am MAD at you. This is absolutely your fault. I told you to always
write inline and you guys do not then allow Herb Sutter to ban me. Here is the
fault in your own controlled codebase. Are you satisfied?

https://github.com/isocpp/CppCoreGuidelines/issues/1630

YES! INLINE ALL YOUR FUNCTIONS. AVOID function pointers and virtual functions
as plagues.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread euloanty at live dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #2 from fdlbxtqi  ---
This makes me mad.

I compiled this under freestanding mode. Now coroutine causes binary bloat
which is completely unacceptable for me.

The problem of C++ is that you have to always write inline to undo the brain
damage of the extern static shit of WG21.

[Bug c++/95917] coroutine functions leak under freestanding mode causing dependencies and binary bloat.

2020-06-26 Thread euloanty at live dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95917

--- Comment #1 from fdlbxtqi  ---

  void __dummy_resume_destroy() __attribute__((__weak__));
  void __dummy_resume_destroy() {}

  struct __noop_coro_frame
  {
void (*__r)() = __dummy_resume_destroy;
void (*__d)() = __dummy_resume_destroy;
struct noop_coroutine_promise __p;
  } __noop_coro_fr __attribute__((__weak__));


Please inline ALL your functions.

inline this variable PLEASE.