microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.5k stars 1.55k forks source link

-Xarch_<arg1> isn't processed correctly #11965

Closed Gargony closed 7 months ago

Gargony commented 7 months ago

Type: Bug

I'm using C++20 but Intellisense switches to C++17, unclear why "Standard Version: c++17"(see below in "Diagnostics" section)? Also include for std library is absent (error: 'cstddef' file not found [clang-diagnostic-error]).

UPD: _Possible problem in precompile header "target_precompileheaders(${target} PRIVATE /precomp.h)" because other files without it works fine

loggingLevel: Information
cpptools version (TypeScript): 1.19.3
cpptools version (native): 1.19.3.0
Автозавершение включено.
Волнистые линии для ошибок включены.
Сведения при наведении включены.
Подсистема IntelliSense: default.
Выполняется запрос к компилятору для стандарта языка C++ по умолчанию с помощью командной строки: /usr/bin/clang -x c++ -E -dM /dev/null
Пользовательский поставщик конфигурации "CMake Tools" зарегистрирован
Компилятор вернул стандартную версию языка по умолчанию: c++98. Так как эта версия устарела, будет предпринята попытка использовать более новую версию c++17 по умолчанию.
/usr/bin/clang -x c++ -E -dM /dev/null ``` #define _LP64 1 #define __APPLE_CC__ 6000 #define __APPLE__ 1 #define __ATOMIC_ACQUIRE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_CONSUME 1 #define __ATOMIC_RELAXED 0 #define __ATOMIC_RELEASE 3 #define __ATOMIC_SEQ_CST 5 #define __BIGGEST_ALIGNMENT__ 16 #define __BITINT_MAXWIDTH__ 128 #define __BLOCKS__ 1 #define __BOOL_WIDTH__ 8 #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ #define __CHAR16_TYPE__ unsigned short #define __CHAR32_TYPE__ unsigned int #define __CHAR_BIT__ 8 #define __CLANG_ATOMIC_BOOL_LOCK_FREE 2 #define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __CLANG_ATOMIC_CHAR_LOCK_FREE 2 #define __CLANG_ATOMIC_INT_LOCK_FREE 2 #define __CLANG_ATOMIC_LLONG_LOCK_FREE 2 #define __CLANG_ATOMIC_LONG_LOCK_FREE 2 #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2 #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2 #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __CONSTANT_CFSTRINGS__ 1 #define __DBL_DECIMAL_DIG__ 17 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 #define __DBL_DIG__ 15 #define __DBL_EPSILON__ 2.2204460492503131e-16 #define __DBL_HAS_DENORM__ 1 #define __DBL_HAS_INFINITY__ 1 #define __DBL_HAS_QUIET_NAN__ 1 #define __DBL_MANT_DIG__ 53 #define __DBL_MAX_10_EXP__ 308 #define __DBL_MAX_EXP__ 1024 #define __DBL_MAX__ 1.7976931348623157e+308 #define __DBL_MIN_10_EXP__ (-307) #define __DBL_MIN_EXP__ (-1021) #define __DBL_MIN__ 2.2250738585072014e-308 #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ #define __DEPRECATED 1 #define __DYNAMIC__ 1 #define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 130000 #define __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ 130000 #define __EXCEPTIONS 1 #define __FINITE_MATH_ONLY__ 0 #define __FLT16_DECIMAL_DIG__ 5 #define __FLT16_DENORM_MIN__ 5.9604644775390625e-8F16 #define __FLT16_DIG__ 3 #define __FLT16_EPSILON__ 9.765625e-4F16 #define __FLT16_HAS_DENORM__ 1 #define __FLT16_HAS_INFINITY__ 1 #define __FLT16_HAS_QUIET_NAN__ 1 #define __FLT16_MANT_DIG__ 11 #define __FLT16_MAX_10_EXP__ 4 #define __FLT16_MAX_EXP__ 16 #define __FLT16_MAX__ 6.5504e+4F16 #define __FLT16_MIN_10_EXP__ (-4) #define __FLT16_MIN_EXP__ (-13) #define __FLT16_MIN__ 6.103515625e-5F16 #define __FLT_DECIMAL_DIG__ 9 #define __FLT_DENORM_MIN__ 1.40129846e-45F #define __FLT_DIG__ 6 #define __FLT_EPSILON__ 1.19209290e-7F #define __FLT_HAS_DENORM__ 1 #define __FLT_HAS_INFINITY__ 1 #define __FLT_HAS_QUIET_NAN__ 1 #define __FLT_MANT_DIG__ 24 #define __FLT_MAX_10_EXP__ 38 #define __FLT_MAX_EXP__ 128 #define __FLT_MAX__ 3.40282347e+38F #define __FLT_MIN_10_EXP__ (-37) #define __FLT_MIN_EXP__ (-125) #define __FLT_MIN__ 1.17549435e-38F #define __FLT_RADIX__ 2 #define __FXSR__ 1 #define __GCC_ASM_FLAG_OUTPUTS__ 1 #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_HAVE_DWARF2_CFI_ASM 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GLIBCXX_BITSIZE_INT_N_0 128 #define __GLIBCXX_TYPE_INT_N_0 __int128 #define __GNUC_GNU_INLINE__ 1 #define __GNUC_MINOR__ 2 #define __GNUC_PATCHLEVEL__ 1 #define __GNUC__ 4 #define __GNUG__ 4 #define __GXX_ABI_VERSION 1002 #define __GXX_RTTI 1 #define __GXX_WEAK__ 1 #define __INT16_C_SUFFIX__ #define __INT16_FMTd__ "hd" #define __INT16_FMTi__ "hi" #define __INT16_MAX__ 32767 #define __INT16_TYPE__ short #define __INT32_C_SUFFIX__ #define __INT32_FMTd__ "d" #define __INT32_FMTi__ "i" #define __INT32_MAX__ 2147483647 #define __INT32_TYPE__ int #define __INT64_C_SUFFIX__ LL #define __INT64_FMTd__ "lld" #define __INT64_FMTi__ "lli" #define __INT64_MAX__ 9223372036854775807LL #define __INT64_TYPE__ long long int #define __INT8_C_SUFFIX__ #define __INT8_FMTd__ "hhd" #define __INT8_FMTi__ "hhi" #define __INT8_MAX__ 127 #define __INT8_TYPE__ signed char #define __INTMAX_C_SUFFIX__ L #define __INTMAX_FMTd__ "ld" #define __INTMAX_FMTi__ "li" #define __INTMAX_MAX__ 9223372036854775807L #define __INTMAX_TYPE__ long int #define __INTMAX_WIDTH__ 64 #define __INTPTR_FMTd__ "ld" #define __INTPTR_FMTi__ "li" #define __INTPTR_MAX__ 9223372036854775807L #define __INTPTR_TYPE__ long int #define __INTPTR_WIDTH__ 64 #define __INT_FAST16_FMTd__ "hd" #define __INT_FAST16_FMTi__ "hi" #define __INT_FAST16_MAX__ 32767 #define __INT_FAST16_TYPE__ short #define __INT_FAST16_WIDTH__ 16 #define __INT_FAST32_FMTd__ "d" #define __INT_FAST32_FMTi__ "i" #define __INT_FAST32_MAX__ 2147483647 #define __INT_FAST32_TYPE__ int #define __INT_FAST32_WIDTH__ 32 #define __INT_FAST64_FMTd__ "lld" #define __INT_FAST64_FMTi__ "lli" #define __INT_FAST64_MAX__ 9223372036854775807LL #define __INT_FAST64_TYPE__ long long int #define __INT_FAST64_WIDTH__ 64 #define __INT_FAST8_FMTd__ "hhd" #define __INT_FAST8_FMTi__ "hhi" #define __INT_FAST8_MAX__ 127 #define __INT_FAST8_TYPE__ signed char #define __INT_FAST8_WIDTH__ 8 #define __INT_LEAST16_FMTd__ "hd" #define __INT_LEAST16_FMTi__ "hi" #define __INT_LEAST16_MAX__ 32767 #define __INT_LEAST16_TYPE__ short #define __INT_LEAST16_WIDTH__ 16 #define __INT_LEAST32_FMTd__ "d" #define __INT_LEAST32_FMTi__ "i" #define __INT_LEAST32_MAX__ 2147483647 #define __INT_LEAST32_TYPE__ int #define __INT_LEAST32_WIDTH__ 32 #define __INT_LEAST64_FMTd__ "lld" #define __INT_LEAST64_FMTi__ "lli" #define __INT_LEAST64_MAX__ 9223372036854775807LL #define __INT_LEAST64_TYPE__ long long int #define __INT_LEAST64_WIDTH__ 64 #define __INT_LEAST8_FMTd__ "hhd" #define __INT_LEAST8_FMTi__ "hhi" #define __INT_LEAST8_MAX__ 127 #define __INT_LEAST8_TYPE__ signed char #define __INT_LEAST8_WIDTH__ 8 #define __INT_MAX__ 2147483647 #define __INT_WIDTH__ 32 #define __LAHF_SAHF__ 1 #define __LDBL_DECIMAL_DIG__ 21 #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L #define __LDBL_DIG__ 18 #define __LDBL_EPSILON__ 1.08420217248550443401e-19L #define __LDBL_HAS_DENORM__ 1 #define __LDBL_HAS_INFINITY__ 1 #define __LDBL_HAS_QUIET_NAN__ 1 #define __LDBL_MANT_DIG__ 64 #define __LDBL_MAX_10_EXP__ 4932 #define __LDBL_MAX_EXP__ 16384 #define __LDBL_MAX__ 1.18973149535723176502e+4932L #define __LDBL_MIN_10_EXP__ (-4931) #define __LDBL_MIN_EXP__ (-16381) #define __LDBL_MIN__ 3.36210314311209350626e-4932L #define __LITTLE_ENDIAN__ 1 #define __LLONG_WIDTH__ 64 #define __LONG_LONG_MAX__ 9223372036854775807LL #define __LONG_MAX__ 9223372036854775807L #define __LONG_WIDTH__ 64 #define __LP64__ 1 #define __MACH__ 1 #define __MMX__ 1 #define __NO_INLINE__ 1 #define __NO_MATH_ERRNO__ 1 #define __NO_MATH_INLINES 1 #define __OBJC_BOOL_IS_BOOL 0 #define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3 #define __OPENCL_MEMORY_SCOPE_DEVICE 2 #define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4 #define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1 #define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0 #define __ORDER_BIG_ENDIAN__ 4321 #define __ORDER_LITTLE_ENDIAN__ 1234 #define __ORDER_PDP_ENDIAN__ 3412 #define __PIC__ 2 #define __POINTER_WIDTH__ 64 #define __PRAGMA_REDEFINE_EXTNAME 1 #define __PTRDIFF_FMTd__ "ld" #define __PTRDIFF_FMTi__ "li" #define __PTRDIFF_MAX__ 9223372036854775807L #define __PTRDIFF_TYPE__ long int #define __PTRDIFF_WIDTH__ 64 #define __REGISTER_PREFIX__ #define __SCHAR_MAX__ 127 #define __SEG_FS 1 #define __SEG_GS 1 #define __SHRT_MAX__ 32767 #define __SHRT_WIDTH__ 16 #define __SIG_ATOMIC_MAX__ 2147483647 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIZEOF_DOUBLE__ 8 #define __SIZEOF_FLOAT__ 4 #define __SIZEOF_INT128__ 16 #define __SIZEOF_INT__ 4 #define __SIZEOF_LONG_DOUBLE__ 16 #define __SIZEOF_LONG_LONG__ 8 #define __SIZEOF_LONG__ 8 #define __SIZEOF_POINTER__ 8 #define __SIZEOF_PTRDIFF_T__ 8 #define __SIZEOF_SHORT__ 2 #define __SIZEOF_SIZE_T__ 8 #define __SIZEOF_WCHAR_T__ 4 #define __SIZEOF_WINT_T__ 4 #define __SIZE_FMTX__ "lX" #define __SIZE_FMTo__ "lo" #define __SIZE_FMTu__ "lu" #define __SIZE_FMTx__ "lx" #define __SIZE_MAX__ 18446744073709551615UL #define __SIZE_TYPE__ long unsigned int #define __SIZE_WIDTH__ 64 #define __SSE2_MATH__ 1 #define __SSE2__ 1 #define __SSE3__ 1 #define __SSE4_1__ 1 #define __SSE_MATH__ 1 #define __SSE__ 1 #define __SSP__ 1 #define __SSSE3__ 1 #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL #define __STDCPP_THREADS__ 1 #define __STDC_HOSTED__ 1 #define __STDC_NO_THREADS__ 1 #define __STDC_UTF_16__ 1 #define __STDC_UTF_32__ 1 #define __STDC__ 1 #define __UINT16_C_SUFFIX__ #define __UINT16_FMTX__ "hX" #define __UINT16_FMTo__ "ho" #define __UINT16_FMTu__ "hu" #define __UINT16_FMTx__ "hx" #define __UINT16_MAX__ 65535 #define __UINT16_TYPE__ unsigned short #define __UINT32_C_SUFFIX__ U #define __UINT32_FMTX__ "X" #define __UINT32_FMTo__ "o" #define __UINT32_FMTu__ "u" #define __UINT32_FMTx__ "x" #define __UINT32_MAX__ 4294967295U #define __UINT32_TYPE__ unsigned int #define __UINT64_C_SUFFIX__ ULL #define __UINT64_FMTX__ "llX" #define __UINT64_FMTo__ "llo" #define __UINT64_FMTu__ "llu" #define __UINT64_FMTx__ "llx" #define __UINT64_MAX__ 18446744073709551615ULL #define __UINT64_TYPE__ long long unsigned int #define __UINT8_C_SUFFIX__ #define __UINT8_FMTX__ "hhX" #define __UINT8_FMTo__ "hho" #define __UINT8_FMTu__ "hhu" #define __UINT8_FMTx__ "hhx" #define __UINT8_MAX__ 255 #define __UINT8_TYPE__ unsigned char #define __UINTMAX_C_SUFFIX__ UL #define __UINTMAX_FMTX__ "lX" #define __UINTMAX_FMTo__ "lo" #define __UINTMAX_FMTu__ "lu" #define __UINTMAX_FMTx__ "lx" #define __UINTMAX_MAX__ 18446744073709551615UL #define __UINTMAX_TYPE__ long unsigned int #define __UINTMAX_WIDTH__ 64 #define __UINTPTR_FMTX__ "lX" #define __UINTPTR_FMTo__ "lo" #define __UINTPTR_FMTu__ "lu" #define __UINTPTR_FMTx__ "lx" #define __UINTPTR_MAX__ 18446744073709551615UL #define __UINTPTR_TYPE__ long unsigned int #define __UINTPTR_WIDTH__ 64 #define __UINT_FAST16_FMTX__ "hX" #define __UINT_FAST16_FMTo__ "ho" #define __UINT_FAST16_FMTu__ "hu" #define __UINT_FAST16_FMTx__ "hx" #define __UINT_FAST16_MAX__ 65535 #define __UINT_FAST16_TYPE__ unsigned short #define __UINT_FAST32_FMTX__ "X" #define __UINT_FAST32_FMTo__ "o" #define __UINT_FAST32_FMTu__ "u" #define __UINT_FAST32_FMTx__ "x" #define __UINT_FAST32_MAX__ 4294967295U #define __UINT_FAST32_TYPE__ unsigned int #define __UINT_FAST64_FMTX__ "llX" #define __UINT_FAST64_FMTo__ "llo" #define __UINT_FAST64_FMTu__ "llu" #define __UINT_FAST64_FMTx__ "llx" #define __UINT_FAST64_MAX__ 18446744073709551615ULL #define __UINT_FAST64_TYPE__ long long unsigned int #define __UINT_FAST8_FMTX__ "hhX" #define __UINT_FAST8_FMTo__ "hho" #define __UINT_FAST8_FMTu__ "hhu" #define __UINT_FAST8_FMTx__ "hhx" #define __UINT_FAST8_MAX__ 255 #define __UINT_FAST8_TYPE__ unsigned char #define __UINT_LEAST16_FMTX__ "hX" #define __UINT_LEAST16_FMTo__ "ho" #define __UINT_LEAST16_FMTu__ "hu" #define __UINT_LEAST16_FMTx__ "hx" #define __UINT_LEAST16_MAX__ 65535 #define __UINT_LEAST16_TYPE__ unsigned short #define __UINT_LEAST32_FMTX__ "X" #define __UINT_LEAST32_FMTo__ "o" #define __UINT_LEAST32_FMTu__ "u" #define __UINT_LEAST32_FMTx__ "x" #define __UINT_LEAST32_MAX__ 4294967295U #define __UINT_LEAST32_TYPE__ unsigned int #define __UINT_LEAST64_FMTX__ "llX" #define __UINT_LEAST64_FMTo__ "llo" #define __UINT_LEAST64_FMTu__ "llu" #define __UINT_LEAST64_FMTx__ "llx" #define __UINT_LEAST64_MAX__ 18446744073709551615ULL #define __UINT_LEAST64_TYPE__ long long unsigned int #define __UINT_LEAST8_FMTX__ "hhX" #define __UINT_LEAST8_FMTo__ "hho" #define __UINT_LEAST8_FMTu__ "hhu" #define __UINT_LEAST8_FMTx__ "hhx" #define __UINT_LEAST8_MAX__ 255 #define __UINT_LEAST8_TYPE__ unsigned char #define __USER_LABEL_PREFIX__ _ #define __VERSION__ "Apple LLVM 15.0.0 (clang-1500.0.40.1)" #define __WCHAR_MAX__ 2147483647 #define __WCHAR_TYPE__ int #define __WCHAR_WIDTH__ 32 #define __WINT_MAX__ 2147483647 #define __WINT_TYPE__ int #define __WINT_WIDTH__ 32 #define __amd64 1 #define __amd64__ 1 #define __apple_build_version__ 15000040 #define __block __attribute__((__blocks__(byref))) #define __clang__ 1 #define __clang_literal_encoding__ "UTF-8" #define __clang_major__ 15 #define __clang_minor__ 0 #define __clang_patchlevel__ 0 #define __clang_version__ "15.0.0 (clang-1500.0.40.1)" #define __clang_wide_literal_encoding__ "UTF-32" #define __code_model_small__ 1 #define __core2 1 #define __core2__ 1 #define __cplusplus 199711L #define __cpp_exceptions 199711L #define __cpp_impl_destroying_delete 201806L #define __cpp_named_character_escapes 202207L #define __cpp_rtti 199711L #define __cpp_threadsafe_static_init 200806L #define __llvm__ 1 #define __nonnull _Nonnull #define __null_unspecified _Null_unspecified #define __nullable _Nullable #define __pic__ 2 #define __private_extern__ extern #define __seg_fs __attribute__((address_space(257))) #define __seg_gs __attribute__((address_space(256))) #define __strong #define __tune_core2__ 1 #define __unsafe_unretained #define __weak __attribute__((objc_gc(weak))) #define __x86_64 1 #define __x86_64__ 1 ```

