WebAssembly intrinsics aren't detected correctly in a freestanding `--target=wasm32`

未关闭
#14,769 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
64/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
c, typescript, wasm

调研方向

使用 test.c 和 .vscode/c_cpp_properties.json,通过 Clang 19.1.7 和 --target=wasm32 复现。首先检查 wasm_simd128.h 中 IntelliSense 对 __builtin_wasm_swizzle_i8x16 和 __builtin_convertvector 的处理。完成标准是 WebAssembly 内置函数能够被正确识别,并且不出现错误波浪线。

由索引模型根据 Issue 内容生成。

描述

Environment
  • OS and Version: Debian 5.15.153.1-microsoft-standard-WSL2, WSL 2.2.4.0, Windows 10.0.19045.7725
  • VS Code Version: 1.116.0
  • C/C++ Extension Version: 1.34.4
  • If using SSH remote, specify OS of remote machine:
Bug Summary and Steps to Reproduce

Bug Summary:
When using Clang to build a freestanding --target=wasm32 library inside WSL, IntelliSense fails to detect available __builtin_* WebAssembly intrinsics, and thus when an WebAssembly macro intrinsic (like wasm_i32x4_shuffle) is used, the expression is displayed with an error. In the case of that particular intrinsic, the error is invalid type conversion C/C++(171), because 1. IntelliSense is unaware of __builtin_wasm_shuffle_i8x16 and instead uses an implicit declaration of int __builtin_wasm_shuffle_i8x16() and 2. wasm_i32x4_shuffle is defined in wasm_simd128.h as follows:

#define wasm_i32x4_shuffle(__a, __b, __c0, __c1, __c2, __c3)                   \
  ((v128_t)__builtin_wasm_shuffle_i8x16(                                       \
      (__i8x16)(__a), (__i8x16)(__b), (__c0)*4, (__c0)*4 + 1, (__c0)*4 + 2,    \
      (__c0)*4 + 3, (__c1)*4, (__c1)*4 + 1, (__c1)*4 + 2, (__c1)*4 + 3,        \
      (__c2)*4, (__c2)*4 + 1, (__c2)*4 + 2, (__c2)*4 + 3, (__c3)*4,            \
      (__c3)*4 + 1, (__c3)*4 + 2, (__c3)*4 + 3))

I inferred this as the likely cause because if you Alt+click the function and explore the 100+ displayed errors in that file, you can easily find other cases where IntelliSense is complaining about the same kind of cast.

