#pragma once failure in the wildA header-only C++ library, headers guarded by
#pragma once. We use relative includes internally. We also ship compiled WASM bindings for TypeScript.A dockerised emscripten build on Apple Silicon under linux/amd64 emulation, the repo mounted in as a bind volume. Every translation unit reports redefinition errors: the same headers included multiple times in a single TU.
#pragma once dedupes by file identity; inode and device, in practice. On a bind mount under amd64 emulation on macOS, the same file reached through different ..-laden relative paths is not always recognised as the same file. The pragma never fires.The problem goes away if you copy the source files into the container.
https://redd.it/1tcxu2s
@r_cpp