gcc 14 warns -Wreturn-local-addr in builtin_set_at when compiling the amalgamation (main and phase2-numbers)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- c, github-actions
- Domain
- build-system, ci-cd
Research direction
Start in src/builtins.c at builtin_set_at and trace the buffer path through BUILTIN_LIST_VIEW and slot_view. Run make embed-smoke with gcc 14 to reproduce the warning in build/eigenscript_all.c; the issue identifies list_get_ref(arg, 0) as one possible route. Done means the amalgamation builds without -Wreturn-local-addr and the CI extensions / server log has no warning from that file.
Written by the indexing model from the issue text.
Description
Found by the #1758 R1.3 CI-fix builder, 2026-10-19, while reading CI logs. The same warning is present on main.
In CI's extensions / server job (gcc 14.2 in the dev image), make embed-smoke compiles the amalgamation with a warning:
build/eigenscript_all.c: In function 'builtin_set_at':
build/eigenscript_all.c:16782:1: warning: function may return address of local variable [-Wreturn-local-addr]
...
slot_view(list_slot((list), (i)), &(EigsView){{0}})
...
note: in expansion of macro 'BUILTIN_LIST_VIEW'
Value *buf = BUILTIN_LIST_VIEW(arg, 0);
It appears on main (run 39269449864 at 965dfbd0, job extensions / server, at 14:31:11Z and 14:32:26Z) and on phase2-numbers (run 39263025702). Local gcc 13.3 does not warn.
By reading the code it is a false positive. builtin_set_at (src/builtins.c, the #1093 buffer path) returns buf only after buf->type == VAL_BUFFER. A buffer is a heap reference, so slot_view returns the reference and not the compound-literal facade. gcc 14 cannot prove that. Still, a warning in a CI lane hides the next real one, and the repository's builds aim at zero warnings.
Done when
- gcc 14 compiles
make embed-smoke(the amalgamation) with no-Wreturn-local-addrwarning. For example, the buffer path takeslist_get_ref(arg, 0), a real reference, instead of a facade view, or the facade lives in a named local scoped to the function. - CI's
extensions / serverlog for the PR shows nowarning:line frombuild/eigenscript_all.c.
- Dominant language
- C
- Stars
- 3
- Forks
- 7
- Avg merge
- 11h 16m
- Merged PRs (30d)
- 267
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InauguralSystems/EigenScript
-
phase2: test_bitwise.eigs cites ctl.scan.* rows; the MAP's refusal controls are ctl.N8.refuse-*Openarea:gates kind:docs-drift
Difficulty 1/5 Under an hour Newbie friendliness 86/100
InauguralSystems/EigenScript#1851 ·
Maintainers usually reply within 1 day
-
area:gates area:gfx found-by:critic kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
InauguralSystems/EigenScript#1825 ·
Maintainers usually reply within 1 day
-
Amalgamation compiles with warnings at -O0 (-Wreturn-type) and -O1 (-Wmaybe-uninitialized)Possibly taken @facelessdevhack claimed this 4 days ago. Openarea:embed bug found-by:code-review kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
InauguralSystems/EigenScript#1775 ·
Maintainers usually reply within 1 day
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atOpenarea:runtime-vm kind:silent-wrong
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
InauguralSystems/EigenScript#1748 · 1 comment ·
Maintainers usually reply within 1 day
-
area:gfx bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
InauguralSystems/EigenScript#1684 ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenScript
Similar issues
-
Go device SDK: Whisper transcriber keeps buffering and transcribing audio appended after Stop()Possibly taken @apoorvdarshan claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
BasedHardware/omi#22770 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
EchoTools/nevr-runtime#698 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
FujiNetWIFI/fujinet-firmware#2079 ·
Maintainers usually reply within 1 day
-
bug Official Image release/25.12 Supported Device target/kirkwood
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
area/archive bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
DarkFlippers/qUnleashed#374 ·
Maintainers usually reply within 1 day