extrowerk さんが gcc11 のパッチを作成されたので、早速試してみました。ただ、gcc10 までのバージョンと異なり、本バージョンでの Haiku ビルドはかなり難しそうです。
これは、} cpu_ent CACHE_LINE_ALIGN; から、CACHE_LINE_ALIGNを取ってしまえばいいのかな?
../headers/private/kernel/cpu.h:91:21: error: size of array element is not a multiple of its alignment
91 | extern cpu_ent gCPU[];
headers/compatibility/bsd が動作しない (bsd/features.h で _DEFAULT_SOURCE が定義されない)。どうすれば、_DEFAULT_SOURCE が定義されるようになるのだろう?
一番わからないのがこれかな。なんで添字がオーバーするんだろう? 計算上はオーバーしないはず。
In file included from ../src/add-ons/kernel/file_systems/userlandfs/server/beos/../FileSystem.h:14,
from ../src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelFileSystem.h:6,
from ../src/add-ons/kernel/file_systems/userlandfs/server/beos/BeOSKernelFileSystem.cpp:3:
../headers/private/userlandfs/private/FSCapabilities.h: In member function 'void UserlandFS::BeOSKernelFileSystem::_InitCapabilities()':
../headers/private/userlandfs/private/FSCapabilities.h:188:46: warning: array subscript 3 is above array bounds of 'uint8 [3]' {aka 'unsigned char [3]'} [-Warray-bounds]
188 | capabilities[capability / 8] |= flag;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../headers/private/userlandfs/private/FSCapabilities.h:151:57: note: while referencing 'UserlandFSUtil::FSCapabilitiesBase<21>::capabilities'
151 | uint8 capabilities[(CapabilityCount + 7) / 8];
| ^~~~~~~~~~~~
まぁこれまでの履歴からいっても、Haiku の次期標準コンパイラは gcc11 でなく gcc9 でしょうが、最新のコンパイラが使えるというのは良いアピールポイントになると思います。
0 件のコメント:
コメントを投稿