This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc05d30e444a1: [clang][Emscripten] Define __unix family of macros (authored by sbc100).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D108735/new/ https://reviews.llvm.org/D108735 Files: clang/lib/Basic/Targets/OSTargets.h clang/test/Preprocessor/init.c Index: clang/test/Preprocessor/init.c =================================================================== --- clang/test/Preprocessor/init.c +++ clang/test/Preprocessor/init.c @@ -1847,8 +1847,10 @@ // WEBASSEMBLY-NEXT:#define __clang_version__ "{{.*}}" // WEBASSEMBLY-NEXT:#define __clang_wide_literal_encoding__ {{.*}} // WEBASSEMBLY-NEXT:#define __llvm__ 1 -// WEBASSEMBLY-NOT:#define __unix -// WEBASSEMBLY-NOT:#define __unix__ +// WEBASSEMBLY-WASI-NOT:#define __unix +// WEBASSEMBLY-WASI-NOT:#define __unix__ +// EMSCRIPTEN-NEXT:#define __unix 1 +// EMSCRIPTEN-NEXT:#define __unix__ 1 // WEBASSEMBLY-WASI-NEXT:#define __wasi__ 1 // WEBASSEMBLY-NOT:#define __wasm_simd128__ // WEBASSEMBLY-NOT:#define __wasm_simd256__ @@ -1863,6 +1865,8 @@ // WEBASSEMBLY64-NEXT:#define __wasm64 1 // WEBASSEMBLY64-NEXT:#define __wasm64__ 1 // WEBASSEMBLY-NEXT:#define __wasm__ 1 +// EMSCRIPTEN:#define unix 1 +// WEBASSEMBLY-WASI-NOT:#define unix 1 // WEBASSEMBLY-CXX-NOT:_REENTRANT // WEBASSEMBLY-CXX-NOT:__STDCPP_THREADS__ // WEBASSEMBLY-CXX-ATOMICS:#define _REENTRANT 1 Index: clang/lib/Basic/Targets/OSTargets.h =================================================================== --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -944,6 +944,7 @@ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const final { WebAssemblyOSTargetInfo<Target>::getOSDefines(Opts, Triple, Builder); + DefineStd(Builder, "unix", Opts); Builder.defineMacro("__EMSCRIPTEN__"); if (Opts.POSIXThreads) Builder.defineMacro("__EMSCRIPTEN_PTHREADS__");
Index: clang/test/Preprocessor/init.c =================================================================== --- clang/test/Preprocessor/init.c +++ clang/test/Preprocessor/init.c @@ -1847,8 +1847,10 @@ // WEBASSEMBLY-NEXT:#define __clang_version__ "{{.*}}" // WEBASSEMBLY-NEXT:#define __clang_wide_literal_encoding__ {{.*}} // WEBASSEMBLY-NEXT:#define __llvm__ 1 -// WEBASSEMBLY-NOT:#define __unix -// WEBASSEMBLY-NOT:#define __unix__ +// WEBASSEMBLY-WASI-NOT:#define __unix +// WEBASSEMBLY-WASI-NOT:#define __unix__ +// EMSCRIPTEN-NEXT:#define __unix 1 +// EMSCRIPTEN-NEXT:#define __unix__ 1 // WEBASSEMBLY-WASI-NEXT:#define __wasi__ 1 // WEBASSEMBLY-NOT:#define __wasm_simd128__ // WEBASSEMBLY-NOT:#define __wasm_simd256__ @@ -1863,6 +1865,8 @@ // WEBASSEMBLY64-NEXT:#define __wasm64 1 // WEBASSEMBLY64-NEXT:#define __wasm64__ 1 // WEBASSEMBLY-NEXT:#define __wasm__ 1 +// EMSCRIPTEN:#define unix 1 +// WEBASSEMBLY-WASI-NOT:#define unix 1 // WEBASSEMBLY-CXX-NOT:_REENTRANT // WEBASSEMBLY-CXX-NOT:__STDCPP_THREADS__ // WEBASSEMBLY-CXX-ATOMICS:#define _REENTRANT 1 Index: clang/lib/Basic/Targets/OSTargets.h =================================================================== --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -944,6 +944,7 @@ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const final { WebAssemblyOSTargetInfo<Target>::getOSDefines(Opts, Triple, Builder); + DefineStd(Builder, "unix", Opts); Builder.defineMacro("__EMSCRIPTEN__"); if (Opts.POSIXThreads) Builder.defineMacro("__EMSCRIPTEN_PTHREADS__");
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits