microsoft / vscode-cpptools

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

Error Message on Init-Capture in Constraints #10991

Open kaigu1997 opened 1 year ago

kaigu1997 commented 1 year ago

Environment

Bug Summary and Steps to Reproduce

Bug Summary: Wrongly show error message for capture with initializer used in constraint of a compound requirement

Steps to reproduce:

  1. Input the following code:
    int main()
    {
    auto f = [i = 1](void)
    {
        auto g = [&i]<typename F>(F f)
            requires requires (F f){ {f(i)}; }
        {
        };
    };
    }
  2. Wait for seconds for IntelliSense to work.
  3. See error message

    [{ "resource": "/home/kaigu/code/exact_solution/src/test_cpplint.cpp", "owner": "C/C++: IntelliSense", "code": "2644", "severity": 8, "message": "init-capture \"lambda []()->auto::i\" (declared at line 3) cannot be captured here", "source": "C/C++", "startLineNumber": 6, "startColumn": 41, "endLineNumber": 6, "endColumn": 42 }] Notice, this error appears before instantiation of g.

Expected behavior: No error, as it compiles successfully, see link.

Configuration and Logs

Cofigurations:

"C_Cpp.autocompleteAddParentheses": true,
"C_Cpp.clang_format_path": "/usr/bin/clang-format",
"C_Cpp.clang_format_sortIncludes": true,
"C_Cpp.codeAnalysis.clangTidy.enabled": true,
"C_Cpp.codeAnalysis.clangTidy.path": "/usr/bin/clang-tidy",
"C_Cpp.codeAnalysis.clangTidy.useBuildPath": true,
"C_Cpp.codeAnalysis.runAutomatically": false,
"C_Cpp.commentContinuationPatterns": [
    "/// ",
    "/**",
    " * "
],
"C_Cpp.default.browse.databaseFilename": "${workspaceFolder}/.vscode/vc.db",
"C_Cpp.default.compilerArgs": [
    "-Wall",
    "-Wextra",
    "-std=c++20",
    "-O3",
    "-march=native",
    "-fopenmp"
],
"C_Cpp.default.compilerPath": "/usr/bin/g++",
"C_Cpp.default.cppStandard": "c++23",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x64",
"C_Cpp.default.mergeConfigurations": true,
"C_Cpp.experimentalFeatures": "enabled",
"C_Cpp.intelliSenseCacheSize": 65536,
"C_Cpp.intelliSenseEngineFallback": "enabled",
"C_Cpp.intelliSenseMemoryLimit": 16384,
"C_Cpp.legacyCompilerArgsBehavior": true,
"C_Cpp.loggingLevel": "Debug",
"C_Cpp.maxCachedProcesses": 8,
"C_Cpp.maxConcurrentThreads": 8,
"C_Cpp.maxMemory": 16384,
"C_Cpp.references.maxCachedProcesses": 8,
"C_Cpp.workspaceSymbols": "All",

Settings with including paths are omitted as they do not matter.

Log:

loggingLevel: Debug
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
The extension will use the Tag Parser for IntelliSense when #includes don't resolve.
IntelliSense Engine = default.
File exclude: **/.vs
File exclude: **/.vscode
File exclude: **/.factorypath
File exclude: **/.settings
File exclude: **/.project
File exclude: **/Thumbs.db
File exclude: **/.svn
File exclude: **/.git
File exclude: **/.hg
File exclude: **/.classpath
File exclude: **/.DS_Store
File exclude: **/CVS
Search exclude: **/*.code-search
Search exclude: **/node_modules
Search exclude: **/bower_components
LSP: cpptools/queryCompilerDefaults (id: 1)
LSP: Message ignored due to no registered handler: $/setTrace
Querying compiler for default C++ language standard using command line: /usr/bin/clang-15 -x c++ -E -dM /dev/null
Detected language standard version: c++14
Querying compiler's default target using command line: "/usr/bin/clang-15" -dumpmachine
Compiler returned default target value: x86_64-pc-linux-gnu
Compiler query command line: /usr/bin/clang-15 -std=c17 -m64 -Wp,-v -fno-blocks -E -dM -x c /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/usr/bin/clang-15'
Compiler query command line: /usr/bin/clang-15 -std=c++14 -m64 -Wp,-v -fno-blocks -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/clang-15'
LSP: cpptools/didChangeCppProperties (id: 2)
LSP: cpptools/didChangeSettings
LSP: textDocument/didOpen: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp
LSP: cpptools/getCodeActions: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 3)
LSP: cpptools/getInlayHints: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 4)
LSP: cpptools/getFoldingRanges: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 5)
LSP: cpptools/getSemanticTokens: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 6)
LSP: cpptools/textEditorSelectionChange
LSP: cpptools/activeDocumentChange: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp
Code browsing service initialized
Querying compiler for default C++ language standard using command line: /usr/bin/g++ -x c++ -E -dM /dev/null
Detected language standard version: gnu++17
Querying compiler's default target using command line: "/usr/bin/g++" -dumpmachine
Compiler returned default target value: x86_64-linux-gnu
Compiler query command line: /usr/bin/g++ -Wall -Wextra -std=c++20 -O3 -march=native -fopenmp -m64 -Wp,-v -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/g++'
Compiler query command line: /usr/bin/g++ -Wall -Wextra -O3 -march=native -fopenmp -std=c17 -m64 -Wp,-v -E -dM -x c /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/usr/bin/g++'
  Unable to retrieve file system information for /usr/local/lib/python3.10/dist-packages/numpy/core/include/. error = -1
  Folder: /home/kaigu/.local/include/ will be indexed
  Folder: /home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include/ will be indexed
  Folder: /home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include/ will be indexed
  Folder: /mnt/c/Program Files/Microsoft VS Code/ will be indexed
  Folder: /opt/intel/oneapi/mkl/2023.1.0/include/ will be indexed
  Folder: /opt/intel/oneapi/tbb/2021.9.0/include/ will be indexed
  Folder: /usr/include/ will be indexed
  Folder: /usr/lib/gcc/x86_64-linux-gnu/12/include/ will be indexed
  Folder: /usr/local/include/ will be indexed
  Folder: /usr/include/eigen3/ will be indexed
  Folder: /usr/include/python3.11/ will be indexed
Discovering files...
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
The extension will use the Tag Parser for IntelliSense when #includes don't resolve.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
  Processing folder (recursive): /home/kaigu/.local/include/
Unable to resolve include path: /usr/local/lib/python3.10/dist-packages/numpy/core/include/
  tag parsing file: /home/kaigu/code/exact_solution/src/test_cpplint.cpp
Unable to resolve include path: /home/kaigu/.local/include
Unable to resolve include path: /usr/include/eigen3
Unable to resolve include path: /usr/include/python3.11
Unable to resolve include path: /home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include
Unable to resolve include path: /home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include
Unable to resolve include path: /opt/intel/oneapi/tbb/latest/include
Unable to resolve include path: /opt/intel/oneapi/mkl/latest/include
Unable to resolve include path: /usr/local/lib/python3.10/dist-packages/numpy/core/include/
sending compilation args for /home/kaigu/code/exact_solution/src/test_cpplint.cpp
  include: /usr/include/python3.11
  include: /home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include
  include: /home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include
  include: /usr/include/eigen3
  include: /opt/intel/oneapi/tbb/2021.9.0/include
  include: /opt/intel/oneapi/mkl/2023.1.0/include
  include: /home/kaigu/.local/include
  include: /mnt/c/Program Files/Microsoft VS Code
  include: /usr/include/c++/12
  include: /usr/include/x86_64-linux-gnu/c++/12
  include: /usr/include/c++/12/backward
  include: /usr/lib/gcc/x86_64-linux-gnu/12/include
  include: /usr/local/include
  include: /usr/include/x86_64-linux-gnu
  include: /usr/include
  define: __SSE2_MATH__=1
  define: __SSP_STRONG__=3
  define: __LDBL_MANT_DIG__=64
  define: __UINT_LEAST16_MAX__=0xffff
  define: __FLT16_HAS_QUIET_NAN__=1
  define: __ATOMIC_ACQUIRE=2
  define: __FLT128_MAX_10_EXP__=4932
  define: __GCC_IEC_559_COMPLEX=2
  define: __UINT_LEAST8_TYPE__=unsigned char
  define: __SIZEOF_FLOAT80__=16
  define: __INTMAX_C(c)=c ## L
  define: __MOVBE__=1
  define: __UINT8_MAX__=0xff
  define: __SCHAR_WIDTH__=8
  define: __WINT_MAX__=0xffffffffU
  define: __ORDER_LITTLE_ENDIAN__=1234
  define: __SIZE_MAX__=0xffffffffffffffffUL
  define: __SSE4_1__=1
  define: __WCHAR_MAX__=0x7fffffff
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
  define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
  define: __GCC_IEC_559=2
  define: __FLT32X_DECIMAL_DIG__=17
  define: __FLT_EVAL_METHOD__=0
  define: __FLT64_DECIMAL_DIG__=17
  define: __CET__=3
  define: __FLT128_HAS_QUIET_NAN__=1
  define: __DBL_MIN_EXP__=(-1021)
  define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
  define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
  define: __SIG_ATOMIC_TYPE__=int
  define: __DBL_MIN_10_EXP__=(-307)
  define: __FINITE_MATH_ONLY__=0
  define: __FLT32X_MAX_EXP__=1024
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
  define: __FLT32_HAS_DENORM__=1
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
  define: __UINT_FAST8_MAX__=0xff
  define: __DEC64_MAX_EXP__=385
  define: __INT8_C(c)=c
  define: __INT_LEAST8_WIDTH__=8
  define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
  define: __INT_LEAST8_MAX__=0x7f
  define: __SHRT_MAX__=0x7fff
  define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __FLT64X_MAX_10_EXP__=4932
  define: __LDBL_IS_IEC_60559__=2
  define: __OPTIMIZE__=1
  define: __FLT64X_HAS_QUIET_NAN__=1
  define: __UINT_LEAST8_MAX__=0xff
  define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
  define: __LAHF_SAHF__=1
  define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
  define: __UINTMAX_TYPE__=long unsigned int
  define: __linux=1
  define: __DEC32_EPSILON__=1E-6DF
  define: __FLT_EVAL_METHOD_TS_18661_3__=0
  define: __unix=1
  define: __UINT32_MAX__=0xffffffffU
  define: __GXX_EXPERIMENTAL_CXX0X__=1
  define: __DBL_DENORM_MIN__=double(4.94065645841246544176568792868221372e-324L)
  define: __INT_FAST32_WIDTH__=64
  define: __FLT128_MIN_EXP__=(-16381)
  define: __WINT_MIN__=0U
  define: __FLT128_MIN_10_EXP__=(-4931)
  define: __FLT32X_IS_IEC_60559__=2
  define: __INT_LEAST16_WIDTH__=16
  define: __SCHAR_MAX__=0x7f
  define: __FLT128_MANT_DIG__=113
  define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
  define: __INT64_C(c)=c ## L
  define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
  define: _FORTIFY_SOURCE=2
  define: __skylake__=1
  define: __FLT32X_MANT_DIG__=53
  define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
  define: __FLT32_MAX_10_EXP__=38
  define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
  define: __STDC_HOSTED__=1
  define: __FLT32_DIG__=6
  define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
  define: __GXX_WEAK__=1
  define: __ABM__=1
  define: __SHRT_WIDTH__=16
  define: __FLT32_IS_IEC_60559__=2
  define: __STRICT_ANSI__=1
  define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
  define: __DBL_IS_IEC_60559__=2
  define: __DEC32_MAX__=9.999999E96DF
  define: __CHAR8_TYPE__=unsigned char
  define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
  define: __FP_FAST_FMA=1
  define: __CRC32__=1
  define: __FLT32X_HAS_INFINITY__=1
  define: __INT32_MAX__=0x7fffffff
  define: __unix__=1
  define: __INT_WIDTH__=32
  define: __SIZEOF_LONG__=8
  define: __STDC_IEC_559__=1
  define: __STDC_ISO_10646__=201706L
  define: __UINT16_C(c)=c
  define: __DECIMAL_DIG__=21
  define: __STDC_IEC_559_COMPLEX__=1
  define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
  define: __DBL_DIG__=15
  define: __gnu_linux__=1
  define: __INT16_MAX__=0x7fff
  define: __FLT64_MIN_EXP__=(-1021)
  define: __tune_skylake__=1
  define: __FLT64X_MIN_10_EXP__=(-4931)
  define: __LDBL_HAS_QUIET_NAN__=1
  define: __FLT16_MIN_EXP__=(-13)
  define: __FLT64_MANT_DIG__=53
  define: _REENTRANT=1
  define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
  define: __FLT64X_MANT_DIG__=64
  define: __GNUC__=12
  define: __pie__=2
  define: __GXX_RTTI=1
  define: __MMX__=1
  define: __XSAVES__=1
  define: __FLT_HAS_DENORM__=1
  define: __SIZEOF_LONG_DOUBLE__=16
  define: __XSAVEOPT__=1
  define: __BIGGEST_ALIGNMENT__=32
  define: __STDC_UTF_16__=1
  define: __PRFCHW__=1
  define: __FLT64_MAX_10_EXP__=308
  define: __FLT16_MAX_10_EXP__=4
  define: __FLT32_HAS_INFINITY__=1
  define: __DBL_MAX__=double(1.79769313486231570814527423731704357e+308L)
  define: __LDBL_HAS_DENORM__=1
  define: __DBL_HAS_INFINITY__=1
  define: __SSE4_2__=1
  define: __SIZEOF_FLOAT__=4
  define: __DEC32_MIN_EXP__=(-94)
  define: __INTPTR_WIDTH__=64
  define: __FLT64X_HAS_INFINITY__=1
  define: __UINT_LEAST32_MAX__=0xffffffffU
  define: __FLT32X_HAS_DENORM__=1
  define: __INT_FAST16_TYPE__=long int
  define: __MMX_WITH_SSE__=1
  define: __FLT_DIG__=6
  define: __SEG_GS=1
  define: __cplusplus=202002L
  define: __DEC32_MIN__=1E-95DF
  define: __DEPRECATED=1
  define: __DBL_MAX_EXP__=1024
  define: __WCHAR_WIDTH__=32
  define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __DEC128_EPSILON__=1E-33DL
  define: __FLT16_DECIMAL_DIG__=5
  define: __ATOMIC_HLE_RELEASE=131072
  define: __PTRDIFF_MAX__=0x7fffffffffffffffL
  define: __FLT128_MAX_EXP__=16384
  define: __amd64=1
  define: __AVX__=1
  define: __GNUG__=12
  define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
  define: __SIZEOF_SIZE_T__=8
  define: __LZCNT__=1
  define: __FLT64X_MIN_EXP__=(-16381)
  define: __SIZEOF_WINT_T__=4
  define: __LONG_LONG_WIDTH__=64
  define: __FLT32_MAX_EXP__=128
  define: __GXX_ABI_VERSION=1017
  define: __FLT_MIN_EXP__=(-125)
  define: __GCC_HAVE_DWARF2_CFI_ASM=1
  define: __x86_64=1
  define: __INT_FAST64_TYPE__=long int
  define: __FP_FAST_FMAF=1
  define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
  define: __DBL_MIN__=double(2.22507385850720138309023271733240406e-308L)
  define: __CLFLUSHOPT__=1
  define: __PCLMUL__=1
  define: __FLT16_DENORM_MIN__=5.96046447753906250000000000000000000e-8F16
  define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
  define: __FLT64X_NORM_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __SIZEOF_POINTER__=8
  define: __F16C__=1
  define: __LP64__=1
  define: __DBL_HAS_QUIET_NAN__=1
  define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
  define: __DECIMAL_BID_FORMAT__=1
  define: __FLT64_MIN_10_EXP__=(-307)
  define: __FLT16_MIN_10_EXP__=(-4)
  define: __FLT64X_DECIMAL_DIG__=21
  define: __DEC128_MIN__=1E-6143DL
  define: __REGISTER_PREFIX__=
  define: __UINT16_MAX__=0xffff
  define: __INTMAX_WIDTH__=64
  define: __FLT128_HAS_INFINITY__=1
  define: __LDBL_HAS_INFINITY__=1
  define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
  define: __UINT8_TYPE__=unsigned char
  define: __XSAVE__=1
  define: __DEC_EVAL_METHOD__=2
  define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
  define: __FLT32X_MAX_10_EXP__=308
  define: __LDBL_DECIMAL_DIG__=21
  define: __VERSION__="12.2.0"
  define: __UINT64_C(c)=c ## UL
  define: __FMA__=1
  define: _STDC_PREDEF_H=1
  define: __skylake=1
  define: __INT_LEAST32_MAX__=0x7fffffff
  define: __GCC_ATOMIC_INT_LOCK_FREE=2
  define: __FLT32_MANT_DIG__=24
  define: __FLT16_IS_IEC_60559__=2
  define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __FLT32X_MIN_EXP__=(-1021)
  define: __STDC_IEC_60559_COMPLEX__=201404L
  define: __ATOMIC_HLE_ACQUIRE=65536
  define: __FLT128_HAS_DENORM__=1
  define: __FLT32_DECIMAL_DIG__=9
  define: __FLT128_DIG__=33
  define: __INT32_C(c)=c
  define: __DEC64_EPSILON__=1E-15DD
  define: __ORDER_PDP_ENDIAN__=3412
  define: __DEC128_MIN_EXP__=(-6142)
  define: __INT_FAST32_TYPE__=long int
  define: __FLT16_MIN__=6.10351562500000000000000000000000000e-5F16
  define: __UINT_LEAST16_TYPE__=short unsigned int
  define: __DBL_HAS_DENORM__=1
  define: __SIZE_TYPE__=long unsigned int
  define: __UINT64_MAX__=0xffffffffffffffffUL
  define: __FLT_IS_IEC_60559__=2
  define: __GNUC_WIDE_EXECUTION_CHARSET_NAME="UTF-32LE"
  define: __FLT64X_DIG__=18
  define: __INT8_TYPE__=signed char
  define: __ELF__=1
  define: __GCC_ASM_FLAG_OUTPUTS__=1
  define: __POPCNT__=1
  define: __UINT32_TYPE__=unsigned int
  define: __FLT_RADIX__=2
  define: __INT_LEAST16_TYPE__=short int
  define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
  define: __UINTMAX_C(c)=c ## UL
  define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
  define: __SIG_ATOMIC_MAX__=0x7fffffff
  define: __HAVE_SPECULATION_SAFE_VALUE=1
  define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
  define: __USER_LABEL_PREFIX__=
  define: __STDC_IEC_60559_BFP__=201404L
  define: __SIZEOF_PTRDIFF_T__=8
  define: __RDSEED__=1
  define: __BMI__=1
  define: __LDBL_DIG__=18
  define: __FLT64_IS_IEC_60559__=2
  define: __x86_64__=1
  define: __FLT16_MAX_EXP__=16
  define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
  define: __GCC_CONSTRUCTIVE_SIZE=64
  define: __FLT64_DIG__=15
  define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
  define: __UINT_LEAST64_TYPE__=long unsigned int
  define: __FLT16_EPSILON__=9.76562500000000000000000000000000000e-4F16
  define: __FLT_HAS_QUIET_NAN__=1
  define: __FLT_MAX_10_EXP__=38
  define: __LONG_MAX__=0x7fffffffffffffffL
  define: __FLT64X_HAS_DENORM__=1
  define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
  define: __FLT_HAS_INFINITY__=1
  define: __GNUC_EXECUTION_CHARSET_NAME="UTF-8"
  define: __UINT_FAST16_TYPE__=long unsigned int
  define: __DEC64_MAX__=9.999999999999999E384DD
  define: __CHAR16_TYPE__=short unsigned int
  define: __PRAGMA_REDEFINE_EXTNAME=1
  define: __SIZE_WIDTH__=64
  define: __SEG_FS=1
  define: __INT_LEAST16_MAX__=0x7fff
  define: __FLT16_NORM_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __DEC64_MANT_DIG__=16
  define: __INT64_MAX__=0x7fffffffffffffffL
  define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
  define: __SIG_ATOMIC_WIDTH__=32
  define: __GCC_DESTRUCTIVE_SIZE=64
  define: __INT_LEAST64_TYPE__=long int
  define: __INT16_TYPE__=short int
  define: __INT_LEAST8_TYPE__=signed char
  define: __FLT16_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __SIZEOF_INT__=4
  define: __DEC32_MAX_EXP__=97
  define: __INT_FAST8_MAX__=0x7f
  define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __INTPTR_MAX__=0x7fffffffffffffffL
  define: __AVX2__=1
  define: __FLT64_HAS_QUIET_NAN__=1
  define: __INT_FAST16_MAX__=0x7fffffffffffffffL
  define: __SSSE3__=1
  define: __EXCEPTIONS=1
  define: __RDRND__=1
  define: __PTRDIFF_WIDTH__=64
  define: __CHAR_BIT__=8
  define: __FLT64_HAS_INFINITY__=1
  define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __FLT16_HAS_INFINITY__=1
  define: __STDCPP_DEFAULT_NEW_ALIGNMENT__=16
  define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
  define: __code_model_small__=1
  define: __GCC_ATOMIC_LONG_LOCK_FREE=2
  define: __DEC32_MANT_DIG__=7
  define: __INTPTR_TYPE__=long int
  define: __UINT16_TYPE__=short unsigned int
  define: __WCHAR_TYPE__=int
  define: __pic__=2
  define: __UINTPTR_MAX__=0xffffffffffffffffUL
  define: __INT_FAST64_WIDTH__=64
  define: __INT_FAST64_MAX__=0x7fffffffffffffffL
  define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
  define: __FLT_NORM_MAX__=3.40282346638528859811704183484516925e+38F
  define: __FLT64X_MAX_EXP__=16384
  define: __UINT_FAST64_TYPE__=long unsigned int
  define: __INT_MAX__=0x7fffffff
  define: __linux__=1
  define: __INT64_TYPE__=long int
  define: __FLT_MAX_EXP__=128
  define: __ORDER_BIG_ENDIAN__=4321
  define: __DBL_MANT_DIG__=53
  define: __SIZEOF_FLOAT128__=16
  define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
  define: __FP_FAST_FMAF32=1
  define: __DEC64_MIN__=1E-383DD
  define: __WINT_TYPE__=unsigned int
  define: __UINT_LEAST32_TYPE__=unsigned int
  define: __SIZEOF_SHORT__=2
  define: __FLT32_NORM_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __SSE__=1
  define: __LDBL_MIN_EXP__=(-16381)
  define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __WINT_WIDTH__=32
  define: __FP_FAST_FMAF64=1
  define: __INT_LEAST64_WIDTH__=64
  define: __LDBL_MAX_EXP__=16384
  define: __SIZEOF_INT128__=16
  define: __FLT64X_IS_IEC_60559__=2
  define: __LDBL_MAX_10_EXP__=4932
  define: __ATOMIC_RELAXED=0
  define: __DBL_EPSILON__=double(2.22044604925031308084726333618164062e-16L)
  define: __FLT32_MIN_EXP__=(-125)
  define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
  define: _LP64=1
  define: __UINT8_C(c)=c
  define: __FLT64_MAX_EXP__=1024
  define: __INT_LEAST32_TYPE__=int
  define: __SIZEOF_WCHAR_T__=4
  define: __GNUC_PATCHLEVEL__=0
  define: __INT_FAST32_MAX__=0x7fffffffffffffffL
  define: __FLT128_NORM_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __amd64__=1
  define: __FLT64_NORM_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __INTMAX_MAX__=0x7fffffffffffffffL
  define: __SSE3__=1
  define: __INT_FAST8_TYPE__=signed char
  define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
  define: __STDCPP_THREADS__=1
  define: __GNUC_STDC_INLINE__=1
  define: __FLT64_HAS_DENORM__=1
  define: _OPENMP=201511
  define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
  define: __FP_FAST_FMAF32x=1
  define: __FLT16_HAS_DENORM__=1
  define: __DBL_DECIMAL_DIG__=17
  define: __STDC_UTF_32__=1
  define: __INT_FAST8_WIDTH__=8
  define: __FXSR__=1
  define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __DBL_NORM_MAX__=double(1.79769313486231570814527423731704357e+308L)
  define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __UINT64_TYPE__=long unsigned int
  define: __UINT32_C(c)=c ## U
  define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
  define: __FLT128_IS_IEC_60559__=2
  define: __INT8_MAX__=0x7f
  define: __LONG_WIDTH__=64
  define: __PIC__=2
  Processing folder (recursive): /home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include/
  define: __UINT_FAST32_TYPE__=long unsigned int
  define: __FLT16_MANT_DIG__=11
  define: __FLT32X_NORM_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __CHAR32_TYPE__=unsigned int
  define: __FLT32_MIN_10_EXP__=(-37)
  define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
  define: __SSE2__=1
  define: __INT32_TYPE__=int
  define: __XSAVEC__=1
  define: __SIZEOF_DOUBLE__=8
  define: __FLT_MIN_10_EXP__=(-37)
  define: __FLT_MANT_DIG__=24
  define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
  define: __INT_LEAST32_WIDTH__=32
  define: __INTMAX_TYPE__=long int
  define: __DEC128_MAX_EXP__=6145
  define: __FSGSBASE__=1
  define: __FLT32X_HAS_QUIET_NAN__=1
  define: __ATOMIC_CONSUME=1
  define: __GNUC_MINOR__=2
  define: __INT_FAST16_WIDTH__=64
  define: __UINTMAX_MAX__=0xffffffffffffffffUL
  define: __PIE__=2
  define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
  define: __DBL_MAX_10_EXP__=308
  define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
  define: __GCC_ATOMIC_CHAR8_T_LOCK_FREE=2
  define: __BMI2__=1
  define: __INT16_C(c)=c
  define: __STDC__=1
  define: __AES__=1
  define: __FLT32X_DIG__=15
  define: __PTRDIFF_TYPE__=long int
  define: __DEC64_MIN_EXP__=(-382)
  define: __ATOMIC_SEQ_CST=5
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16=1
  define: __ADX__=1
  define: __FLT32X_MIN_10_EXP__=(-307)
  define: __UINTPTR_TYPE__=long unsigned int
  define: __FLT16_DIG__=3
  define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
  define: __DEC128_MANT_DIG__=34
  define: __LDBL_MIN_10_EXP__=(-4931)
  define: __SSE_MATH__=1
  define: __SIZEOF_LONG_LONG__=8
  define: __FLT128_DECIMAL_DIG__=36
  define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
  define: __FLT32_HAS_QUIET_NAN__=1
  define: __FLT_DECIMAL_DIG__=9
  define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
  define: __LDBL_NORM_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
  define: __UINT_FAST8_TYPE__=unsigned char
  define: _GNU_SOURCE=1
  define: __ATOMIC_ACQ_REL=4
  define: __ATOMIC_RELEASE=3
  other: --g++
  other: --gnu_version=120200
  stdver: c++20
  intelliSenseMode: linux-gcc-x64
  Processing folder (recursive): /home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include/
  Processing folder (recursive): /mnt/c/Program Files/Microsoft VS Code/
