gcc 14 warns -Wreturn-local-addr in builtin_set_at when compiling the amalgamation (main and phase2-numbers)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- c, github-actions
- Lĩnh vực
- build-system, ci-cd
Hướng nghiên cứu
Bắt đầu tại src/builtins.c, ở builtin_set_at, rồi lần theo đường đi của buffer qua BUILTIN_LIST_VIEW và slot_view. Chạy make embed-smoke với gcc 14 để tái hiện cảnh báo trong build/eigenscript_all.c; issue xác định list_get_ref(arg, 0) là một hướng có thể dẫn đến cảnh báo. Công việc hoàn tất khi amalgamation được build mà không có -Wreturn-local-addr và CI extensions / server log không có cảnh báo nào từ tệp đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 3
- Fork
- 7
- Merge trung bình
- 11 giờ 16 phút
- Pull request đã merge (30 ngày)
- 267
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của InauguralSystems/EigenScript
-
phase2: test_bitwise.eigs cites ctl.scan.* rows; the MAP's refusal controls are ctl.N8.refuse-*Đang mởarea:gates kind:docs-drift
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
InauguralSystems/EigenScript#1851 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:gates area:gfx found-by:critic kind:gate-defect
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
InauguralSystems/EigenScript#1825 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Amalgamation compiles with warnings at -O0 (-Wreturn-type) and -O1 (-Wmaybe-uninitialized)Có thể đã có người làm @facelessdevhack đã nhận 5 ngày trước. Đang mởarea:embed bug found-by:code-review kind:gate-defect
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
InauguralSystems/EigenScript#1775 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atĐang mởarea:runtime-vm kind:silent-wrong
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
InauguralSystems/EigenScript#1748 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:gfx bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
InauguralSystems/EigenScript#1684 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của InauguralSystems/EigenScript
Issue tương tự
-
[WinReg] update to v12.0.0Đang mởcategory:port-update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 2 ngày
-
feat(palindrome): add C solutionCó thể đã có người làm @aadiitya2007 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
techcsispit/code-corner#58 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[LOGO] Add Ruxt Linux LogoĐang mởlogo request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
fastfetch-cli/fastfetch#2661 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Mark ignored Mac OS partitions RecoveryOSContainer and iBootSystemContainerCó thể đã có người làm @meven đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
storaged-project/udisks#1559 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 71/100
awslabs/aws-checksums#121 ·