Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: adobriyan at gmail dot com
Target Milestone: ---
Created attachment 47226
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47226&action=edit
trimmed down reproducer
int f()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92485
--- Comment #1 from Alexey Dobriyan ---
g++ 8.3.0 doesn't crash
g++ 9.1.0 crashes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92485
--- Comment #4 from Alexey Dobriyan ---
I'm not familiar with project's backporting policies.
FWIW, this bug break Linux scheduler compilation with g++,
which is a big deal for me! :^)
CC kernel/sched/idle.o
In file included from arch/x8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33661
--- Comment #15 from Alexey Dobriyan ---
I can only reconfirm this bug still exists with 8.2.0 after rediscovering it
independently.
Linux system calls taking 4+ arguments can't be templatized as they require
register T3 _a3 asm("r10") = a3
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: adobriyan at gmail dot com
Target Milestone: ---
Currently, the rules do not allow reordering member initialisation:
struct S {
int a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113124
--- Comment #1 from Alexey Dobriyan ---
This is getting lengthy:
Please allow C99 semantics for "simple enough" stuff (read: C structs):
* allow reordering
* allow duplicating (possibly with warning),
* allow holes in the middle of arrays (1-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113124
--- Comment #2 from Alexey Dobriyan ---
this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99081
but I don't care about the warning, only about error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113124
--- Comment #5 from Alexey Dobriyan ---
My standardspeak is very bad.
I think std::is_trivial_v types should have relaxed initialisation ordering,
because all C structs and unions are std::is_trivial_v.
If I understand this stuff correctly, or
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113124
--- Comment #7 from Alexey Dobriyan ---
> fancy C++ extension
It is not fancy.
C99 initialisers is the only feature where Modern C beats Modern C++.