This revision was automatically updated to reflect the committed changes. Closed by commit rG7f9837cfa636: [Headers][MSVC] Define wchar_t in stddef.h like MSVC if not using the builtin… (authored by steplong).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124026/new/ https://reviews.llvm.org/D124026 Files: clang/lib/Headers/stddef.h clang/test/Headers/ms-no-wchar.cpp Index: clang/test/Headers/ms-no-wchar.cpp =================================================================== --- /dev/null +++ clang/test/Headers/ms-no-wchar.cpp @@ -0,0 +1,6 @@ +// RUN: %clang_cc1 -fsyntax-only -triple x86_64-pc-windows-msvc -fms-compatibility-version=17.00 -fno-wchar %s +// MSVC defines wchar_t instead of using the builtin if /Zc:wchar_t- is passed + +#include <stddef.h> + +wchar_t c; Index: clang/lib/Headers/stddef.h =================================================================== --- clang/lib/Headers/stddef.h +++ clang/lib/Headers/stddef.h @@ -62,7 +62,7 @@ #endif /* defined(__need_STDDEF_H_misc) */ #if defined(__need_wchar_t) -#ifndef __cplusplus +#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) /* Always define wchar_t when modules are available. */ #if !defined(_WCHAR_T) || __has_feature(modules) #if !__has_feature(modules)
Index: clang/test/Headers/ms-no-wchar.cpp =================================================================== --- /dev/null +++ clang/test/Headers/ms-no-wchar.cpp @@ -0,0 +1,6 @@ +// RUN: %clang_cc1 -fsyntax-only -triple x86_64-pc-windows-msvc -fms-compatibility-version=17.00 -fno-wchar %s +// MSVC defines wchar_t instead of using the builtin if /Zc:wchar_t- is passed + +#include <stddef.h> + +wchar_t c; Index: clang/lib/Headers/stddef.h =================================================================== --- clang/lib/Headers/stddef.h +++ clang/lib/Headers/stddef.h @@ -62,7 +62,7 @@ #endif /* defined(__need_STDDEF_H_misc) */ #if defined(__need_wchar_t) -#ifndef __cplusplus +#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) /* Always define wchar_t when modules are available. */ #if !defined(_WCHAR_T) || __has_feature(modules) #if !__has_feature(modules)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits