@thomasfuchs OO programming was supposed to simplified the complexity of objects instead people made layers of complexity out of objects. Templates/generics were supposed to simplify the complexity of generic objects instead it complexity even worse.
Concepts and type traits are most likely going to do the same.
LMAO i just caught myself writing "good morn'" but it's almost 3pm. that's what happens after 3 days of forcing myself to sleep to heal from a hell of week of surgery and #chemo.
@unlambda@mwk@whitequark Except they still have a good first level description of what is changed. Especially function level wise. I still use them a lot to understand the patch just as much as the high level description helps. In fact I have seen the high level description not matching the changelog is that is a big red flag really.
@mwk@whitequark I have to disagree. ChangeLog entries have their place in development. They are very useful to verify that the change you made is close to what is described.
Games are going to be blamed for the killing. Mark my word. Liberals are going to do another anti-game rant. Especially with the connection of him being a game developer. The problem is not games but rather right wing radicalization is happening for gamers a lot.
Interesting GCC Bug of the day: https://gcc.gnu.org/PR117887 . ICE while compiling qtwebengine (and chromium). chromium moved to using C++20 Novemeber 2023 but the code they added is causing an ICE in GCC all the way back to GCC 11. There is a nice small workaround for GCC which I hope someone will upstream to chromium.
Instead of advent of code, I am going to do fix a GCC bug report one per day. Starting on Monday until the 25th. Others do similar for their favorite free/open source project. a fun way of clearing out bug reports and getting involved. I will write up about each one here too.
So thinking about GCC and LLVM and code generation. GCC for the most part tries to go down the route that if more than 1 target could benifit, then it should be general code. While LLVM backend folks seems to silo themselves in doing it multiply times. Examples of GCC where things have started as target specific (mostly aarch64) but now reused: * CCMP (used by x86 for APX) * pair-load/stores (used by ppc) Division by constant -> non-div has target generic for over 20 years.
Conversions vs logical operators again it seems. GCC pushes down logical operators for widening (and nop) conversions. Looks like the same should be done for truncating conversions. I handled the nop for GCC 12 but I am not sure if I will be able to get truncating in for GCC 15 though since it is stage 3 already.
The pgrep and pkill commands in #OracleSolaris 11.4.75 also grew two new options for selecting which processes to match: -r pidlist limits matches to processes with the listed pids at the root of their process trees. -Z (capital Z) limits matches to processes in the same zone (i.e. also in the global zone, since only in the global zone can you see processes from other zones).
@void_friend "barring the use of the ABI-breaking -fshort-enums option" Except some targets' ABI requires that (e.g arm eabi; at least for aarch64 abi arm decided not to do that by default).
@navi I can think of examples where the base operator might not show up at least directly when dealing with operator overloads. E.g. you provide a "backwards" compatible API for the overload. Like say multiprecision; then you either have the backwards compatible API call into the new overload instead of the other way around.
And yes it is awful semantics for more than above too.
@12@puppygirlhornypost2"they actively block building newer gcc on Solaris 10" well considering Sun^wOracle no longer supports Solaris 10 and the folks who support Solaris for GCC are truely volunteers, it is hard to support older Solaris. If you want to come up with a path to support it and put in the maintance work in it; I suspect the maintainers for solaris on the GCC will like the help.