Checking for syntax errors: /home/kaigu/code/exact_solution/src/test_cpplint.cpp
Queueing IntelliSense update for files in translation unit of: /home/kaigu/code/exact_solution/src/test_cpplint.cpp
Error squiggle count: 1
Update IntelliSense time (sec): 0.332
LSP: cpptools/getCodeActions: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 7)
LSP: cpptools/getDocumentSymbols: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 8)
LSP: cpptools/getFoldingRanges: file:///home/kaigu/code/exact_solution/src/test_cpplint.cpp (id: 9)

Diagnostic:

-------- Diagnostics - 5/23/2023, 2:47:20 AM
Version: 1.15.4
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "",
        "${workspaceFolder}",
        "/home/kaigu/.local/include",
        "/usr/include/eigen3",
        "/usr/include/python3.11",
        "/home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include",
        "/home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include",
        "/opt/intel/oneapi/tbb/latest/include",
        "/opt/intel/oneapi/mkl/latest/include",
        "/usr/local/lib/python3.10/dist-packages/numpy/core/include/"
    ],
    "defines": [],
    "forcedInclude": [
        "${workspaceFolder}",
        "/home/kaigu/.local/include",
        "/usr/include/eigen3",
        "/usr/include/python3.11",
        "/home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include",
        "/home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include",
        "/opt/intel/oneapi/tbb/latest/include",
        "/opt/intel/oneapi/mkl/latest/include",
        "/usr/local/lib/python3.10/dist-packages/numpy/core/include/"
    ],
    "compilerArgs": [
        "-Wall",
        "-Wextra",
        "-std=c++20",
        "-O3",
        "-march=native",
        "-fopenmp"
    ],
    "cStandard": "c17",
    "cppStandard": "c++23",
    "intelliSenseMode": "linux-gcc-x64",
    "intelliSenseModeIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "mergeConfigurations": true,
    "compilerPath": "/usr/bin/g++",
    "compilerPathIsExplicit": true,
    "browse": {
        "path": [
            "${workspaceFolder}",
            "/home/kaigu/.local/include",
            "/usr/include/eigen3",
            "/usr/include/python3.11",
            "/home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include",
            "/home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include",
            "/opt/intel/oneapi/tbb/latest/include",
            "/opt/intel/oneapi/mkl/latest/include",
            "/usr/local/lib/python3.10/dist-packages/numpy/core/include/"
        ],
        "limitSymbolsToIncludedHeaders": true,
        "databaseFilename": "${workspaceFolder}/.vscode/vc.db"
    }
}
Translation Unit Mappings:
[ /home/kaigu/code/exact_solution/src/test_cpplint.cpp ]:
    /home/kaigu/code/exact_solution/src/test_cpplint.cpp
