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
-c=native/-m/-G: a VM-only safety/debug flag (--checked-pointers, --bounds-checks, -g/--debug, etc.) used to be a hard compile-time
error under -c=native and a silent no-op under -m/-G. Both now warn
and continue instead — these flags are genuinely inert in modes that hand
off to the host cc or serialize plain C, not a real conflict — naming
every ignored flag in the message. #pragma cccc config(...) keys are
likewise silently dropped under -c=native; that now emits a -Wignored-features diagnostic (-Wall) at the pragma site instead of
staying quiet (#924)
Fixed
-G serializer: reflection API file-scope anonymous globals built via CompoundLiteral/InitArray/InitStruct (reflect_new_anon_gvar()'s
other two call sites, besides MakeStringLiteral which #925 already
covered) no longer fall through as an undefined .L..N reference — rename_anon_globals() now runs under -G too, and the -G emit path
forward-declares macro-generated globals ahead of any generated function
body that references them
-c=native/-m/-G serializer: pointer arithmetic whose result type is
an array (e.g. a reflection MakeSubscript on an array-typed anon
global) no longer casts to the array type itself ((int [3])..., invalid
C) — casts to pointer-to-element instead
tools/testing/c4.py: the c4 round-trip skip check tested for -M
(--memory-leak-detection) instead of -m (--dump-expanded) when
deciding whether a test's output mode was round-trip-incompatible — a test
combining -m with the c4 suite silently mis-saved serialized C source as
a .c4 bytecode file instead of being skipped, then failed to reload