sbc100 created this revision. Herald added subscribers: wingo, dschuff. sbc100 requested review of this revision. Herald added subscribers: cfe-commits, aheejin. Herald added a project: clang.
This will allow us to remove these from the downstream driver: https://github.com/emscripten-core/emscripten/blob/57270ce8150a5107e591b4e9ec7cbeff0ba7c905/emcc.py#L860-L863 Repository: rG LLVM Github Monorepo 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