From "compile_commands.json" file it compiles without errors

compile_commands.json ``` { "directory": "/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/ios-x86_64", "command": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DAPPLE -DBOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR -DBOOST_FILESYSTEM_DEPRECATED -DBOOST_NO_CXX11_SCOPED_ENUMS -DBOOST_NO_CXX98_RANDOM_SHUFFLE -DBOOST_THREAD_PROVIDES_NESTED_LOCKS -DBOOST_THREAD_USES_DATETIME -DBOOST_THREAD_VERSION=5 -DBUILDING_RETAIL_CRM -DCURRENT_MODULE_NAME=retail-crm -DIOS -DIOS_SIMULATOR -DNDEBUG -DSBIS_APPLE_CLANG -DSBIS_DEBUG -DSBIS_RELEASE -DSBIS_STATIC_BUILD -DSBIS_UNIX -DSBIS_USE_NEW_CONAN -DSBIS_USE_WIDE_STRINGS -DSBIS_X86_64 -DUNICODE -DUNIX -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR=1 -D_UNICODE -F/Users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/e852ec59bcb4bf5167f1c58c9e96f581e61b3721/lib -isystem /Users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/e852ec59bcb4bf5167f1c58c9e96f581e61b3721/include -O2 -g -DNDEBUG -std=gnu++20 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -fvisibility-inlines-hidden -std=c++20 -fPIC -fapplication-extension -Wall -Wextra -Wno-unknown-pragmas -Wno-switch -Wno-missing-field-initializers -Wno-missing-braces -Wconversion -Werror=format-security -Werror=return-type -fvisibility=hidden -g -O0 -arch x86_64 -miphoneos-version-min=12.2 -target x86_64-apple-ios12.2-simulator -fobjc-arc -Werror -Wno-error=deprecated -Wglobal-constructors -o subprojects/controller/retail-common/retail_crm/handle_client.cpp.o -c /Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/ios-x86_64/subprojects/controller/retail-common/retail_crm/handle_client.cpp", "file": "/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/ios-x86_64/subprojects/controller/retail-common/retail_crm/handle_client.cpp", "output": "subprojects/controller/retail-common/retail_crm/handle_client.cpp.o" }, ```
clang-tidy ``` /Users/mv.kapitonov/.vscode/extensions/ms-vscode.cpptools-1.19.3-darwin-x64/bin/../LLVM/bin/clang-tidy --header-filter=/Users/mv.kapitonov/Documents/w/controller --export-fixes=/private/tmp/{10660074194613438937}/fixes123145569611776.yaml --quiet --use-color=false /Users/mv.kapitonov/Documents/w/controller/retail-common/retail_crm/implementation/deferred/crm-sale-deferred-actions/handle_client.cpp -- -std=c++17 -xc++ -Wno-pragma-pack -Wno-pragma-once-outside-header -Wno-elaborated-enum-base -DAPPLE -DBOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR -DBOOST_FILESYSTEM_DEPRECATED -DBOOST_NO_CXX11_SCOPED_ENUMS -DBOOST_NO_CXX98_RANDOM_SHUFFLE -DBOOST_THREAD_PROVIDES_NESTED_LOCKS -DBOOST_THREAD_USES_DATETIME -DBOOST_THREAD_VERSION=5 -DBUILDING_RETAIL_CRM -DCURRENT_MODULE_NAME=retail-crm -DIOS -DIOS_SIMULATOR -DNDEBUG -DSBIS_APPLE_CLANG -DSBIS_DEBUG -DSBIS_RELEASE -DSBIS_STATIC_BUILD -DSBIS_UNIX -DSBIS_USE_NEW_CONAN -DSBIS_USE_WIDE_STRINGS -DSBIS_X86_64 -DUNICODE -DUNIX -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR=1 -D_UNICODE -DNDEBUG -F /System/Library/Frameworks -F /Library/Frameworks ... ... ... ```
Diagnostics ``` -------- Diagnostics - 14.02.2024, 09:56:08 Version: 1.19.3 Current Configuration: { "name": "Mac", "mergeConfigurations": true, "configurationProvider": "ms-vscode.cmake-tools", "cppStandard": "c++20", "cStandard": "gnu23", "compilerPathIsExplicit": true, "cStandardIsExplicit": true, "cppStandardIsExplicit": true, "intelliSenseModeIsExplicit": false, "configurationProviderInCppPropertiesJson": "ms-vscode.cmake-tools", "compilerPath": "", "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true } } Custom browse configuration: { "browsePath": [ "/users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/e852ec59bcb4bf5167f1c58c9e96f581e61b3721/include", "/users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/e852ec59bcb4bf5167f1c58c9e96f581e61b3721/lib", ], "compilerPath": "/applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++", "compilerArgs": [], "compilerFragments": [ "-O2 -g -DNDEBUG -std=gnu++20 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -fvisibility-inlines-hidden", "-std=c++20", "-fPIC", "-fapplication-extension", "-Wall", "-Wextra", "-Wno-unknown-pragmas", "-Wno-switch", "-Wno-missing-field-initializers", "-Wno-missing-braces", "-Wconversion", "-Werror=format-security", "-Werror=return-type", "-fvisibility=hidden", "-g", "-O0", "-arch", "x86_64", "-miphoneos-version-min=12.2", "-target", "x86_64-apple-ios12.2-simulator", "-fobjc-arc", "-Werror", "-Wno-error=deprecated", "-Wglobal-constructors" ] } cpptools version (native): 1.19.3.0 Translation Unit Mappings: [ /Users/mv.kapitonov/Documents/w/controller/retail-common/retail_crm/implementation/deferred/crm-sale-deferred-actions/handle_client.cpp - source TU]: Translation Unit Configurations: [ /Users/mv.kapitonov/Documents/w/controller/retail-common/retail_crm/implementation/deferred/crm-sale-deferred-actions/handle_client.cpp ]: Process ID: 11786 Memory Usage: 247 MB Includes: /Users/mv.kapitonov/SBISPlatformSDK/SBISPlatformSDK_241200/include /Users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/e852ec59bcb4bf5167f1c58c9e96f581e61b3721/include /usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include Frameworks: /System/Library/Frameworks /Library/Frameworks Defines: APPLE BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR BOOST_FILESYSTEM_DEPRECATED BOOST_NO_CXX11_SCOPED_ENUMS BOOST_NO_CXX98_RANDOM_SHUFFLE BOOST_THREAD_PROVIDES_NESTED_LOCKS BOOST_THREAD_USES_DATETIME BOOST_THREAD_VERSION=5 BUILDING_RETAIL_CRM CURRENT_MODULE_NAME=retail-crm IOS IOS_SIMULATOR NDEBUG SBIS_APPLE_CLANG SBIS_DEBUG SBIS_RELEASE SBIS_STATIC_BUILD SBIS_UNIX SBIS_USE_NEW_CONAN SBIS_USE_WIDE_STRINGS SBIS_X86_64 UNICODE UNIX _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR=1 _UNICODE NDEBUG Standard Version: c++17 IntelliSense Mode: macos-clang-x64 Total Memory Usage: 247 MB ------- Workspace parsing diagnostics ------- Number of files discovered (not excluded): 40804 ```