Steps to reproduce:

  1. Start WSL and make sure you have Clang 19.1.7 installed. (Later versions of Clang use a different method internally for the shuffle intrinsic.) Also, ensure there are no open VSCode windows and that no VSCode server is running in the background in the WSL VM. (You can check this pretty quickly with top/htop.)

  2. Create a directory with the following file structure:

    • .vscode/c_cpp_properties.json: see below
    • .vscode/settings.json:
       {
           "C_Cpp.loggingLevel": "Debug"
       }
      
    • test.c:
       #include <wasm_simd128.h>
       
       int test(int a, int b) {
           v128_t va = wasm_i32x4_splat(a);
           v128_t vb = wasm_i32x4_splat(b);
           v128_t vc = wasm_i32x4_shuffle(va, vb, 0, 1, 4, 5);
           return wasm_i32x4_extract_lane(vc, 0);
       }
      
  3. Compile the module and observe no errors occurred during compilation:

    clang -std=c17 --target=wasm32 --no-standard-libraries -Wl,--export-all -Wl,--no-entry -Wall -Werror -msimd128 -o out.wasm test.c
    
  4. Open VSCode with only ms-vscode.cpptools running:

    code $(code --list-extensions | grep -v ms-vscode.cpptools | xargs -I % echo '--disable-extension %') .
    
  5. Open test.c.

    You will observe that line 6 displays an error squiggle, and if you hover over it, it displays invalid type conversion C/C++(171).

  6. Alt+click the wasm_i32x4_shuffle, the one marked with an error. This will navigate to the included wasm_simd128.h, where that macro is.

  7. Scroll down a little bit, and you'll see the following function:

    static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_i8x16_swizzle(v128_t __a,
                                                                   v128_t __b) {
      return (v128_t)__builtin_wasm_swizzle_i8x16((__i8x16)__a, (__i8x16)__b);
    }
    

    You will observe that an error squiggle is also displayed over the opening ( of (v128_t), and if you hover over it, it displays the same error invalid type conversion C/C++(171).

  8. Hover over __builtin_wasm_swizzle_i8x16.

    You will observe the prototype detected is int __builtin_wasm_swizzle_i8x16().

  9. Scroll down a little bit further, and you'll see the following function:

    static __inline__ v128_t __DEFAULT_FN_ATTRS
    wasm_i16x8_extend_low_i8x16(v128_t __a) {
      return (v128_t) __builtin_convertvector(
          (__i8x8){((__i8x16)__a)[0], ((__i8x16)__a)[1], ((__i8x16)__a)[2],
                   ((__i8x16)__a)[3], ((__i8x16)__a)[4], ((__i8x16)__a)[5],
                   ((__i8x16)__a)[6], ((__i8x16)__a)[7]},
          __i16x8);
    }
    
  10. Hover over __builtin_convertvector.

    You will observe it instead just shows __builtin_convertvector, not as a function, but as a simple identifier.

Expected behavior:

No errors to appear, and __builtin_wasm_swizzle_i8x16 to show up the same way as __builtin_convertvector, as a builtin rather than as an implicitly defined function.

Configuration and Logs
I've redacted user-related paths, but that's it. `$HOME` is obvious, and `$PROJECT` is the project root. The logs were 

`.vscode/c_cpp_properties.json`:


{
    "configurations": [
        {
            "name": "WebAssembly",
            "includePath": [
                "${workspaceFolder}/"
            ],
            "compilerArgs": [
                "--target=wasm32",
                "--no-standard-libraries",
                "-Wl,--export-all",
                "-Wl,--no-entry",
                "-Wall",
                "-Werror",
                "-msimd128"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-clang-x64"
        }
    ],
    "version": 4
}


Diagnostics logs, grabbed immediately before following the reproduction steps:

> Most of this junk is either from extensions that were manually disabled or unrelated customizations I made for JS development.


-------- Diagnostics - 9/13/2026, 9:34:27 AM
Version: 1.34.4
Current Configuration:
{
    "name": "WebAssembly",
    "includePath": [
        "$PROJECT/"
    ],
    "compilerArgs": [
        "--target=wasm32",
        "--no-standard-libraries",
        "-Wl,--export-all",
        "-Wl,--no-entry",
        "-Wall",
        "-Werror",
        "-msimd128"
    ],
    "defines": [],
    "compilerPath": "/usr/bin/clang",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "linux-clang-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPathInCppPropertiesJson": "/usr/bin/clang",
    "mergeConfigurations": false,
    "recursiveIncludes": {},
    "browse": {
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.loggingLevel": "Debug"
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "*.h": "c",
        "*.svg": "svg",
        "*.{asm,inc,s,nasm,yasm,-----------------------------------------}": "asm-x86-nasm"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.34.3.0
Current database path: $HOME/.cache/vscode-cpptools/d004e617ed0d21d84b6351fcd0c58a45/.browse.VC.db
No active translation units.


Language server logs, gathered while following the reproduction steps:


loggingLevel: 6
LSP: (received) cpptools/preinitialize (id: 1)
LSP: (invoked) cpptools/preinitialize (id: 1)
LSP: Sending response (id: 1)
LSP: (received) cpptools/initialize (id: 2)
LSP: (invoked) cpptools/initialize (id: 2)
cpptools version (TypeScript): 1.34.4
cpptools version (native): 1.34.3.0
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
LSP: Sending response (id: 2)
LSP: (received) cpptools/queryCompilerDefaults (id: 3)
LSP: (received - deferred) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/queryCompilerDefaults (id: 3)
LSP: (received - deferred) cpptools/didChangeVisibleTextEditors
Querying compiler for default C++ language standard using command line: /usr/bin/clang -x c++ -E -dM /dev/null
Detected language standard version: c++17
Querying compiler for default C language standard using command line: /usr/bin/clang -x c -E -dM /dev/null
Detected language standard version: c17
Querying compiler's default target using command line: "/usr/bin/clang" -dumpmachine
Compiler returned default target value: x86_64-pc-linux-gnu
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/clang -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'
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/clang -std=c++17 -m64 -Wp,-v -fno-blocks -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/clang'
LSP: Sending response (id: 3)
Processed c_cpp_properties.json in 0.004947261s
LSP: (received) cpptools/queryCompilerDefaults (id: 4)
LSP: (invoked) cpptools/queryCompilerDefaults (id: 4)
LSP: (received) cpptools/didChangeCppProperties
LSP: Sending response (id: 4)
LSP: (invoked) cpptools/didChangeCppProperties
Compiler info database not connected - skipping load.
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/clang --target=wasm32 --no-standard-libraries -msimd128 -std=c++17 -Wp,-v -fno-blocks -E -dM -x c++ /dev/null
Compiler query command line: /usr/bin/clang --target=wasm32 --no-standard-libraries -msimd128 -std=c17 -Wp,-v -fno-blocks -E -dM -x c /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/usr/bin/clang'
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/clang'
  Folder: $PROJECT will be indexed
  Folder: /usr/lib/llvm-19/lib/clang/19/include will be indexed
Opening code store: $HOME/.cache/vscode-cpptools/d004e617ed0d21d84b6351fcd0c58a45/.browse.VC.db
Code browsing service initialized
LSP: (queued) cpptools/didChangeVisibleTextEditors
LSP: (queued) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Unified Store: Files Initialized (completed)
Done parsing remaining files.
Unified Store: Configuration Initialized (completed)
LSP: (received) cpptools/getDiagnostics (id: 5)
LSP: (invoked) cpptools/getDiagnostics (id: 5)
LSP: Sending response (id: 5)
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Done parsing remaining files.
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) textDocument/didOpen: file://$PROJECT/test.c
LSP: (invoked) textDocument/didOpen: file://$PROJECT/test.c
textDocument/didOpen: file://$PROJECT/test.c
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 6)
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/didChangeActiveEditor: file://$PROJECT/test.c
LSP: (received) cpptools/getDocumentSymbols: file://$PROJECT/test.c (id: 7)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 6)
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Intellisense update pending for: file://$PROJECT/test.c
LSP: (invoked) cpptools/didChangeActiveEditor: file://$PROJECT/test.c
LSP: (invoked) cpptools/getDocumentSymbols: file://$PROJECT/test.c (id: 7)
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: Sending response (id: 6)
LSP: Sending response (id: 7)
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 8)
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 8)
LSP: Sending response (id: 8)
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 9)
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 9)
LSP: Sending response (id: 9)
IntelliSense update scheduled and TU acquisition started for: file://$PROJECT/test.c
LSP: (received) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 10)
LSP: (invoked) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 10)
LSP: Sending response (id: 10)
LSP: (received) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 11)
LSP: (invoked) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 11)
LSP: Sending response (id: 11)
sending compilation args for $PROJECT/test.c
  canonical: /ClangMode /TC /I"$PROJECT" /Clangisystem"/usr/lib/llvm-19/lib/clang/19/include" /D_ILP32=1 /D__ATOMIC_ACQUIRE=2 /D__ATOMIC_ACQ_REL=4 /D__ATOMIC_CONSUME=1 /D__ATOMIC_RELAXED=0 /D__ATOMIC_RELEASE=3 /D__ATOMIC_SEQ_CST=5 /D__BIGGEST_ALIGNMENT__=16 /D__BITINT_MAXWIDTH__=128 /D__BOOL_WIDTH__=8 /D__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__ /D"__CHAR16_TYPE__=unsigned short" /D"__CHAR32_TYPE__=unsigned int" /D__CHAR_BIT__=8 /D__CLANG_ATOMIC_BOOL_LOCK_FREE=2 /D__CLANG_ATOMIC_CHAR16_T_LOCK_FREE=2 /D__CLANG_ATOMIC_CHAR32_T_LOCK_FREE=2 /D__CLANG_ATOMIC_CHAR_LOCK_FREE=2 /D__CLANG_ATOMIC_INT_LOCK_FREE=2 /D__CLANG_ATOMIC_LLONG_LOCK_FREE=2 /D__CLANG_ATOMIC_LONG_LOCK_FREE=2 /D__CLANG_ATOMIC_POINTER_LOCK_FREE=2 /D__CLANG_ATOMIC_SHORT_LOCK_FREE=2 /D__CLANG_ATOMIC_WCHAR_T_LOCK_FREE=2 /D__CONSTANT_CFSTRINGS__=1 /D__DBL_DECIMAL_DIG__=17 /D__DBL_DENORM_MIN__=4.9406564584124654e-324 /D__DBL_DIG__=15 /D__DBL_EPSILON__=2.2204460492503131e-16 /D__DBL_HAS_DENORM__=1 /D__DBL_HAS_INFINITY__=1 /D__DBL_HAS_QUIET_NAN__=1 /D__DBL_MANT_DIG__=53 /D__DBL_MAX_10_EXP__=308 /D__DBL_MAX_EXP__=1024 /D__DBL_MAX__=1.7976931348623157e+308 /D__DBL_MIN_10_EXP__=(-307) /D__DBL_MIN_EXP__=(-1021) /D__DBL_MIN__=2.2250738585072014e-308 /D__DBL_NORM_MAX__=1.7976931348623157e+308 /D__DECIMAL_DIG__=__LDBL_DECIMAL_DIG__ /D__FINITE_MATH_ONLY__=0 /D__FLOAT128__=1 /D__FLT_DECIMAL_DIG__=9 /D__FLT_DENORM_MIN__=1.40129846e-45F /D__FLT_DIG__=6 /D__FLT_EPSILON__=1.19209290e-7F /D__FLT_HAS_DENORM__=1 /D__FLT_HAS_INFINITY__=1 /D__FLT_HAS_QUIET_NAN__=1 /D__FLT_MANT_DIG__=24 /D__FLT_MAX_10_EXP__=38 /D__FLT_MAX_EXP__=128 /D__FLT_MAX__=3.40282347e+38F /D__FLT_MIN_10_EXP__=(-37) /D__FLT_MIN_EXP__=(-125) /D__FLT_MIN__=1.17549435e-38F /D__FLT_NORM_MAX__=3.40282347e+38F /D__FLT_RADIX__=2 /D__FPCLASS_NEGINF=0x0004 /D__FPCLASS_NEGNORMAL=0x0008 /D__FPCLASS_NEGSUBNORMAL=0x0010 /D__FPCLASS_NEGZERO=0x0020 /D__FPCLASS_POSINF=0x0200 /D__FPCLASS_POSNORMAL=0x0100 /D__FPCLASS_POSSUBNORMAL=0x0080 /D__FPCLASS_POSZERO=0x0040 /D__FPCLASS_QNAN=0x0002 /D__FPCLASS_SNAN=0x0001 /D__GCC_ATOMIC_BOOL_LOCK_FREE=2 /D__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 /D__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 /D__GCC_ATOMIC_CHAR_LOCK_FREE=2 /D__GCC_ATOMIC_INT_LOCK_FREE=2 /D__GCC_ATOMIC_LLONG_LOCK_FREE=2 /D__GCC_ATOMIC_LONG_LOCK_FREE=2 /D__GCC_ATOMIC_POINTER_LOCK_FREE=2 /D__GCC_ATOMIC_SHORT_LOCK_FREE=2 /D__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 /D__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 /D__GCC_CONSTRUCTIVE_SIZE=64 /D__GCC_DESTRUCTIVE_SIZE=64 /D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 /D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 /D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 /D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 /D__GNUC_MINOR__=2 /D__GNUC_PATCHLEVEL__=1 /D__GNUC_STDC_INLINE__=1 /D__GNUC__=4 /D__GXX_ABI_VERSION=1002 /D__ILP32__=1 /D__INT16_C_SUFFIX__= /D"__INT16_FMTd__=\"hd\"" /D"__INT16_FMTi__=\"hi\"" /D__INT16_MAX__=32767 /D__INT16_TYPE__=short /D__INT32_C_SUFFIX__= /D"__INT32_FMTd__=\"d\"" /D"__INT32_FMTi__=\"i\"" /D__INT32_MAX__=2147483647 /D__INT32_TYPE__=int /D__INT64_C_SUFFIX__=LL /D"__INT64_FMTd__=\"lld\"" /D"__INT64_FMTi__=\"lli\"" /D__INT64_MAX__=9223372036854775807LL /D"__INT64_TYPE__=long long int" /D__INT8_C_SUFFIX__= /D"__INT8_FMTd__=\"hhd\"" /D"__INT8_FMTi__=\"hhi\"" /D__INT8_MAX__=127 /D"__INT8_TYPE__=signed char" /D__INTMAX_C_SUFFIX__=LL /D"__INTMAX_FMTd__=\"lld\"" /D"__INTMAX_FMTi__=\"lli\"" /D__INTMAX_MAX__=9223372036854775807LL /D"__INTMAX_TYPE__=long long int" /D__INTMAX_WIDTH__=64 /D"__INTPTR_FMTd__=\"ld\"" /D"__INTPTR_FMTi__=\"li\"" /D__INTPTR_MAX__=2147483647L /D"__INTPTR_TYPE__=long int" /D__INTPTR_WIDTH__=32 /D"__INT_FAST16_FMTd__=\"hd\"" /D"__INT_FAST16_FMTi__=\"hi\"" /D__INT_FAST16_MAX__=32767 /D__INT_FAST16_TYPE__=short /D__INT_FAST16_WIDTH__=16 /D"__INT_FAST32_FMTd__=\"d\"" /D"__INT_FAST32_FMTi__=\"i\"" /D__INT_FAST32_MAX__=2147483647 /D__INT_FAST32_TYPE__=int /D__INT_FAST32_WIDTH__=32 /D"__INT_FAST64_FMTd__=\"lld\"" /D"__INT_FAST64_FMTi__=\"lli\"" /D__INT_FAST64_MAX__=9223372036854775807LL /D"__INT_FAST64_TYPE__=long long int" /D__INT_FAST64_WIDTH__=64 /D"__INT_FAST8_FMTd__=\"hhd\"" /D"__INT_FAST8_FMTi__=\"hhi\…
  edge args (364):
    --c
    -I$PROJECT
    --sys_include=/usr/lib/llvm-19/lib/clang/19/include
    -D_ILP32=1
    -D__ATOMIC_ACQUIRE=2
    -D__ATOMIC_ACQ_REL=4
    -D__ATOMIC_CONSUME=1
    -D__ATOMIC_RELAXED=0
    -D__ATOMIC_RELEASE=3
    -D__ATOMIC_SEQ_CST=5
    -D__BIGGEST_ALIGNMENT__=16
    -D__BITINT_MAXWIDTH__=128
    -D__BOOL_WIDTH__=8
    -D__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
    -D__CHAR16_TYPE__=unsigned short
    -D__CHAR32_TYPE__=unsigned int
    -D__CHAR_BIT__=8
    -D__CLANG_ATOMIC_BOOL_LOCK_FREE=2
    -D__CLANG_ATOMIC_CHAR16_T_LOCK_FREE=2
    -D__CLANG_ATOMIC_CHAR32_T_LOCK_FREE=2
    -D__CLANG_ATOMIC_CHAR_LOCK_FREE=2
    -D__CLANG_ATOMIC_INT_LOCK_FREE=2
    -D__CLANG_ATOMIC_LLONG_LOCK_FREE=2
    -D__CLANG_ATOMIC_LONG_LOCK_FREE=2
    -D__CLANG_ATOMIC_POINTER_LOCK_FREE=2
    -D__CLANG_ATOMIC_SHORT_LOCK_FREE=2
    -D__CLANG_ATOMIC_WCHAR_T_LOCK_FREE=2
    -D__CONSTANT_CFSTRINGS__=1
    -D__DBL_DECIMAL_DIG__=17
    -D__DBL_DENORM_MIN__=4.9406564584124654e-324
    -D__DBL_DIG__=15
    -D__DBL_EPSILON__=2.2204460492503131e-16
    -D__DBL_HAS_DENORM__=1
    -D__DBL_HAS_INFINITY__=1
    -D__DBL_HAS_QUIET_NAN__=1
    -D__DBL_MANT_DIG__=53
    -D__DBL_MAX_10_EXP__=308
    -D__DBL_MAX_EXP__=1024
    -D__DBL_MAX__=1.7976931348623157e+308
    -D__DBL_MIN_10_EXP__=(-307)
    -D__DBL_MIN_EXP__=(-1021)
    -D__DBL_MIN__=2.2250738585072014e-308
    -D__DBL_NORM_MAX__=1.7976931348623157e+308
    -D__DECIMAL_DIG__=__LDBL_DECIMAL_DIG__
    -D__FINITE_MATH_ONLY__=0
    -D__FLOAT128__=1
    -D__FLT_DECIMAL_DIG__=9
    -D__FLT_DENORM_MIN__=1.40129846e-45F
    -D__FLT_DIG__=6
    -D__FLT_EPSILON__=1.19209290e-7F
    -D__FLT_HAS_DENORM__=1
    -D__FLT_HAS_INFINITY__=1
    -D__FLT_HAS_QUIET_NAN__=1
    -D__FLT_MANT_DIG__=24
    -D__FLT_MAX_10_EXP__=38
    -D__FLT_MAX_EXP__=128
    -D__FLT_MAX__=3.40282347e+38F
    -D__FLT_MIN_10_EXP__=(-37)
    -D__FLT_MIN_EXP__=(-125)
    -D__FLT_MIN__=1.17549435e-38F
    -D__FLT_NORM_MAX__=3.40282347e+38F
    -D__FLT_RADIX__=2
    -D__FPCLASS_NEGINF=0x0004
    -D__FPCLASS_NEGNORMAL=0x0008
    -D__FPCLASS_NEGSUBNORMAL=0x0010
    -D__FPCLASS_NEGZERO=0x0020
    -D__FPCLASS_POSINF=0x0200
    -D__FPCLASS_POSNORMAL=0x0100
    -D__FPCLASS_POSSUBNORMAL=0x0080
    -D__FPCLASS_POSZERO=0x0040
    -D__FPCLASS_QNAN=0x0002
    -D__FPCLASS_SNAN=0x0001
    -D__GCC_ATOMIC_BOOL_LOCK_FREE=2
    -D__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
    -D__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
    -D__GCC_ATOMIC_CHAR_LOCK_FREE=2
    -D__GCC_ATOMIC_INT_LOCK_FREE=2
    -D__GCC_ATOMIC_LLONG_LOCK_FREE=2
    -D__GCC_ATOMIC_LONG_LOCK_FREE=2
    -D__GCC_ATOMIC_POINTER_LOCK_FREE=2
    -D__GCC_ATOMIC_SHORT_LOCK_FREE=2
    -D__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
    -D__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
    -D__GCC_CONSTRUCTIVE_SIZE=64
    -D__GCC_DESTRUCTIVE_SIZE=64
    -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
    -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
    -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
    -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
    -D__GNUC_MINOR__=2
    -D__GNUC_PATCHLEVEL__=1
    -D__GNUC_STDC_INLINE__=1
    -D__GNUC__=4
    -D__GXX_ABI_VERSION=1002
    -D__ILP32__=1
    -D__INT16_C_SUFFIX__=
    -D__INT16_FMTd__="hd"
    -D__INT16_FMTi__="hi"
    -D__INT16_MAX__=32767
    -D__INT16_TYPE__=short
    -D__INT32_C_SUFFIX__=
    -D__INT32_FMTd__="d"
    -D__INT32_FMTi__="i"
    -D__INT32_MAX__=2147483647
    -D__INT32_TYPE__=int
    -D__INT64_C_SUFFIX__=LL
    -D__INT64_FMTd__="lld"
    -D__INT64_FMTi__="lli"
    -D__INT64_MAX__=9223372036854775807LL
    -D__INT64_TYPE__=long long int
    -D__INT8_C_SUFFIX__=
    -D__INT8_FMTd__="hhd"
    -D__INT8_FMTi__="hhi"
    -D__INT8_MAX__=127
    -D__INT8_TYPE__=signed char
    -D__INTMAX_C_SUFFIX__=LL
    -D__INTMAX_FMTd__="lld"
    -D__INTMAX_FMTi__="lli"
    -D__INTMAX_MAX__=9223372036854775807LL
    -D__INTMAX_TYPE__=long long int
    -D__INTMAX_WIDTH__=64
    -D__INTPTR_FMTd__="ld"
    -D__INTPTR_FMTi__="li"
    -D__INTPTR_MAX__=2147483647L
    -D__INTPTR_TYPE__=long int
    -D__INTPTR_WIDTH__=32
    -D__INT_FAST16_FMTd__="hd"
    -D__INT_FAST16_FMTi__="hi"
    -D__INT_FAST16_MAX__=32767
    -D__INT_FAST16_TYPE__=short
    -D__INT_FAST16_WIDTH__=16
    -D__INT_FAST32_FMTd__="d"
    -D__INT_FAST32_FMTi__="i"
    -D__INT_FAST32_MAX__=2147483647
    -D__INT_FAST32_TYPE__=int
    -D__INT_FAST32_WIDTH__=32
    -D__INT_FAST64_FMTd__="lld"
    -D__INT_FAST64_FMTi__="lli"
    -D__INT_FAST64_MAX__=9223372036854775807LL
    -D__INT_FAST64_TYPE__=long long int
    -D__INT_FAST64_WIDTH__=64
    -D__INT_FAST8_FMTd__="hhd"
    -D__INT_FAST8_FMTi__="hhi"
    -D__INT_FAST8_MAX__=127
    -D__INT_FAST8_TYPE__=signed char
    -D__INT_FAST8_WIDTH__=8
    -D__INT_LEAST16_FMTd__="hd"
    -D__INT_LEAST16_FMTi__="hi"
    -D__INT_LEAST16_MAX__=32767
    -D__INT_LEAST16_TYPE__=short
    -D__INT_LEAST16_WIDTH__=16
    -D__INT_LEAST32_FMTd__="d"
    -D__INT_LEAST32_FMTi__="i"
    -D__INT_LEAST32_MAX__=2147483647
    -D__INT_LEAST32_TYPE__=int
    -D__INT_LEAST32_WIDTH__=32
    -D__INT_LEAST64_FMTd__="lld"
    -D__INT_LEAST64_FMTi__="lli"
    -D__INT_LEAST64_MAX__=9223372036854775807LL
    -D__INT_LEAST64_TYPE__=long long int
    -D__INT_LEAST64_WIDTH__=64
    -D__INT_LEAST8_FMTd__="hhd"
    -D__INT_LEAST8_FMTi__="hhi"
    -D__INT_LEAST8_MAX__=127
    -D__INT_LEAST8_TYPE__=signed char
    -D__INT_LEAST8_WIDTH__=8
    -D__INT_MAX__=2147483647
    -D__INT_WIDTH__=32
    -D__LDBL_DECIMAL_DIG__=36
    -D__LDBL_DENORM_MIN__=6.47517511943802511092443895822764655e-4966L
    -D__LDBL_DIG__=33
    -D__LDBL_EPSILON__=1.92592994438723585305597794258492732e-34L
    -D__LDBL_HAS_DENORM__=1
    -D__LDBL_HAS_INFINITY__=1
    -D__LDBL_HAS_QUIET_NAN__=1
    -D__LDBL_MANT_DIG__=113
    -D__LDBL_MAX_10_EXP__=4932
    -D__LDBL_MAX_EXP__=16384
    -D__LDBL_MAX__=1.18973149535723176508575932662800702e+4932L
    -D__LDBL_MIN_10_EXP__=(-4931)
    -D__LDBL_MIN_EXP__=(-16381)
    -D__LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
    -D__LDBL_NORM_MAX__=1.18973149535723176508575932662800702e+4932L
    -D__LITTLE_ENDIAN__=1
    -D__LLONG_WIDTH__=64
    -D__LONG_LONG_MAX__=9223372036854775807LL
    -D__LONG_MAX__=2147483647L
    -D__LONG_WIDTH__=32
    -D__MEMORY_SCOPE_DEVICE=1
    -D__MEMORY_SCOPE_SINGLE=4
    -D__MEMORY_SCOPE_SYSTEM=0
    -D__MEMORY_SCOPE_WRKGRP=2
    -D__MEMORY_SCOPE_WVFRNT=3
    -D__NO_INLINE__=1
    -D__NO_MATH_ERRNO__=1
    -D__OBJC_BOOL_IS_BOOL=0
    -D__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES=3
    -D__OPENCL_MEMORY_SCOPE_DEVICE=2
    -D__OPENCL_MEMORY_SCOPE_SUB_GROUP=4
    -D__OPENCL_MEMORY_SCOPE_WORK_GROUP=1
    -D__OPENCL_MEMORY_SCOPE_WORK_ITEM=0
    -D__ORDER_BIG_ENDIAN__=4321
    -D__ORDER_LITTLE_ENDIAN__=1234
    -D__ORDER_PDP_ENDIAN__=3412
    -D__POINTER_WIDTH__=32
    -D__PRAGMA_REDEFINE_EXTNAME=1
    -D__PTRDIFF_FMTd__="ld"
    -D__PTRDIFF_FMTi__="li"
    -D__PTRDIFF_MAX__=2147483647L
    -D__PTRDIFF_TYPE__=long int
    -D__PTRDIFF_WIDTH__=32
    -D__SCHAR_MAX__=127
    -D__SHRT_MAX__=32767
    -D__SHRT_WIDTH__=16
    -D__SIG_ATOMIC_MAX__=2147483647L
    -D__SIG_ATOMIC_WIDTH__=32
    -D__SIZEOF_DOUBLE__=8
    -D__SIZEOF_FLOAT__=4
    -D__SIZEOF_INT128__=16
    -D__SIZEOF_INT__=4
    -D__SIZEOF_LONG_DOUBLE__=16
    -D__SIZEOF_LONG_LONG__=8
    -D__SIZEOF_LONG__=4
    -D__SIZEOF_POINTER__=4
    -D__SIZEOF_PTRDIFF_T__=4
    -D__SIZEOF_SHORT__=2
    -D__SIZEOF_SIZE_T__=4
    -D__SIZEOF_WCHAR_T__=4
    -D__SIZEOF_WINT_T__=4
    -D__SIZE_FMTX__="lX"
    -D__SIZE_FMTo__="lo"
    -D__SIZE_FMTu__="lu"
    -D__SIZE_FMTx__="lx"
    -D__SIZE_MAX__=4294967295UL
    -D__SIZE_TYPE__=long unsigned int
    -D__SIZE_WIDTH__=32
    -D__STDC_EMBED_EMPTY__=2
    -D__STDC_EMBED_FOUND__=1
    -D__STDC_EMBED_NOT_FOUND__=0
    -D__STDC_HOSTED__=1
    -D__STDC_UTF_16__=1
    -D__STDC_UTF_32__=1
    -D__STDC_VERSION__=201710L
    -D__STDC__=1
    -D__STRICT_ANSI__=1
    -D__UINT16_C_SUFFIX__=
    -D__UINT16_FMTX__="hX"
    -D__UINT16_FMTo__="ho"
    -D__UINT16_FMTu__="hu"
    -D__UINT16_FMTx__="hx"
    -D__UINT16_MAX__=65535
    -D__UINT16_TYPE__=unsigned short
    -D__UINT32_C_SUFFIX__=U
    -D__UINT32_FMTX__="X"
    -D__UINT32_FMTo__="o"
    -D__UINT32_FMTu__="u"
    -D__UINT32_FMTx__="x"
    -D__UINT32_MAX__=4294967295U
    -D__UINT32_TYPE__=unsigned int
    -D__UINT64_C_SUFFIX__=ULL
    -D__UINT64_FMTX__="llX"
    -D__UINT64_FMTo__="llo"
    -D__UINT64_FMTu__="llu"
    -D__UINT64_FMTx__="llx"
    -D__UINT64_MAX__=18446744073709551615ULL
    -D__UINT64_TYPE__=long long unsigned int
    -D__UINT8_C_SUFFIX__=
    -D__UINT8_FMTX__="hhX"
    -D__UINT8_FMTo__="hho"
    -D__UINT8_FMTu__="hhu"
    -D__UINT8_FMTx__="hhx"
    -D__UINT8_MAX__=255
    -D__UINT8_TYPE__=unsigned char
    -D__UINTMAX_C_SUFFIX__=ULL
    -D__UINTMAX_FMTX__="llX"
    -D__UINTMAX_FMTo__="llo"
    -D__UINTMAX_FMTu__="llu"
    -D__UINTMAX_FMTx__="llx"
    -D__UINTMAX_MAX__=18446744073709551615ULL
    -D__UINTMAX_TYPE__=long long unsigned int
    -D__UINTMAX_WIDTH__=64
    -D__UINTPTR_FMTX__="lX"
    -D__UINTPTR_FMTo__="lo"
    -D__UINTPTR_FMTu__="lu"
    -D__UINTPTR_FMTx__="lx"
    -D__UINTPTR_MAX__=4294967295UL
    -D__UINTPTR_TYPE__=long unsigned int
    -D__UINTPTR_WIDTH__=32
    -D__UINT_FAST16_FMTX__="hX"
    -D__UINT_FAST16_FMTo__="ho"
    -D__UINT_FAST16_FMTu__="hu"
    -D__UINT_FAST16_FMTx__="hx"
    -D__UINT_FAST16_MAX__=65535
    -D__UINT_FAST16_TYPE__=unsigned short
    -D__UINT_FAST32_FMTX__="X"
    -D__UINT_FAST32_FMTo__="o"
    -D__UINT_FAST32_FMTu__="u"
    -D__UINT_FAST32_FMTx__="x"
    -D__UINT_FAST32_MAX__=4294967295U
    -D__UINT_FAST32_TYPE__=unsigned int
    -D__UINT_FAST64_FMTX__="llX"
    -D__UINT_FAST64_FMTo__="llo"
    -D__UINT_FAST64_FMTu__="llu"
    -D__UINT_FAST64_FMTx__="llx"
    -D__UINT_FAST64_MAX__=18446744073709551615ULL
    -D__UINT_FAST64_TYPE__=long long unsigned int
    -D__UINT_FAST8_FMTX__="hhX"
    -D__UINT_FAST8_FMTo__="hho"
    -D__UINT_FAST8_FMTu__="hhu"
    -D__UINT_FAST8_FMTx__="hhx"
    -D__UINT_FAST8_MAX__=255
    -D__UINT_FAST8_TYPE__=unsigned char
    -D__UINT_LEAST16_FMTX__="hX"
    -D__UINT_LEAST16_FMTo__="ho"
    -D__UINT_LEAST16_FMTu__="hu"
    -D__UINT_LEAST16_FMTx__="hx"
    -D__UINT_LEAST16_MAX__=65535
    -D__UINT_LEAST16_TYPE__=unsigned short
    -D__UINT_LEAST32_FMTX__="X"
    -D__UINT_LEAST32_FMTo__="o"
    -D__UINT_LEAST32_FMTu__="u"
    -D__UINT_LEAST32_FMTx__="x"
    -D__UINT_LEAST32_MAX__=4294967295U
    -D__UINT_LEAST32_TYPE__=unsigned int
    -D__UINT_LEAST64_FMTX__="llX"
    -D__UINT_LEAST64_FMTo__="llo"
    -D__UINT_LEAST64_FMTu__="llu"
    -D__UINT_LEAST64_FMTx__="llx"
    -D__UINT_LEAST64_MAX__=18446744073709551615ULL
    -D__UINT_LEAST64_TYPE__=long long unsigned int
    -D__UINT_LEAST8_FMTX__="hhX"
    -D__UINT_LEAST8_FMTo__="hho"
    -D__UINT_LEAST8_FMTu__="hhu"
    -D__UINT_LEAST8_FMTx__="hhx"
    -D__UINT_LEAST8_MAX__=255
    -D__UINT_LEAST8_TYPE__=unsigned char
    -D__USER_LABEL_PREFIX__=
    -D__VERSION__="Debian Clang 19.1.7 (3+b1)"
    -D__WCHAR_MAX__=2147483647
    -D__WCHAR_TYPE__=int
    -D__WCHAR_WIDTH__=32
    -D__WINT_MAX__=2147483647
    -D__WINT_TYPE__=int
    -D__WINT_WIDTH__=32
    -D__clang__=1
    -D__clang_literal_encoding__="UTF-8"
    -D__clang_major__=19
    -D__clang_minor__=1
    -D__clang_patchlevel__=7
    -D__clang_version__="19.1.7 (3+b1)"
    -D__clang_wide_literal_encoding__="UTF-32"
    -D__llvm__=1
    -D__wasm=1
    -D__wasm32=1
    -D__wasm32__=1
    -D__wasm__=1
    -D__wasm_multivalue__=1
    -D__wasm_mutable_globals__=1
    -D__wasm_reference_types__=1
    -D__wasm_sign_ext__=1
    -D__wasm_simd128__=1
    --clang
    --clang_version=190107
    --c17
  intelliSenseMode: linux-clang-x64
