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

オープン
#506 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
43/100
issue の種類
ドキュメント
明瞭さ
おおむね明確
活発さ
活発
技術スタック
cpp, linux

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
C++
スター
224
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

featureJosh/Recompia のほかの issue

featureJosh/Recompia の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。