gcc 14 warns -Wreturn-local-addr in builtin_set_at when compiling the amalgamation (main and phase2-numbers)
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #1865 de @InauguralPhysicist — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- c, github-actions
- Área
- build-system, ci-cd
Línea de trabajo
Empieza en src/builtins.c, en builtin_set_at, y sigue la ruta del buffer a través de BUILTIN_LIST_VIEW y slot_view. Ejecuta make embed-smoke con gcc 14 para reproducir la advertencia en build/eigenscript_all.c; el issue señala list_get_ref(arg, 0) como una posible vía. Se considera terminado cuando la amalgamación se compila sin -Wreturn-local-addr y el CI extensions / server log no contiene ninguna advertencia de ese archivo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C
- Estrellas
- 3
- Forks
- 7
- Merge medio
- 11 h 45 min
- PR fusionados (30 d)
- 273
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de InauguralSystems/EigenScript
-
area:docs kind:docs-drift
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InauguralSystems/EigenScript#1887 ·
Los mantenedores suelen responder en 1 día
-
lib/eigen.eigs lexes "\r" as "r": under eigen_run, "a\rb" == "arb" is true (the VM says false)Abiertoarea:stdlib kind:silent-wrong
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
InauguralSystems/EigenScript#1878 ·
Los mantenedores suelen responder en 1 día
-
phase2: test_bitwise.eigs cites ctl.scan.* rows; the MAP's refusal controls are ctl.N8.refuse-*Abiertoarea:gates kind:docs-drift
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
InauguralSystems/EigenScript#1851 ·
Los mantenedores suelen responder en 1 día
-
area:gates area:gfx found-by:critic kind:gate-defect
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
InauguralSystems/EigenScript#1825 ·
Los mantenedores suelen responder en 1 día
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atAbiertoarea:runtime-vm kind:silent-wrong
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
InauguralSystems/EigenScript#1748 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de InauguralSystems/EigenScript
Issues similares
-
[WinReg] update to v12.0.0Abiertocategory:port-update
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
type-bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
feat(palindrome): add C solutionPosiblemente ocupada @aadiitya2007 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
techcsispit/code-corner#58 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[LOGO] Add Ruxt Linux LogoAbiertologo request
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
fastfetch-cli/fastfetch#2661 ·
Los mantenedores suelen responder en 1 día
-
Mark ignored Mac OS partitions RecoveryOSContainer and iBootSystemContainerPosiblemente ocupada @meven la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
storaged-project/udisks#1559 ·