Extension version: 1.19.3 VS Code version: Code 1.86.1 (Universal) (31c37ee8f63491495ac49e43b8544550fbae4533, 2024-02-07T09:09:01.236Z) OS version: Darwin x64 22.6.0 Modes:

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz (4 x 3400)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|5, 6, 6| |Memory (System)|16.00GB (0.06GB free)| |Process Argv|--crash-reporter-id f2eee538-8129-4cf6-aac2-620decbd951f| |Screen Reader|no| |VM|0%|
A/B Experiments ``` vsliv368:30146709 vspor879:30202332 vspor708:30202333 vspor363:30204092 vscoreces:30445986 vscod805cf:30301675 binariesv615:30325510 vsaa593cf:30376535 py29gd2263:30899288 c4g48928:30535728 azure-dev_surveyone:30548225 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30898717 pythontestfixt:30902429 pythonregdiag2:30936856 pyreplss1:30897532 pythonmypyd1:30879173 pythoncet0:30885854 2e7ec940:30962249 pythontbext0:30879054 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 edj9j583:30958191 a89i1917:30961429 e3gdj431:30958358 ```
sean-mcmanus commented 7 months ago

@Gargony Can you set C_Cpp.loggingLevel to "Debug" and look in the C/C++ logging for a message like "Compiler query command line: " and for an error afterwards? I believe we're failing to query the compiler with the args specified in the compile_commands.json....although I'm not sure why your log diagnostics doesn't show the compile_commands entry.

