forked from OSchip/llvm-project
![]() This change would treat the token `or` in system headers as an identifier, and elsewhere as an operator. As reported in llvm.org/pr42427, many users classify their third party library headers as "system" headers to suppress warnings. There's no clean way to separate Windows SDK headers from user headers. Clang is still able to parse old Windows SDK headers if C++ operator names are disabled. Traditionally this was controlled by `-fno-operator-names`, but is now also enabled with `/permissive` since D103773. This change will prevent `clang-cl` from parsing <query.h> from the Windows SDK out of the box, but there are multiple ways to work around that: - Pass `/clang:-fno-operator-names` - Pass `/permissive` - Pass `-DQUERY_H_RESTRICTION_PERMISSIVE` In all of these modes, the operator names will consistently be available or not available, instead of depending on whether the code is in a system header. I added a release note for this, since it may break straightforward users of the Windows SDK. Fixes PR42427 Differential Revision: https://reviews.llvm.org/D108720 |
||
---|---|---|
.. | ||
Inputs | ||
altivec-header.c | ||
altivec-intrin.c | ||
amdgcn-openmp-device-math-complex.c | ||
amdgcn_openmp_device_math.c | ||
arm-acle-header.c | ||
arm-cde-header.c | ||
arm-cmse-header-ns.c | ||
arm-cmse-header.c | ||
arm-fp16-header.c | ||
arm-neon-header.c | ||
arm64-apple-ios-types.cpp | ||
builtins-header.c | ||
c11.c | ||
c89.c | ||
cpuid.c | ||
cuda_with_openmp.cu | ||
cxx11.cpp | ||
float-darwin.c | ||
float.c | ||
float16.c | ||
hexagon-audio-headers.c | ||
hexagon-headers.c | ||
hexagon-hvx-headers.c | ||
hip-header.hip | ||
htm-header.c | ||
int64-type.c | ||
limits.cpp | ||
lit.local.cfg | ||
mm3dnow.c | ||
ms-arm64-intrin.cpp | ||
ms-intrin.cpp | ||
ms-null-ms-header-vs-stddef.cpp | ||
ms-wchar.c | ||
nvptx_device_cmath_functions.c | ||
nvptx_device_cmath_functions.cpp | ||
nvptx_device_cmath_functions_cxx17.cpp | ||
nvptx_device_math_complex.c | ||
nvptx_device_math_complex.cpp | ||
nvptx_device_math_functions.c | ||
nvptx_device_math_functions.cpp | ||
nvptx_device_math_functions_cxx17.cpp | ||
nvptx_device_math_macro.cpp | ||
nvptx_device_math_modf.cpp | ||
nvptx_device_math_sin.c | ||
nvptx_device_math_sin.cpp | ||
nvptx_device_math_sin_cos.cpp | ||
nvptx_device_math_sincos.cpp | ||
opencl-builtins.cl | ||
opencl-c-header.cl | ||
openmp_device_math_isnan.cpp | ||
pconfigintin.c | ||
pmmintrin.c | ||
ppc-intrinsics.c | ||
riscv-vector-header.c | ||
sgxintrin.c | ||
stdarg-gnuc_va_list.c | ||
stdarg.cpp | ||
stdatomic.c | ||
stdbool.cpp | ||
stddefneeds.cpp | ||
stdint-typeof-MINMAX.cpp | ||
target_include_new.cpp | ||
tgmath-darwin.c | ||
tgmath.c | ||
thumbv7-apple-ios-types.cpp | ||
typedef_guards.c | ||
unwind.c | ||
wasm.c | ||
wasm.cpp | ||
wchar_limits.cpp | ||
wmmintrin.c | ||
x86-header-warnings.c | ||
x86-intrinsics-headers-clean.cpp | ||
x86-intrinsics-headers.c | ||
x86_64-apple-macosx-types.cpp | ||
x86intrin-2.c | ||
x86intrin.c | ||
x86intrin.cpp | ||
xmmintrin.c |