Linux native build: clang compile probe (132/213 TUs pass, 81 blocked) (research)

Aperta
#506 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
43/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp, linux

Direzione di ricerca

Start by reproducing the read-only syntax probe described in the issue against the tracked .c and .cpp files under runtime/, using the stated Fedora and clang setup. The issue reports first blockers but does not identify the individual failing files or diagnostics, so inspect those results to map the Windows header and API boundary. Treat a complete port plan as unfinished until follow-on errors are inventoried; no configure, link, or runtime result is part of the reported probe.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

in progress tracking

Read-only syntax probe for a native Linux build: how much of the runtime already compiles with clang, and what blocks the rest.

Scope and method

Ran a probe in a Fedora 45 container. It directly syntax-checked 213 tracked .c/.cpp files under runtime/: 132 ok, 81 failed. No CMake configure, no object files, no linking and no execution were performed.

Every failure is the first compiler diagnostic. A missing header can mask later Win32, MSVC, intrinsic or dialect errors, so these totals are a first-blocker census, not a complete inventory of the porting work.

Toolchain: clang 23.1.4, SDL3 development package 3.4.20 (CMake pins 3.4.18). FetchContent sources (volk, zstd, ImGui) and tools/tiling/src/tegra_tiling.cpp live outside runtime/ and were not added as probe rows; their pinned headers were supplied to the runtime TUs.

Totals per first-blocker cause
Cause class TUs
missing Windows header 77
Win32 type/API 2
MSVC keyword/extension 0
intrinsic 0
missing third-party header 0
C++ dialect difference 1
other 1
All failed 81
ok (no blocker) 132
Total 213

The single C++ dialect difference is really a standard-library/transitive-include difference: std::ceil is not declared in nvn_replay.cpp. The single other is clock_gettime not being declared in strict C11 in coop_plat.c (POSIX feature visibility). The two Win32 type/API errors are Microsoft CRT _wfopen calls.

Per folder (ok / total)

gfx 71/88, services 16/28, apps 3/14, diag 2/13, kernel 1/13, games 11/12, core 5/8, net 3/6, third_party 6/7, ipc 4/4, eh 3/4, testtools 3/6, loader 3/3, media 1/2, mem 0/2, os 0/1, src root 0/1, timestep 0/1.

The bulk of the work is the Windows header/API boundary, concentrated in gfx, services, apps, diag and kernel; the core logic is already largely portable.

Not verified
  • This is a first-diagnostic census, not a full port plan; fixing a header often reveals the next error.
  • No configure, link or run was attempted.
  • The counts cover tracked files only, not generated or third-party FetchContent sources.
Lingua principale
C++
Stelle
224
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di featureJosh/Recompia

Tutte le issue di featureJosh/Recompia

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.