You also have configurationProvider set but it's not providing a configuration for that file, so you may not have CMake Tools configured correctly (or there could be a CMake Tools bug), so you might want to consider removing that and just setting compileCommands (if that works).

I am reproing what might be a bug (it's using c++17 instead of c++20), but I'm not 100% sure yet if it's the same issue you're hitting.

sean-mcmanus commented 7 months ago

@Gargony Are you sure /applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++ supports C++20? i.e. what does /applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++ --version give?

If there's some problem parsing the compile_commands.json or querying it's compiler, we should fall back to the c_cpp_properties.json and use the c++20 set there.

sean-mcmanus commented 7 months ago

@Colengms Do you see anything I missed?

Gargony commented 7 months ago

Can you set C_Cpp.loggingLevel to "Debug" and look in the C/C++ logging for a message like "Compiler query command line: " and for an error afterwards? I believe we're failing to query the compiler with the args specified in the compile_commands.json....although I'm not sure why your log diagnostics doesn't show the compile_commands entry.

Yes, you are right, an error occurs. The problem in '-Xarch_x86_64 -arch' argument. The different in this arguments between to use precompile header or not.

/applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++ -fdiagnostics-absolute-paths -O2 -g -std=gnu++20 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=10.13 -fPIC -fdata-sections -ffunction-sections -fcolor-diagnostics -fobjc-arc -fvisibility-ms-compat -fvisibility-inlines-hidden -g -O0 -Xarch_x86_64 -arch x86_64 -Wp,-v -fno-blocks -E -dM -x c++ /dev/null
  Обработка папки (с рекурсией): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/
clang: error: no such file or directory: 'x86_64'
clang: error: invalid Xarch argument: '-Xarch_x86_64 -arch', options requiring arguments are unsupported

The same line without precompile header

/applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++ -fdiagnostics-absolute-paths -O2 -g -std=gnu++20 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=10.13 -fPIC -fdata-sections -ffunction-sections -fcolor-diagnostics -fobjc-arc -fvisibility-ms-compat -fvisibility-inlines-hidden -g -O0 -arch x86_64 -Wp,-v -fno-blocks -E -dM -x c++ /dev/null
clang -cc1 version 15.0.0 (clang-1500.0.40.1) default target x86_64-apple-darwin22.6.0
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/local/include"
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks (framework directory)
End of search list.
...
...
cmake -version
cmake version 3.28.3

You also have configurationProvider set but it's not providing a configuration for that file, so you may not have CMake Tools configured correctly (or there could be a CMake Tools bug), so you might want to consider removing that and just setting compileCommands (if that works).

I'm sure it is relate to the precompile header "target_precompile_headers(${target} PRIVATE precomp.h)" when I comment this line in CMakeList.txt, all began works fine. See below sections about compile_commands.json. Take a look to "-Xarch_x86_64" argument

/applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin/c++ --version

Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: x86_64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /applications/xcode.app/contents/developer/toolchains/xcodedefault.xctoolchain/usr/bin

If there's some problem parsing the compile_commands.json or querying it's compiler, we should fall back to the c_cpp_properties.json and use the c++20 set there.

This not happens.

compile_commands.json (with precompile header) ``` { "directory": "/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d", "command": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DAPPLE -DBOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR -DBOOST_FILESYSTEM_DEPRECATED -DBOOST_NO_CXX11_SCOPED_ENUMS -DBOOST_THREAD_PROVIDES_NESTED_LOCKS -DBOOST_THREAD_USES_DATETIME -DBOOST_THREAD_VERSION=5 -DBUILDING_COMMON_LIB -DBUILDING_SBIS_MOBILE_COMMON -DCURRENT_MODULE_NAME=sbis-mobile-common -DMACOSX -DMACOSX_X86 -DNDEBUG -DSBIS_APPLE_CLANG -DSBIS_DEBUG -DSBIS_RELEASE -DSBIS_UNIT_TESTS=1 -DSBIS_UNIX -DSBIS_USE_NEW_CONAN -DSBIS_USE_WIDE_STRINGS -DSBIS_X86_64 -DUNICODE -DUNIX -DWIN32_LEAN_AND_MEAN -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR=1 -D_UNICODE -Dsbis_mobile_common_EXPORTS -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/resources -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/impexp -I/Users/mv.kapitonov/SBISPlatformSDK/SBISPlatformSDK_241200/include -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/sdk/djinni/cpp -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/data_entities -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common/tests -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common/synchronizer -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/djinni -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/djinni/cpp -I/Users/mv.kapitonov/Documents/w/controller/sbis_offline/src/sbis-service-info-provider -I/Users/mv.kapitonov/Documents/w/controller/sbis_offline/src/sbis-service-info-provider/resources -isystem /Users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/affad76e078f79a586de74021c5bd017b63941d1/include -fdiagnostics-absolute-paths -O2 -g -DNDEBUG -std=gnu++20 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=10.13 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-switch -Wno-missing-field-initializers -Wno-missing-braces -Wconversion -Werror=format-security -Werror=return-type -fdata-sections -ffunction-sections -fcolor-diagnostics -fobjc-arc -fvisibility-ms-compat -fvisibility-inlines-hidden -g -O0 -Werror -Wno-error=deprecated -Wglobal-constructors -Winvalid-pch -Xarch_x86_64 -include/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/CMakeFiles/sbis-mobile-common.dir/cmake_pch_x86_64.hxx -o subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/CMakeFiles/sbis-mobile-common.dir/implementation/async/co_promise_base.cpp.o -c /Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation/async/co_promise_base.cpp", "file": "/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation/async/co_promise_base.cpp", "output": "subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/CMakeFiles/sbis-mobile-common.dir/implementation/async/co_promise_base.cpp.o" }, ```
compile_commands.json (without precompile header) ``` { "directory": "/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d", "command": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DAPPLE -DBOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR -DBOOST_FILESYSTEM_DEPRECATED -DBOOST_NO_CXX11_SCOPED_ENUMS -DBOOST_THREAD_PROVIDES_NESTED_LOCKS -DBOOST_THREAD_USES_DATETIME -DBOOST_THREAD_VERSION=5 -DBUILDING_COMMON_LIB -DBUILDING_SBIS_MOBILE_COMMON -DCURRENT_MODULE_NAME=sbis-mobile-common -DMACOSX -DMACOSX_X86 -DNDEBUG -DSBIS_APPLE_CLANG -DSBIS_DEBUG -DSBIS_RELEASE -DSBIS_UNIT_TESTS=1 -DSBIS_UNIX -DSBIS_USE_NEW_CONAN -DSBIS_USE_WIDE_STRINGS -DSBIS_X86_64 -DUNICODE -DUNIX -DWIN32_LEAN_AND_MEAN -D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR=1 -D_UNICODE -Dsbis_mobile_common_EXPORTS -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/resources -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/impexp -I/Users/mv.kapitonov/SBISPlatformSDK/SBISPlatformSDK_241200/include -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/sdk/djinni/cpp -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/data_entities -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common/tests -I/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/sbis-mobile-common/synchronizer -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/djinni -I/Users/mv.kapitonov/Documents/w/controller/waiter/bn/Debug/cmake/d/subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/djinni/cpp -I/Users/mv.kapitonov/Documents/w/controller/sbis_offline/src/sbis-service-info-provider -I/Users/mv.kapitonov/Documents/w/controller/sbis_offline/src/sbis-service-info-provider/resources -isystem /Users/mv.kapitonov/.conan_data/boost/rc-24.1200-14/sbis/stable/package/affad76e078f79a586de74021c5bd017b63941d1/include -fdiagnostics-absolute-paths -O2 -g -DNDEBUG -std=gnu++20 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=10.13 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-switch -Wno-missing-field-initializers -Wno-missing-braces -Wconversion -Werror=format-security -Werror=return-type -fdata-sections -ffunction-sections -fcolor-diagnostics -fobjc-arc -fvisibility-ms-compat -fvisibility-inlines-hidden -g -O0 -Werror -Wno-error=deprecated -Wglobal-constructors -o subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/CMakeFiles/sbis-mobile-common.dir/implementation/async/co_promise_base.cpp.o -c /Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation/async/co_promise_base.cpp", "file": "/Users/mv.kapitonov/Documents/w/controller/mobileworkspace_controller-common/sbis-mobile-common/implementation/async/co_promise_base.cpp", "output": "subprojects/controller/mobileworkspace_controller-common/sbis-mobile-common/CMakeFiles/sbis-mobile-common.dir/implementation/async/co_promise_base.cpp.o" }, ```

So I think the title should be "The problem with precompiled header on MacOS", because on Windows this works fine.

Colengms commented 7 months ago

This should be addressed in 1.19.4.