Update IntelliSense time (sec): 0.197
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 12)
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 12)
LSP: Sending response (id: 12)
LSP: (received) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 13)
LSP: (invoked) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 13)
LSP: Sending response (id: 13)
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 14)
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 14)
LSP: Sending response (id: 14)
LSP: (received) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 15)
LSP: (invoked) cpptools/getFoldingRanges: file://$PROJECT/test.c (id: 15)
LSP: Sending response (id: 15)
LSP: (received) cpptools/hover: file://$PROJECT/test.c (id: 16)
LSP: (invoked) cpptools/hover: file://$PROJECT/test.c (id: 16)
LSP: Sending response (id: 16)
LSP: (received) textDocument/definition: file://$PROJECT/test.c (id: 17)
LSP: (invoked) textDocument/definition: file://$PROJECT/test.c (id: 17)
LSP: Sending response (id: 17)
LSP: (received) textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) textDocument/didClose: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (invoked) textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/didChangeVisibleTextEditors
textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (invoked) textDocument/didClose: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/hover: file://$PROJECT/test.c (id: 18)
LSP: (invoked) cpptools/hover: file://$PROJECT/test.c (id: 18)
LSP: Sending response (id: 18)
LSP: (received) cpptools/getCodeActions: file://$PROJECT/test.c (id: 19)
LSP: (invoked) cpptools/getCodeActions: file://$PROJECT/test.c (id: 19)
LSP: Sending response (id: 19)
LSP: (received) textDocument/definition: file://$PROJECT/test.c (id: 20)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) textDocument/definition: file://$PROJECT/test.c (id: 20)
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: Sending response (id: 20)
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 21)
textDocument/didOpen: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/didChangeActiveEditor: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/getDocumentSymbols: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 22)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 21)
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Intellisense update pending for: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (invoked) cpptools/didChangeActiveEditor: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (invoked) cpptools/getDocumentSymbols: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 22)
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: Sending response (id: 21)
LSP: Sending response (id: 22)
LSP: (received) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 23)
LSP: (invoked) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 23)
LSP: (received) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 24)
LSP: (invoked) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 24)
LSP: (received) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 25)
LSP: (invoked) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 25)
LSP: Sending response (id: 25)
LSP: $/cancelRequest (cpptools/getCodeActions, id: 24)
LSP: (received) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 26)
LSP: (invoked) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 26)
LSP: (received) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 27)
LSP: (invoked) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 27)
LSP: Sending response (id: 27)
LSP: Sending response (id: 23)
LSP: Sending response (id: 26)
IntelliSense update scheduled and TU acquisition started for: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h
LSP: (received) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 28)
LSP: (invoked) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 28)
LSP: Sending response (id: 28)
Update IntelliSense time (sec): 0.534
LSP: (received) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 29)
LSP: (invoked) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 29)
LSP: Sending response (id: 29)
LSP: (received) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 30)
LSP: (invoked) cpptools/getCodeActions: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 30)
LSP: Sending response (id: 30)
LSP: (received) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 31)
LSP: (invoked) cpptools/getFoldingRanges: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 31)
LSP: Sending response (id: 31)
LSP: (received) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 32)
LSP: (invoked) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 32)
LSP: Sending response (id: 32)
LSP: (received) textDocument/definition: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 33)
LSP: (invoked) textDocument/definition: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 33)
LSP: Sending response (id: 33)
LSP: (received) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 34)
LSP: (invoked) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 34)
LSP: $/cancelRequest (textDocument/documentHighlight, id: 34)
LSP: (received) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 35)
LSP: (invoked) textDocument/documentHighlight: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 35)
LSP: Sending response (id: 35)
LSP: (received) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 36)
LSP: (invoked) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 36)
LSP: Sending response (id: 36)
LSP: (received) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 37)
LSP: (invoked) cpptools/hover: file:///usr/lib/llvm-19/lib/clang/19/include/wasm_simd128.h (id: 37)
LSP: Sending response (id: 37)
Other Extensions

I've confirmed this to occur with all extensions except ms-vscode.cpptools manually disabled.

code $(code --list-extensions | grep -v ms-vscode.cpptools | xargs -I % echo '--disable-extension %')

This is included in the reproduction steps.

Additional context

This particular reproduction is also in part because IntelliSense is incorrectly inferring implicit function declarations, when with "cStandard": "c17", they very, very obviously shouldn't exist. (That was removed starting C99, over 25 years ago.) Also, even if that wouldn't catch it, -Wall implies -Wmost, which implies -Wimplicit, which implies -Wimplicit-function-declaration, and -Wimplicit-function-declaration is supposed to warn on implicit function declarations, and so it should've been caught anyways. I've filed #14768 about "cStandard": "c17" and mentioned the other one in a comment.

主要语言
TypeScript
星标
6.2k
派生
1.7k
平均合并
14 小时 46 分钟
30 天内合并 PR
61

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/vscode-cpptools 的其他 Issue

查看 microsoft/vscode-cpptools 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。