You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
As described in a reddit comment, we rely on non-standard and ambiguous behavior regularly. We should make note of that.
Describe the solution you'd like
The standard is inconsistent in a few places. When choosing between general and specific, compilers choose the most specific rule and when choosing between defined and undefined behavior, they’ll choose defined.
Non-Standard has many examples
Absolute ordering of pointers in the case of malloc
Pointer equality under different types
Zero Length Arrays
Callee Detection
Constant Propagation
Function Attributes
Placement of variables in data sections (non portable)
Variadic Macros
Variable Length Arrays
Compound literals for PTHREAD_MUTEX_INITIALIZER
-noreturn is used in abort() and exit()
Alignment
Volatile Access for pthreads
inline asm for memory barriers, mutex, system calls, etc etc
Builtin Atomic Functions
Thread local variables in errno
Describe alternatives you've considered
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
As described in a reddit comment, we rely on non-standard and ambiguous behavior regularly. We should make note of that.
Describe the solution you'd like
PTHREAD_MUTEX_INITIALIZER
-
noreturn
is used inabort()
andexit()
Describe alternatives you've considered
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: