vscode-cpptools icon indicating copy to clipboard operation
vscode-cpptools copied to clipboard

IntelliSense does not respect C++ standard on MacOS

Open ksmith-dandy opened this issue 1 year ago • 4 comments

Environment

  • OS and Version: Sonoma 14.1
  • VS Code Version: 1.84.2 (Universal)
  • C/C++ Extension Version: 1.18.4

Bug Summary and Steps to Reproduce

Bug Summary: IntelliSense leaves red squiggles in places where compile errors do not actually occur and seems related to C++20 features such as constructor template argument deduction and the constructors of std::span.

Steps to reproduce:

  1. Create a new workspace and add a file main.cpp with the contents:
#include <iostream>
#include <span>

int main(int argv, char *argc[])
{
    std::span args(argc, argv);
    std::cout << "Hello world\n";
}
  1. Add c_cpp_properties.json:
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c++20",
            "intelliSenseMode": "macos-clang-arm64"
        }
    ],
    "version": 4
}
  1. Add tasks.json:
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: clang++ build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-std=c++20",
                "-fcolor-diagnostics",
                "-fansi-escape-codes",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}
  1. Observe IntelliSense errors:
[{
	"resource": "/Users/user/GitHub/test/main.cpp",
	"owner": "C/C++: IntelliSense",
	"code": "3158",
	"severity": 8,
	"message": "cannot deduce class template arguments",
	"source": "C/C++",
	"startLineNumber": 6,
	"startColumn": 5,
	"endLineNumber": 6,
	"endColumn": 8
},{
	"resource": "/Users/user/GitHub/test/main.cpp",
	"owner": "C/C++: IntelliSense",
	"code": "289",
	"severity": 8,
	"message": "no instance of constructor \"std::__1::span\" matches the argument list",
	"source": "C/C++",
	"startLineNumber": 6,
	"startColumn": 15,
	"endLineNumber": 6,
	"endColumn": 19,
	"relatedInformation": [
		{
			"startLineNumber": 6,
			"startColumn": 15,
			"endLineNumber": 6,
			"endColumn": 19,
			"message": "argument types are: (char **, int)",
			"resource": "/Users/user/GitHub/test/main.cpp"
		}
	]
}]
  1. Click on Run C/C++ File and observe no compile errors and the application runs successfully.

Expected behavior: There should be no reported IntelliSense errors, since the file successfully compiles and runs without issue with the given C++ standard.

Configuration and Logs

-------- Diagnostics - 11/15/2023, 4:30:47 PM
Version: 1.18.4
Current Configuration:
{
    "name": "Mac",
    "includePath": [
        "/Users/user/GitHub/test/**"
    ],
    "defines": [],
    "macFrameworkPath": [
        "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
    ],
    "compilerPath": "/usr/bin/clang",
    "cStandard": "c17",
    "cppStandard": "c++20",
    "intelliSenseMode": "macos-clang-arm64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "/usr/bin/clang",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "/Users/user/GitHub/test/**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
cpptools version (native): 1.18.3.0
Translation Unit Mappings:
[ /Users/user/GitHub/test/main.cpp ]:
    /Users/user/GitHub/test/main.cpp
Translation Unit Configurations:
[ /Users/user/GitHub/test/main.cpp ]:
    Process ID: 70852
    Memory Usage: 235 MB
    Compiler Path: /usr/bin/clang
    Includes:
        /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/c++/v1
        /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include
        /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include
        /Library/Developer/CommandLineTools/usr/include
    Frameworks:
        /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/System/Library/Frameworks
    Standard Version: c++20
    IntelliSense Mode: macos-clang-arm64
    Other Flags:
        --clang
        --clang_version=160000
Total Memory Usage: 235 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 9018

sending compilation args for /Users/user/GitHub/test/main.cpp
  include: /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/c++/v1
  include: /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include
  include: /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include
  include: /Library/Developer/CommandLineTools/usr/include
  framework: /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/System/Library/Frameworks
  define: _LP64=1
  define: __AARCH64EL__=1
  define: __AARCH64_CMODEL_SMALL__=1
  define: __AARCH64_SIMD__=1
  define: __APPLE_CC__=6000
  define: __APPLE__=1
  define: __ARM64_ARCH_8__=1
  define: __ARM_64BIT_STATE=1
  define: __ARM_ACLE=200
  define: __ARM_ALIGN_MAX_STACK_PWR=4
  define: __ARM_ARCH=8
  define: __ARM_ARCH_8_3__=1
  define: __ARM_ARCH_8_4__=1
  define: __ARM_ARCH_8_5__=1
  define: __ARM_ARCH_ISA_A64=1
  define: __ARM_ARCH_PROFILE='A'
  define: __ARM_FEATURE_AES=1
  define: __ARM_FEATURE_ATOMICS=1
  define: __ARM_FEATURE_CLZ=1
  define: __ARM_FEATURE_COMPLEX=1
  define: __ARM_FEATURE_CRC32=1
  define: __ARM_FEATURE_CRYPTO=1
  define: __ARM_FEATURE_DIRECTED_ROUNDING=1
  define: __ARM_FEATURE_DIV=1
  define: __ARM_FEATURE_DOTPROD=1
  define: __ARM_FEATURE_FMA=1
  define: __ARM_FEATURE_FP16_FML=1
  define: __ARM_FEATURE_FP16_SCALAR_ARITHMETIC=1
  define: __ARM_FEATURE_FP16_VECTOR_ARITHMETIC=1
  define: __ARM_FEATURE_FRINT=1
  define: __ARM_FEATURE_IDIV=1
  define: __ARM_FEATURE_JCVT=1
  define: __ARM_FEATURE_LDREX=0xF
  define: __ARM_FEATURE_NUMERIC_MAXMIN=1
  define: __ARM_FEATURE_QRDMX=1
  define: __ARM_FEATURE_RCPC=1
  define: __ARM_FEATURE_SHA2=1
  define: __ARM_FEATURE_SHA3=1
  define: __ARM_FEATURE_SHA512=1
  define: __ARM_FEATURE_SM3=1
  define: __ARM_FEATURE_SM4=1
  define: __ARM_FEATURE_UNALIGNED=1
  define: __ARM_FP=0xE
  define: __ARM_FP16_ARGS=1
  define: __ARM_FP16_FORMAT_IEEE=1
  define: __ARM_NEON=1
  define: __ARM_NEON_FP=0xE
  define: __ARM_NEON__=1
  define: __ARM_PCS_AAPCS64=1
  define: __ARM_SIZEOF_MINIMAL_ENUM=4
  define: __ARM_SIZEOF_WCHAR_T=4
  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__=8
  define: __BITINT_MAXWIDTH__=128
  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_CHAR8_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__=140000
  define: __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__=140000
  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: __FP_FAST_FMA=1
  define: __FP_FAST_FMAF=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_CHAR8_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_2=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
  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_EXPERIMENTAL_CXX0X__=1
  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: __LDBL_DECIMAL_DIG__=17
  define: __LDBL_DENORM_MIN__=4.9406564584124654e-324L
  define: __LDBL_DIG__=15
  define: __LDBL_EPSILON__=2.2204460492503131e-16L
  define: __LDBL_HAS_DENORM__=1
  define: __LDBL_HAS_INFINITY__=1
  define: __LDBL_HAS_QUIET_NAN__=1
  define: __LDBL_MANT_DIG__=53
  define: __LDBL_MAX_10_EXP__=308
  define: __LDBL_MAX_EXP__=1024
  define: __LDBL_MAX__=1.7976931348623157e+308L
  define: __LDBL_MIN_10_EXP__=(-307)
  define: __LDBL_MIN_EXP__=(-1021)
  define: __LDBL_MIN__=2.2250738585072014e-308L
  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: __NO_INLINE__=1
  define: __NO_MATH_ERRNO__=1
  define: __OBJC_BOOL_IS_BOOL=1
  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: __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__=8
  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: __SSP__=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: __STRICT_ANSI__=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: __aarch64__=1
  define: __apple_build_version__=15000040
  define: __arm64=1
  define: __arm64__=1
  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: __cplusplus=202002L
  define: __llvm__=1
  define: __nonnull=_Nonnull
  define: __null_unspecified=_Null_unspecified
  define: __nullable=_Nullable
  define: __pic__=2
  define: __private_extern__=extern
  define: __strong=
  define: __unsafe_unretained=
  define: __weak=__attribute__((objc_gc(weak)))
  other: --clang
  other: --clang_version=160000
  stdver: c++20
  intelliSenseMode: macos-clang-arm64
Checking for syntax errors: /Users/user/GitHub/test/main.cpp

Other Extensions

No response

Additional context

No response

ksmith-dandy avatar Nov 15 '23 23:11 ksmith-dandy

@ksmith-dandy Thanks for reporting this. I don't repro the issue with Apple clang 14, so it might be caused by some header change in Apple clang 15 -- we'll look into that tomorrow. A potential workaround might be to set your compilerPath to a clang 14 compiler.

sean-mcmanus avatar Nov 16 '23 00:11 sean-mcmanus

@sean-mcmanus Thank you, I can confirm that the issue doesn't repro with clang 14. There are some missing library features still (mostly to do with C++20 ranges) which is annoying but easier to work around.

ksmith-dandy avatar Nov 16 '23 17:11 ksmith-dandy

I have seen the same issue. Is there any way I can turn this error off?

LinZhihao-723 avatar Feb 04 '24 04:02 LinZhihao-723

@LinZhihao-723 You could potentially set your compilerPath to a clang 14 compiler.

sean-mcmanus avatar Feb 20 '24 23:02 sean-mcmanus

It looks like this has been fixed since version 1.19.9 of the extension, please try this again to confirm this works. I am going to close this issue unless there are further concerns.

browntarik avatar Mar 21 '24 22:03 browntarik