Translation Unit Configurations:
[ /home/kaigu/code/exact_solution/src/test_cpplint.cpp ]:
    Process ID: 9829
    Memory Usage: 39 MB
    Compiler Path: /usr/bin/g++
    Includes:
        /usr/include/python3.11
        /home/kaigu/.venv/venv/lib/python3.11/site-packages/numpy/core/include
        /home/kaigu/.venv/venv/lib/python3.11/site-packages/pybind11/include
        /usr/include/eigen3
        /opt/intel/oneapi/tbb/2021.9.0/include
        /opt/intel/oneapi/mkl/2023.1.0/include
        /home/kaigu/.local/include
        /mnt/c/Program Files/Microsoft VS Code
        /usr/include/c++/12
        /usr/include/x86_64-linux-gnu/c++/12
        /usr/include/c++/12/backward
        /usr/lib/gcc/x86_64-linux-gnu/12/include
        /usr/local/include
        /usr/include/x86_64-linux-gnu
        /usr/include
    Standard Version: c++20
    IntelliSense Mode: linux-gcc-x64
    Other Flags:
        --g++
        --gnu_version=120200
Total Memory Usage: 39 MB

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

Other Extensions

All other extensions are disabled, excluding local extensions of

and remote (WSL: Ubuntu) extension of

sean-mcmanus commented 1 year ago

Thanks for reporting this. I've filed a bug on VS (due to our shared parser) at https://developercommunity.visualstudio.com/t/C-IntelliSense-with-c20-clang-mode-g/10375782 .