microsoft / vscode-cpptools

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

Intelligent suggestion becomes very slow since v1.13.6, especially in the case of remote development #10405

Open Jamwe opened 1 year ago

Jamwe commented 1 year ago

Type: Bug

After switching to cpptools v1.13.6 and later versions, I need to wait 2~5 seconds before the smart prompt appears. While I do rollback to v1.12.4, the smart prompt will appear in real time. All settings remain unchanged.

Extension version: 1.13.6 VS Code version: Code 1.74.3 (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T16:59:02.252Z) OS version: Windows_NT x64 10.0.19042 Modes: Sandboxed: No Remote OS version: Linux x64 5.4.0-110-generic

System Info |Item|Value| |---|---| |CPUs|11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 1690)| |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_renderer: enabled_on
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off| |Load (avg)|undefined| |Memory (System)|15.75GB (4.99GB free)| |Process Argv|| |Screen Reader|no| |VM|0%| |Item|Value| |---|---| |Remote|SSH: Ubuntu-18| |OS|Linux x64 5.4.0-110-generic| |CPUs|11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (4 x 1689)| |Memory (System)|3.84GB (2.13GB free)| |VM|100%|
alexanderyakuba commented 1 year ago

Same for me. It has become unresponsive since the last update. VS Code version: 1.74.3, need to revert to the previous version.

michelleangela commented 1 year ago

@Jamwe Could you enable the the language server logging and get logs from a start of an instance of VS Code to the remote machine? The logging may show something that could be causing the slow response of IntelliSense (such as slow response of auto complete or hover).

If the slow response is related to the remote connection, then it would be related to the remote extension or VS Code and not the C++ extension.

Jamwe commented 1 year ago

@michelleangela

situation

Here are all the info that the two versions of cpptools output till I input the same word in the same location of the same file.

cpptools-v1.12.4

loggingLevel: Debug cpptools/didChangeCppProperties Attempting to get defaults from C compiler in "compilerPath" property: '/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc' Querying compiler for default C++ language standard using command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -x c++ -E -dM /dev/null Compiler returned default language standard version: gnu++98. Since this version is old, will try to use newer version c++17 as default. Querying compiler for default C language standard using command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -x c -E -dM /dev/null Detected language standard version: c89 Querying compiler's default target using command line: "/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc" -dumpmachine Compiler returned default target value: arm-oe-linux-gnueabi Compiler query command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=softfp -Wa,--noexecstack -fstack-protector -fexpensive-optimizations -frename-registers -fomit-frame-pointer -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -fstack-protector-strong -pie -fpie -Wall -Wextra -Wfatal-errors -Wshadow -Wstrict-prototypes -Wpointer-arith -fmessage-length=0 -std=gnu11 -Wp,-v -E -dM -x c /dev/null Code browsing service initialized Attempting to get defaults from C++ compiler in "compilerPath" property: '/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc' Compiler query command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=softfp -Wa,--noexecstack -fstack-protector -fexpensive-optimizations -frename-registers -fomit-frame-pointer -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -fstack-protector-strong -pie -fpie -Wall -Wextra -Wfatal-errors -Wshadow -Wstrict-prototypes -Wpointer-arith -fmessage-length=0 -std=c++11 -Wp,-v -E -dM -x c++ /dev/null Folder: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/ will be indexed Folder: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include/ will be indexed Folder: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed/ will be indexed Folder: /home/user/workspace/ will be indexed textDocument/didOpen: /home/user/workspace/src/module_a/src/file.c Discovering files... cpptools/textEditorSelectionChange cpptools/activeDocumentChange: /home/user/workspace/src/module_a/src/file.c tag parsing file: /home/user/workspace/src/module_a/src/file.c Processing folder (recursive): /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/ $/setTrace cpptools/didChangeSettings IntelliSense Engine = Default. Enhanced Colorization is enabled. Error squiggles are enabled if all header dependencies are resolved. Autocomplete is enabled. Processing folder (recursive): /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include/ Processing folder (recursive): /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed/ Processing folder (recursive): /home/user/workspace/ $/setTrace cpptools/didChangeSettings IntelliSense Engine = Default. Enhanced Colorization is enabled. Error squiggles are enabled if all header dependencies are resolved. Autocomplete is enabled. $/setTrace cpptools/didChangeSettings IntelliSense Engine = Default. Enhanced Colorization is enabled. Error squiggles are enabled if all header dependencies are resolved. Autocomplete is enabled. cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 2) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 3) cpptools/getDocumentSymbols cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 4) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 5) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 6) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 7) Request canceled: 2 cpptools/getDocumentSymbols cpptools/getDocumentSymbols cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 8) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 9) Discovering files: 32035 file(s) processed 0 file(s) removed from database Done discovering files. Populating include completion cache. Parsing remaining files... Parsing: 0 files(s) processed Done parsing remaining files. cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 10) sending compilation args for /home/user/workspace/src/module_a/src/file.c include: /home/user/workspace/h include: /home/user/workspace/src include: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include include: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed include: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include include: /home/user/workspace/src/module_a/h define: SSP_STRONG=3 define: DBL_MIN_EXP=(-1021) define: HQ_FBIT=15 define: UINT_LEAST16_MAX=65535 define: ARM_SIZEOF_WCHAR_T=4 define: __ATOMIC_ACQUIRE=2 define: SFRACT_IBIT=0 define: FLT_MIN=1.1754943508222875e-38F define: GCC_IEC_559_COMPLEX=2 define: UFRACT_MAX=0XFFFFP-16UR define: UINT_LEAST8_TYPE=unsigned char define: DQ_FBIT=63 define: INTMAX_C(c)=c ## LL define: ARM_FEATURE_SAT=1 define: ULFRACT_FBIT=32 define: SACCUM_EPSILON=0x1P-7HK define: CHAR_BIT=8 define: USQ_IBIT=0 define: UINT8_MAX=255 define: ACCUM_FBIT=15 define: WINT_MAX=4294967295U define: USFRACT_FBIT=8 define: ORDER_LITTLE_ENDIAN=1234 define: SIZE_MAX=4294967295U define: ARM_ARCH_ISA_ARM=1 define: __WCHAR_MAX=4294967295U define: LACCUM_IBIT=32 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: DBL_DENORM_MIN=((double)4.9406564584124654e-324L) define: GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 define: GCC_ATOMIC_CHAR_LOCK_FREE=2 define: GCC_IEC_559=2 define: FLT_EVAL_METHOD=0 define: unix=1 define: LLACCUM_MAX=0X7FFFFFFFFFFFFFFFP-31LLK define: GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 define: __FRACT_FBIT=15 define: UINT_FAST64_MAX=18446744073709551615ULL define: SIG_ATOMIC_TYPE=int define: UACCUM_FBIT=16 define: DBL_MIN_10_EXP=(-307) define: FINITE_MATH_ONLY=0 define: ARMEL=1 define: ARM_FEATURE_UNALIGNED=1 define: LFRACT_IBIT=0 define: GNUC_PATCHLEVEL=3 define: LFRACT_MAX=0X7FFFFFFFP-31LR define: UINT_FAST8_MAX=255 define: DEC64_MAX_EXP=385 define: INT8_C(c)=c define: UINT_LEAST64_MAX=18446744073709551615ULL define: SA_FBIT=15 define: SHRT_MAX=32767 define: LDBL_MAX=1.7976931348623157e+308L define: FRACT_MAX=0X7FFFP-15R define: UFRACT_FBIT=16 define: ARM_FP=12 define: UFRACT_MIN=0.0UR define: UINT_LEAST8_MAX=255 define: GCC_ATOMIC_BOOL_LOCK_FREE=2 define: UINTMAX_TYPE=long long unsigned int define: LLFRACT_EPSILON=0x1P-63LLR define: linux=1 define: DEC32_EPSILON=1E-6DF define: CHAR_UNSIGNED=1 define: UINT32_MAX=4294967295U define: ULFRACT_MAX=0XFFFFFFFFP-32ULR define: TA_IBIT=64 define: LDBL_MAX_EXP=1024 define: WINT_MIN=0U define: linux=1 define: ULLFRACT_MIN=0.0ULLR define: SCHAR_MAX=127 define: WCHAR_MIN=0U define: INT64_C(c)=c ## LL define: DBL_DIG=15 define: ARM_NEON_FP=4 define: GCC_ATOMIC_POINTER_LOCK_FREE=2 define: LLACCUM_MIN=(-0X1P31LLK-0X1P31LLK) define: SIZEOF_INT=4 define: SIZEOF_POINTER=4 define: USACCUM_IBIT=8 define: USER_LABEL_PREFIX= define: STDC_HOSTED=1 define: LDBL_HAS_INFINITY=1 define: LFRACT_MIN=(-0.5LR-0.5LR) define: HA_IBIT=8 define: TQ_IBIT=0 define: FLT_EPSILON=1.1920928955078125e-7F define: APCS_32=1 define: USFRACT_IBIT=0 define: LDBL_MIN=2.2250738585072014e-308L define: STDC_UTF_16=1 define: FRACT_MIN=(-0.5R-0.5R) define: DEC32_MAX=9.999999E96DF define: DA_IBIT=32 define: ARM_SIZEOF_MINIMAL_ENUM=4 define: __INT32_MAX=2147483647 define: UQQ_FBIT=8 define: SIZEOF_LONG=4 define: UACCUM_MAX=0XFFFFFFFFP-16UK define: STDC_IEC_559=1 define: STDC_ISO_10646=201304L define: UINT16_C(c)=c define: DECIMAL_DIG=17 define: LFRACT_EPSILON=0x1P-31LR define: ULFRACT_MIN=0.0ULR define: gnu_linux=1 define: LDBL_HAS_QUIET_NAN=1 define: ULACCUM_IBIT=32 define: UACCUM_EPSILON=0x1P-16UK define: GNUC=4 define: ULLACCUM_MAX=0XFFFFFFFFFFFFFFFFP-32ULLK define: pie=1 define: HQ_IBIT=0 define: FLT_HAS_DENORM=1 define: SIZEOF_LONG_DOUBLE=8 define: BIGGEST_ALIGNMENT=8 define: GNUC_STDC_INLINE=1 define: DQ_IBIT=0 define: DBL_MAX=((double)1.7976931348623157e+308L) define: ULFRACT_IBIT=0 define: INT_FAST32_MAX=2147483647 define: DBL_HAS_INFINITY=1 define: ACCUM_IBIT=16 define: DEC32_MIN_EXP=(-94) define: THUMB_INTERWORK=1 define: LACCUM_MAX=0X7FFFFFFFFFFFFFFFP-31LK define: INT_FAST16_TYPE=int define: LDBL_HAS_DENORM=1 define: ARM_FEATURE_LDREX=15 define: DEC128_MAX=9.999999999999999999999999999999999E6144DL define: INT_LEAST32_MAX=2147483647 define: ARM_PCS=1 define: DEC32_MIN=1E-95DF define: ACCUM_MAX=0X7FFFFFFFP-15K define: DBL_MAX_EXP=1024 define: USACCUM_EPSILON=0x1P-8UHK define: DEC128_EPSILON=1E-33DL define: SFRACT_MAX=0X7FP-7HR define: FRACT_IBIT=0 define: PTRDIFF_MAX=2147483647 define: UACCUM_MIN=0.0UK define: STDC_NO_THREADS=1 define: UACCUM_IBIT=16 define: LONG_LONG_MAX=9223372036854775807LL define: SIZEOF_SIZE_T=4 define: ULACCUM_MAX=0XFFFFFFFFFFFFFFFFP-32ULK define: SIZEOF_WINT_T=4 define: SA_IBIT=16 define: ULLACCUM_MIN=0.0ULLK define: GXX_ABI_VERSION=1002 define: UTA_FBIT=64 define: FLT_MIN_EXP=(-125) define: USFRACT_MAX=0XFFP-8UHR define: UFRACT_IBIT=0 define: ARM_FEATURE_QBIT=1 define: INT_FAST64_TYPE=long long int define: __DBL_MIN=((double)2.2250738585072014e-308L) define: PIE=1 define: LACCUM_MIN=(-0X1P31LK-0X1P31LK) define: ULLACCUM_FBIT=32 define: GXX_TYPEINFO_EQUALITY_INLINE=0 define: __ULLFRACT_EPSILON=0x1P-64ULLR define: DEC128_MIN=1E-6143DL define: REGISTER_PREFIX= define: UINT16_MAX=65535 define: DBL_HAS_DENORM=1 define: ACCUM_MIN=(-0X1P15K-0X1P15K) define: SQ_IBIT=0 define: UINT8_TYPE=unsigned char define: UHA_FBIT=8 define: NO_INLINE=1 define: SFRACT_MIN=(-0.5HR-0.5HR) define: UTQ_FBIT=128 define: FLT_MANT_DIG=24 define: VERSION="4.9.3" define: UINT64_C(c)=c ## ULL define: __ULLFRACT_FBIT=64 define: FRACT_EPSILON=0x1P-15R define: ULACCUM_MIN=0.0ULK define: _STDC_PREDEF_H=1 define: UDA_FBIT=32 define: LLACCUM_EPSILON=0x1P-31LLK define: GCC_ATOMIC_INT_LOCK_FREE=2 define: FLOAT_WORD_ORDER=ORDER_LITTLE_ENDIAN define: USFRACT_MIN=0.0UHR define: UQQ_IBIT=0 define: STDC_IEC_559_COMPLEX=1 define: ARM_NEON=1 define: INT32_C(c)=c define: DEC64_EPSILON=1E-15DD define: ORDER_PDP_ENDIAN=3412 define: DEC128_MIN_EXP=(-6142) define: UHQ_FBIT=16 define: LLACCUM_FBIT=31 define: INT_FAST32_TYPE=int define: UINT_LEAST16_TYPE=short unsigned int define: unix=1 define: INT16_MAX=32767 define: SIZE_TYPE=unsigned int define: UINT64_MAX=18446744073709551615ULL define: UDQ_FBIT=64 define: INT8_TYPE=signed char define: ELF=1 define: ULFRACT_EPSILON=0x1P-32ULR define: LLFRACT_FBIT=63 define: FLT_RADIX=2 define: INT_LEAST16_TYPE=short int define: ARM_ARCH_PROFILE=65 define: __LDBL_EPSILON=2.2204460492503131e-16L define: UINTMAX_C(c)=c ## ULL define: __SACCUM_MAX=0X7FFFP-7HK define: SIG_ATOMIC_MAX=2147483647 define: GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 define: __VFP_FP=1 define: SIZEOF_PTRDIFF_T=4 define: LACCUM_EPSILON=0x1P-31LK define: DEC32_SUBNORMAL_MIN=0.000001E-95DF define: INT_FAST16_MAX=2147483647 define: UINT_FAST32_MAX=4294967295U define: UINT_LEAST64_TYPE=long long unsigned int define: USACCUM_MAX=0XFFFFP-8UHK define: SFRACT_EPSILON=0x1P-7HR define: FLT_HAS_QUIET_NAN=1 define: FLT_MAX_10_EXP=38 define: LONG_MAX=2147483647L define: DEC128_SUBNORMAL_MIN=0.000000000000000000000000000000001E-6143DL define: FLT_HAS_INFINITY=1 define: unix=1 define: USA_FBIT=16 define: UINT_FAST16_TYPE=unsigned int define: DEC64_MAX=9.999999999999999E384DD define: ARM_32BIT_STATE=1 define: CHAR16_TYPE=short unsigned int define: PRAGMA_REDEFINE_EXTNAME=1 define: INT_LEAST16_MAX=32767 define: DEC64_MANT_DIG=16 define: __INT64_MAX=9223372036854775807LL define: UINT_LEAST32_MAX=4294967295U define: SACCUM_FBIT=7 define: GCC_ATOMIC_LONG_LOCK_FREE=2 define: INT_LEAST64_TYPE=long long int define: ARM_FEATURE_CLZ=1 define: INT16_TYPE=short int define: INT_LEAST8_TYPE=signed char define: STDC_VERSION=201112L define: SQ_FBIT=31 define: DEC32_MAX_EXP=97 define: ARM_ARCH_ISA_THUMB=2 define: INT_FAST8_MAX=127 define: __ARM_ARCH=7 define: INTPTR_MAX=2147483647 define: QQ_FBIT=7 define: linux=1 define: UTA_IBIT=64 define: LDBL_MANT_DIG=53 define: SFRACT_FBIT=7 define: SACCUM_MIN=(-0X1P7HK-0X1P7HK) define: DBL_HAS_QUIET_NAN=1 define: SIG_ATOMIC_MIN=(-SIG_ATOMIC_MAX - 1) define: INTPTR_TYPE=int define: UINT16_TYPE=short unsigned int define: WCHAR_TYPE=unsigned int define: SIZEOF_FLOAT=4 define: USQ_FBIT=32 define: pic=1 define: UINTPTR_MAX=4294967295U define: DEC64_MIN_EXP=(-382) define: ULLACCUM_IBIT=32 define: INT_FAST64_MAX=9223372036854775807LL define: GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 define: FLT_DIG=6 define: UINT_FAST64_TYPE=long long unsigned int define: INT_MAX=2147483647 define: LACCUM_FBIT=31 define: USACCUM_MIN=0.0UHK define: UHA_IBIT=8 define: INT64_TYPE=long long int define: FLT_MAX_EXP=128 define: UTQ_IBIT=0 define: DBL_MANT_DIG=53 define: INT_LEAST64_MAX=9223372036854775807LL define: GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 define: DEC64_MIN=1E-383DD define: WINT_TYPE=unsigned int define: UINT_LEAST32_TYPE=unsigned int define: SIZEOF_SHORT=2 define: ULLFRACT_IBIT=0 define: LDBL_MIN_EXP=(-1021) define: arm=1 define: UDA_IBIT=32 define: INT_LEAST8_MAX=127 define: LFRACT_FBIT=31 define: ARM_ARCH_7A=1 define: LDBL_MAX_10_EXP=308 define: ATOMIC_RELAXED=0 define: DBL_EPSILON=((double)2.2204460492503131e-16L) define: ARM_FEATURE_SIMD32=1 define: __UINT8_C(c)=c define: INT_LEAST32_TYPE=int define: SIZEOF_WCHAR_T=4 define: UINT64_TYPE=long long unsigned int define: ARM_NEON=1 define: LLFRACT_MAX=0X7FFFFFFFFFFFFFFFP-63LLR define: TQ_FBIT=127 define: INT_FAST8_TYPE=signed char define: ULLACCUM_EPSILON=0x1P-32ULLK define: UHQ_IBIT=0 define: LLACCUM_IBIT=32 define: DBL_DECIMAL_DIG=17 define: STDC_UTF_32=1 define: DEC_EVAL_METHOD=2 define: TA_FBIT=63 define: UDQ_IBIT=0 define: ORDER_BIG_ENDIAN=4321 define: ACCUM_EPSILON=0x1P-15K define: UINT32_C(c)=c ## U define: __INTMAX_MAX=9223372036854775807LL define: BYTE_ORDER=ORDER_LITTLE_ENDIAN define: FLT_DENORM_MIN=1.4012984643248171e-45F define: LLFRACT_IBIT=0 define: INT8_MAX=127 define: PIC=1 define: UINT_FAST32_TYPE=unsigned int define: CHAR32_TYPE=unsigned int define: FLT_MAX=3.4028234663852886e+38F define: USACCUM_FBIT=8 define: INT32_TYPE=int define: SIZEOF_DOUBLE=8 define: FLT_MIN_10_EXP=(-37) define: UFRACT_EPSILON=0x1P-16UR define: INTMAX_TYPE=long long int define: DEC128_MAX_EXP=6145 define: ATOMIC_CONSUME=1 define: GNUC_MINOR=9 define: UINTMAX_MAX=18446744073709551615ULL define: DEC32_MANT_DIG=7 define: HA_FBIT=7 define: DBL_MAX_10_EXP=308 define: LDBL_DENORM_MIN=4.9406564584124654e-324L define: INT16_C(c)=c define: STDC=1 define: PTRDIFF_TYPE=int define: LLFRACT_MIN=(-0.5LLR-0.5LLR) define: ATOMIC_SEQ_CST=5 define: DA_FBIT=31 define: UINT32_TYPE=unsigned int define: UINTPTR_TYPE=unsigned int define: USA_IBIT=16 define: DEC64_SUBNORMAL_MIN=0.000000000000001E-383DD define: ARM_EABI=1 define: DEC128_MANT_DIG=34 define: LDBL_MIN_10_EXP=(-307) define: SIZEOF_LONG_LONG=8 define: ULACCUM_EPSILON=0x1P-32ULK define: SACCUM_IBIT=8 define: GCC_ATOMIC_LLONG_LOCK_FREE=2 define: LDBL_DIG=15 define: FLT_DECIMAL_DIG=9 define: UINT_FAST16_MAX=4294967295U define: GCC_ATOMIC_SHORT_LOCK_FREE=2 define: __ULLFRACT_MAX=0XFFFFFFFFFFFFFFFFP-64ULLR define: UINT_FAST8_TYPE=unsigned char define: USFRACT_EPSILON=0x1P-8UHR define: ULACCUM_FBIT=32 define: ARM_FEATURE_DSP=1 define: QQ_IBIT=0 define: ATOMIC_ACQ_REL=4 define: __ATOMIC_RELEASE=3 define: PLATFORM_LINUX define: _GNU_SOURCE define: _REENTRANT preinclude: /home/user/workspace/h/buildconfig.h preinclude: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/vendor-features-config.h other: --gcc other: --gnu_version=40903 stdver: c11 intelliSenseMode: linux-gcc-arm Checking for syntax errors: /home/user/workspace/src/module_a/src/file.c Queueing IntelliSense update for files in translation unit of: /home/user/workspace/src/module_a/src/file.c cpptools/finishUpdateSquiggles Error squiggle count: 0 Update IntelliSense time (sec): 2.034 cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 11) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 12) Custom configuration provider 'CMake Tools' registered cpptools/didChangeCppProperties cpptools/clearCustomConfigurations textDocument/hover: /home/user/workspace/src/module_a/src/file.c (id: 13) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/completion: /home/user/workspace/src/module_a/src/file.c (id: 14) auto_complete::handle_completion: file:///home/user/workspace/src/module_a/src/file.c (83:3) Offering completion sending 1 changes to server cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 15) cpptools/getDocumentSymbols completionItem/resolve (id: 16) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 17) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 18) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 19) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/completion: /home/user/workspace/src/module_a/src/file.c (id: 20) auto_complete::handle_completion: file:///home/user/workspace/src/module_a/src/file.c (83:4) Offering completion sending 1 changes to server cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 21) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/completion: /home/user/workspace/src/module_a/src/file.c (id: 22) auto_complete::handle_completion: file:///home/user/workspace/src/module_a/src/file.c (83:5) Offering completion sending 1 changes to server Request canceled: 15 cpptools/getDocumentSymbols cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 23) completionItem/resolve (id: 24) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 25) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 26) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 27) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 28) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 29) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 30) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 31) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 32) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 33) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/signatureHelp: /home/user/workspace/src/module_a/src/file.c (id: 34) sending 1 changes to server sending 1 changes to server cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 35) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 36) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 37) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 38) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 39) Checking for syntax errors: /home/user/workspace/src/module_a/src/file.c tag parsing file: /home/user/workspace/src/module_a/src/file.c Queueing IntelliSense update for files in translation unit of: /home/user/workspace/src/module_a/src/file.c cpptools/getDocumentSymbols Request canceled: 21 cpptools/getDocumentSymbols Request canceled: 23 cpptools/getDocumentSymbols cpptools/getDocumentSymbols Request canceled: 28 cpptools/getDocumentSymbols cpptools/getDocumentSymbols cpptools/getDocumentSymbols cpptools/finishUpdateSquiggles Error squiggle count: 2 Update IntelliSense time (sec): 5.135 cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 40) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 41) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 42)

cpptools-v1.13.9

loggingLevel: Debug cpptools/didChangeCppProperties Code browsing service initialized Attempting to get defaults from C++ compiler in "compilerPath" property: '/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc' Querying compiler for default C++ language standard using command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -x c++ -E -dM /dev/null Compiler returned default language standard version: gnu++98. Since this version is old, will try to use newer version c++17 as default. Querying compiler for default C language standard using command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -x c -E -dM /dev/null Detected language standard version: c89 Querying compiler's default target using command line: "/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc" -dumpmachine Compiler returned default target value: arm-oe-linux-gnueabi Compiler query command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=softfp -Wa,--noexecstack -fstack-protector -fexpensive-optimizations -frename-registers -fomit-frame-pointer -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -fstack-protector-strong -pie -fpie -Wall -Wextra -Wfatal-errors -Wshadow -Wstrict-prototypes -Wpointer-arith -fmessage-length=0 -std=c++11 -Wp,-v -E -dM -x c++ /dev/null Attempting to get defaults from C compiler in "compilerPath" property: '/opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc' Compiler query command line: /opt/crosstool/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=softfp -Wa,--noexecstack -fstack-protector -fexpensive-optimizations -frename-registers -fomit-frame-pointer -ftree-vectorize -finline-functions -finline-limit=64 -Wno-error=maybe-uninitialized -Wno-error=unused-result -fstack-protector-strong -pie -fpie -Wall -Wextra -Wfatal-errors -Wshadow -Wstrict-prototypes -Wpointer-arith -fmessage-length=0 -std=gnu11 -Wp,-v -E -dM -x c /dev/null Folder: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/ will be indexed Folder: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include/ will be indexed Folder: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed/ will be indexed Folder: /home/user/workspace/ will be indexed Discovering files... textDocument/didOpen: /home/user/workspace/src/module_a/src/file.c Processing folder (recursive): /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/ cpptools/textEditorSelectionChange cpptools/activeDocumentChange: /home/user/workspace/src/module_a/src/file.c cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 2) cpptools/getDocumentSymbols cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 3) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 4) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 5) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 6) Request canceled: 2 cpptools/getDocumentSymbols Processing folder (recursive): /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include/ Processing folder (recursive): /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed/ Processing folder (recursive): /home/user/workspace/ Checking for syntax errors: /home/user/workspace/src/module_a/src/file.c cpptools/getDocumentSymbols cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 7) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 8) Discovering files: 32035 file(s) processed 0 file(s) removed from database Done discovering files. Populating include completion cache. Parsing remaining files... Parsing: 0 files(s) processed Done parsing remaining files. cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 9) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 10) sending compilation args for /home/user/workspace/src/module_a/src/file.c include: /home/user/workspace/h include: /home/user/workspace/src include: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include include: /opt/crosstool/x86_64-oesdk-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.3/include-fixed include: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include include: /home/user/workspace/src/module_a/h define: SSP_STRONG=3 define: DBL_MIN_EXP=(-1021) define: HQ_FBIT=15 define: UINT_LEAST16_MAX=65535 define: ARM_SIZEOF_WCHAR_T=4 define: __ATOMIC_ACQUIRE=2 define: SFRACT_IBIT=0 define: FLT_MIN=1.1754943508222875e-38F define: GCC_IEC_559_COMPLEX=2 define: UFRACT_MAX=0XFFFFP-16UR define: UINT_LEAST8_TYPE=unsigned char define: DQ_FBIT=63 define: INTMAX_C(c)=c ## LL define: ARM_FEATURE_SAT=1 define: ULFRACT_FBIT=32 define: SACCUM_EPSILON=0x1P-7HK define: CHAR_BIT=8 define: USQ_IBIT=0 define: UINT8_MAX=255 define: ACCUM_FBIT=15 define: WINT_MAX=4294967295U define: USFRACT_FBIT=8 define: ORDER_LITTLE_ENDIAN=1234 define: SIZE_MAX=4294967295U define: ARM_ARCH_ISA_ARM=1 define: __WCHAR_MAX=4294967295U define: LACCUM_IBIT=32 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: DBL_DENORM_MIN=((double)4.9406564584124654e-324L) define: GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 define: GCC_ATOMIC_CHAR_LOCK_FREE=2 define: GCC_IEC_559=2 define: FLT_EVAL_METHOD=0 define: unix=1 define: LLACCUM_MAX=0X7FFFFFFFFFFFFFFFP-31LLK define: GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 define: __FRACT_FBIT=15 define: UINT_FAST64_MAX=18446744073709551615ULL define: SIG_ATOMIC_TYPE=int define: UACCUM_FBIT=16 define: DBL_MIN_10_EXP=(-307) define: FINITE_MATH_ONLY=0 define: ARMEL=1 define: ARM_FEATURE_UNALIGNED=1 define: LFRACT_IBIT=0 define: GNUC_PATCHLEVEL=3 define: LFRACT_MAX=0X7FFFFFFFP-31LR define: UINT_FAST8_MAX=255 define: DEC64_MAX_EXP=385 define: INT8_C(c)=c define: UINT_LEAST64_MAX=18446744073709551615ULL define: SA_FBIT=15 define: SHRT_MAX=32767 define: LDBL_MAX=1.7976931348623157e+308L define: FRACT_MAX=0X7FFFP-15R define: UFRACT_FBIT=16 define: ARM_FP=12 define: UFRACT_MIN=0.0UR define: UINT_LEAST8_MAX=255 define: GCC_ATOMIC_BOOL_LOCK_FREE=2 define: UINTMAX_TYPE=long long unsigned int define: LLFRACT_EPSILON=0x1P-63LLR define: linux=1 define: DEC32_EPSILON=1E-6DF define: CHAR_UNSIGNED=1 define: UINT32_MAX=4294967295U define: ULFRACT_MAX=0XFFFFFFFFP-32ULR define: TA_IBIT=64 define: LDBL_MAX_EXP=1024 define: WINT_MIN=0U define: linux=1 define: ULLFRACT_MIN=0.0ULLR define: SCHAR_MAX=127 define: WCHAR_MIN=0U define: INT64_C(c)=c ## LL define: DBL_DIG=15 define: ARM_NEON_FP=4 define: GCC_ATOMIC_POINTER_LOCK_FREE=2 define: LLACCUM_MIN=(-0X1P31LLK-0X1P31LLK) define: SIZEOF_INT=4 define: SIZEOF_POINTER=4 define: USACCUM_IBIT=8 define: USER_LABEL_PREFIX= define: STDC_HOSTED=1 define: LDBL_HAS_INFINITY=1 define: LFRACT_MIN=(-0.5LR-0.5LR) define: HA_IBIT=8 define: TQ_IBIT=0 define: FLT_EPSILON=1.1920928955078125e-7F define: APCS_32=1 define: USFRACT_IBIT=0 define: LDBL_MIN=2.2250738585072014e-308L define: STDC_UTF_16=1 define: FRACT_MIN=(-0.5R-0.5R) define: DEC32_MAX=9.999999E96DF define: DA_IBIT=32 define: ARM_SIZEOF_MINIMAL_ENUM=4 define: __INT32_MAX=2147483647 define: UQQ_FBIT=8 define: SIZEOF_LONG=4 define: UACCUM_MAX=0XFFFFFFFFP-16UK define: STDC_IEC_559=1 define: STDC_ISO_10646=201304L define: UINT16_C(c)=c define: DECIMAL_DIG=17 define: LFRACT_EPSILON=0x1P-31LR define: ULFRACT_MIN=0.0ULR define: gnu_linux=1 define: LDBL_HAS_QUIET_NAN=1 define: ULACCUM_IBIT=32 define: UACCUM_EPSILON=0x1P-16UK define: GNUC=4 define: ULLACCUM_MAX=0XFFFFFFFFFFFFFFFFP-32ULLK define: pie=1 define: HQ_IBIT=0 define: FLT_HAS_DENORM=1 define: SIZEOF_LONG_DOUBLE=8 define: BIGGEST_ALIGNMENT=8 define: GNUC_STDC_INLINE=1 define: DQ_IBIT=0 define: DBL_MAX=((double)1.7976931348623157e+308L) define: ULFRACT_IBIT=0 define: INT_FAST32_MAX=2147483647 define: DBL_HAS_INFINITY=1 define: ACCUM_IBIT=16 define: DEC32_MIN_EXP=(-94) define: THUMB_INTERWORK=1 define: LACCUM_MAX=0X7FFFFFFFFFFFFFFFP-31LK define: INT_FAST16_TYPE=int define: LDBL_HAS_DENORM=1 define: ARM_FEATURE_LDREX=15 define: DEC128_MAX=9.999999999999999999999999999999999E6144DL define: INT_LEAST32_MAX=2147483647 define: ARM_PCS=1 define: DEC32_MIN=1E-95DF define: ACCUM_MAX=0X7FFFFFFFP-15K define: DBL_MAX_EXP=1024 define: USACCUM_EPSILON=0x1P-8UHK define: DEC128_EPSILON=1E-33DL define: SFRACT_MAX=0X7FP-7HR define: FRACT_IBIT=0 define: PTRDIFF_MAX=2147483647 define: UACCUM_MIN=0.0UK define: STDC_NO_THREADS=1 define: UACCUM_IBIT=16 define: LONG_LONG_MAX=9223372036854775807LL define: SIZEOF_SIZE_T=4 define: ULACCUM_MAX=0XFFFFFFFFFFFFFFFFP-32ULK define: SIZEOF_WINT_T=4 define: SA_IBIT=16 define: ULLACCUM_MIN=0.0ULLK define: GXX_ABI_VERSION=1002 define: UTA_FBIT=64 define: FLT_MIN_EXP=(-125) define: USFRACT_MAX=0XFFP-8UHR define: UFRACT_IBIT=0 define: ARM_FEATURE_QBIT=1 define: INT_FAST64_TYPE=long long int define: __DBL_MIN=((double)2.2250738585072014e-308L) define: PIE=1 define: LACCUM_MIN=(-0X1P31LK-0X1P31LK) define: ULLACCUM_FBIT=32 define: GXX_TYPEINFO_EQUALITY_INLINE=0 define: __ULLFRACT_EPSILON=0x1P-64ULLR define: DEC128_MIN=1E-6143DL define: REGISTER_PREFIX= define: UINT16_MAX=65535 define: DBL_HAS_DENORM=1 define: ACCUM_MIN=(-0X1P15K-0X1P15K) define: SQ_IBIT=0 define: UINT8_TYPE=unsigned char define: UHA_FBIT=8 define: NO_INLINE=1 define: SFRACT_MIN=(-0.5HR-0.5HR) define: UTQ_FBIT=128 define: FLT_MANT_DIG=24 define: VERSION="4.9.3" define: UINT64_C(c)=c ## ULL define: __ULLFRACT_FBIT=64 define: FRACT_EPSILON=0x1P-15R define: ULACCUM_MIN=0.0ULK define: _STDC_PREDEF_H=1 define: UDA_FBIT=32 define: LLACCUM_EPSILON=0x1P-31LLK define: GCC_ATOMIC_INT_LOCK_FREE=2 define: FLOAT_WORD_ORDER=ORDER_LITTLE_ENDIAN define: USFRACT_MIN=0.0UHR define: UQQ_IBIT=0 define: STDC_IEC_559_COMPLEX=1 define: ARM_NEON=1 define: INT32_C(c)=c define: DEC64_EPSILON=1E-15DD define: ORDER_PDP_ENDIAN=3412 define: DEC128_MIN_EXP=(-6142) define: UHQ_FBIT=16 define: LLACCUM_FBIT=31 define: INT_FAST32_TYPE=int define: UINT_LEAST16_TYPE=short unsigned int define: unix=1 define: INT16_MAX=32767 define: SIZE_TYPE=unsigned int define: UINT64_MAX=18446744073709551615ULL define: UDQ_FBIT=64 define: INT8_TYPE=signed char define: ELF=1 define: ULFRACT_EPSILON=0x1P-32ULR define: LLFRACT_FBIT=63 define: FLT_RADIX=2 define: INT_LEAST16_TYPE=short int define: ARM_ARCH_PROFILE=65 define: __LDBL_EPSILON=2.2204460492503131e-16L define: UINTMAX_C(c)=c ## ULL define: __SACCUM_MAX=0X7FFFP-7HK define: SIG_ATOMIC_MAX=2147483647 define: GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 define: __VFP_FP=1 define: SIZEOF_PTRDIFF_T=4 define: LACCUM_EPSILON=0x1P-31LK define: DEC32_SUBNORMAL_MIN=0.000001E-95DF define: INT_FAST16_MAX=2147483647 define: UINT_FAST32_MAX=4294967295U define: UINT_LEAST64_TYPE=long long unsigned int define: USACCUM_MAX=0XFFFFP-8UHK define: SFRACT_EPSILON=0x1P-7HR define: FLT_HAS_QUIET_NAN=1 define: FLT_MAX_10_EXP=38 define: LONG_MAX=2147483647L define: DEC128_SUBNORMAL_MIN=0.000000000000000000000000000000001E-6143DL define: FLT_HAS_INFINITY=1 define: unix=1 define: USA_FBIT=16 define: UINT_FAST16_TYPE=unsigned int define: DEC64_MAX=9.999999999999999E384DD define: ARM_32BIT_STATE=1 define: CHAR16_TYPE=short unsigned int define: PRAGMA_REDEFINE_EXTNAME=1 define: INT_LEAST16_MAX=32767 define: DEC64_MANT_DIG=16 define: __INT64_MAX=9223372036854775807LL define: UINT_LEAST32_MAX=4294967295U define: SACCUM_FBIT=7 define: GCC_ATOMIC_LONG_LOCK_FREE=2 define: INT_LEAST64_TYPE=long long int define: ARM_FEATURE_CLZ=1 define: INT16_TYPE=short int define: INT_LEAST8_TYPE=signed char define: STDC_VERSION=201112L define: SQ_FBIT=31 define: DEC32_MAX_EXP=97 define: ARM_ARCH_ISA_THUMB=2 define: INT_FAST8_MAX=127 define: __ARM_ARCH=7 define: INTPTR_MAX=2147483647 define: QQ_FBIT=7 define: linux=1 define: UTA_IBIT=64 define: LDBL_MANT_DIG=53 define: SFRACT_FBIT=7 define: SACCUM_MIN=(-0X1P7HK-0X1P7HK) define: DBL_HAS_QUIET_NAN=1 define: SIG_ATOMIC_MIN=(-SIG_ATOMIC_MAX - 1) define: INTPTR_TYPE=int define: UINT16_TYPE=short unsigned int define: WCHAR_TYPE=unsigned int define: SIZEOF_FLOAT=4 define: USQ_FBIT=32 define: pic=1 define: UINTPTR_MAX=4294967295U define: DEC64_MIN_EXP=(-382) define: ULLACCUM_IBIT=32 define: INT_FAST64_MAX=9223372036854775807LL define: GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 define: FLT_DIG=6 define: UINT_FAST64_TYPE=long long unsigned int define: INT_MAX=2147483647 define: LACCUM_FBIT=31 define: USACCUM_MIN=0.0UHK define: UHA_IBIT=8 define: INT64_TYPE=long long int define: FLT_MAX_EXP=128 define: UTQ_IBIT=0 define: DBL_MANT_DIG=53 define: INT_LEAST64_MAX=9223372036854775807LL define: GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 define: DEC64_MIN=1E-383DD define: WINT_TYPE=unsigned int define: UINT_LEAST32_TYPE=unsigned int define: SIZEOF_SHORT=2 define: ULLFRACT_IBIT=0 define: LDBL_MIN_EXP=(-1021) define: arm=1 define: UDA_IBIT=32 define: INT_LEAST8_MAX=127 define: LFRACT_FBIT=31 define: ARM_ARCH_7A=1 define: LDBL_MAX_10_EXP=308 define: ATOMIC_RELAXED=0 define: DBL_EPSILON=((double)2.2204460492503131e-16L) define: ARM_FEATURE_SIMD32=1 define: __UINT8_C(c)=c define: INT_LEAST32_TYPE=int define: SIZEOF_WCHAR_T=4 define: UINT64_TYPE=long long unsigned int define: ARM_NEON=1 define: LLFRACT_MAX=0X7FFFFFFFFFFFFFFFP-63LLR define: TQ_FBIT=127 define: INT_FAST8_TYPE=signed char define: ULLACCUM_EPSILON=0x1P-32ULLK define: UHQ_IBIT=0 define: LLACCUM_IBIT=32 define: DBL_DECIMAL_DIG=17 define: STDC_UTF_32=1 define: DEC_EVAL_METHOD=2 define: TA_FBIT=63 define: UDQ_IBIT=0 define: ORDER_BIG_ENDIAN=4321 define: ACCUM_EPSILON=0x1P-15K define: UINT32_C(c)=c ## U define: __INTMAX_MAX=9223372036854775807LL define: BYTE_ORDER=ORDER_LITTLE_ENDIAN define: FLT_DENORM_MIN=1.4012984643248171e-45F define: LLFRACT_IBIT=0 define: INT8_MAX=127 define: PIC=1 define: UINT_FAST32_TYPE=unsigned int define: CHAR32_TYPE=unsigned int define: FLT_MAX=3.4028234663852886e+38F define: USACCUM_FBIT=8 define: INT32_TYPE=int define: SIZEOF_DOUBLE=8 define: FLT_MIN_10_EXP=(-37) define: UFRACT_EPSILON=0x1P-16UR define: INTMAX_TYPE=long long int define: DEC128_MAX_EXP=6145 define: ATOMIC_CONSUME=1 define: GNUC_MINOR=9 define: UINTMAX_MAX=18446744073709551615ULL define: DEC32_MANT_DIG=7 define: HA_FBIT=7 define: DBL_MAX_10_EXP=308 define: LDBL_DENORM_MIN=4.9406564584124654e-324L define: INT16_C(c)=c define: STDC=1 define: PTRDIFF_TYPE=int define: LLFRACT_MIN=(-0.5LLR-0.5LLR) define: ATOMIC_SEQ_CST=5 define: DA_FBIT=31 define: UINT32_TYPE=unsigned int define: UINTPTR_TYPE=unsigned int define: USA_IBIT=16 define: DEC64_SUBNORMAL_MIN=0.000000000000001E-383DD define: ARM_EABI=1 define: DEC128_MANT_DIG=34 define: LDBL_MIN_10_EXP=(-307) define: SIZEOF_LONG_LONG=8 define: ULACCUM_EPSILON=0x1P-32ULK define: SACCUM_IBIT=8 define: GCC_ATOMIC_LLONG_LOCK_FREE=2 define: LDBL_DIG=15 define: FLT_DECIMAL_DIG=9 define: UINT_FAST16_MAX=4294967295U define: GCC_ATOMIC_SHORT_LOCK_FREE=2 define: __ULLFRACT_MAX=0XFFFFFFFFFFFFFFFFP-64ULLR define: UINT_FAST8_TYPE=unsigned char define: USFRACT_EPSILON=0x1P-8UHR define: ULACCUM_FBIT=32 define: ARM_FEATURE_DSP=1 define: QQ_IBIT=0 define: ATOMIC_ACQ_REL=4 define: __ATOMIC_RELEASE=3 define: PLATFORM_LINUX define: _GNU_SOURCE define: _REENTRANT preinclude: /home/user/workspace/h/buildconfig.h preinclude: /opt/crosstool/armv7a-vfp-neon-oe-linux-gnueabi/usr/include/vendor-features-config.h other: --gcc other: --gnu_version=40903 stdver: c11 intelliSenseMode: linux-gcc-arm Checking for syntax errors: /home/user/workspace/src/module_a/src/file.c Queueing IntelliSense update for files in translation unit of: /home/user/workspace/src/module_a/src/file.c cpptools/finishUpdateSquiggles Error squiggle count: 0 Update IntelliSense time (sec): 3.112 cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 11) Custom configuration provider 'CMake Tools' registered cpptools/didChangeCppProperties cpptools/clearCustomConfigurations textDocument/hover: /home/user/workspace/src/module_a/src/file.c (id: 12) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/completion: /home/user/workspace/src/module_a/src/file.c (id: 13) auto_complete::handle_completion: file:///home/user/workspace/src/module_a/src/file.c (83:3) Offering completion sending 1 changes to server cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 14) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 15) cpptools/getDocumentSymbols Request canceled: 14 cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 16) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 17) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/getDocumentSymbols cpptools/textEditorSelectionChange cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 18) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 19) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 20) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 21) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 22) textDocument/completion: /home/user/workspace/src/module_a/src/file.c (id: 23) auto_complete::handle_completion: file:///home/user/workspace/src/module_a/src/file.c (83:6) Offering completion sending 1 changes to server sending 1 changes to server sending 1 changes to server completionItem/resolve (id: 24) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 25) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 26) textDocument/didChange: /home/user/workspace/src/module_a/src/file.c cpptools/textEditorSelectionChange textDocument/signatureHelp: /home/user/workspace/src/module_a/src/file.c (id: 27) sending 1 changes to server cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 28) cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 29) cpptools/getDocumentSymbols: /home/user/workspace/src/module_a/src/file.c (id: 30) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 31) cpptools/getInlayHints: /home/user/workspace/src/module_a/src/file.c (id: 32) Checking for syntax errors: /home/user/workspace/src/module_a/src/file.c tag parsing file: /home/user/workspace/src/module_a/src/file.c Queueing IntelliSense update for files in translation unit of: /home/user/workspace/src/module_a/src/file.c cpptools/getDocumentSymbols Request canceled: 17 cpptools/getDocumentSymbols Request canceled: 18 cpptools/getDocumentSymbols Request canceled: 19 cpptools/getDocumentSymbols cpptools/getDocumentSymbols cpptools/finishUpdateSquiggles Error squiggle count: 2 Update IntelliSense time (sec): 5.454 cpptools/getDocumentSymbols cpptools/getCodeActions: /home/user/workspace/src/module_a/src/file.c (id: 33) cpptools/getFoldingRanges: /home/user/workspace/src/module_a/src/file.c (id: 34) cpptools/getSemanticTokens: /home/user/workspace/src/module_a/src/file.c (id: 35) textDocument/hover: /home/user/workspace/src/module_a/src/file.c (id: 36)

Jamwe commented 1 year ago

@michelleangela In addition, the following two cases (variadic macros with gcc extension and comments contain backslashes) will cause parsing errors in the v1.13.9 of cpptools. image 2 1

sean-mcmanus commented 1 year ago

@Jamwe Is your issue https://github.com/microsoft/vscode-cpptools/issues/8348 ? Otherwise, a new issue should be opened to track the incorrect squiggles.

Jamwe commented 1 year ago

@Jamwe Is your issue #8348 ? Otherwise, a new issue should be opened to track the incorrect squiggles.

@michelleangela In addition, the following two cases (variadic macros with gcc extension and comments contain backslashes) will cause parsing errors in the v1.13.9 of cpptools. image 2 1

Actually, #8348 is not mine. The contents shown in the above picture are two types of error prompts that I accidentally found when capturing logs. They are here to provide developers with some additional information so that they can track this problem.

auxermen commented 1 year ago

Same here, Intellisense is extremely slow if it even works, reverting to v1.12.4 helped

sean-mcmanus commented 1 year ago

Our team has not yet been able to repro an IntelliSense regression with 1.13.6+. The repro might require something particular.

Jamwe commented 1 year ago

Our team has not yet been able to repro an IntelliSense regression with 1.13.6+. The repro might require something particular.

It's so weird. Even if all configurations in settings.json are cleared, or VSCode is reinstalled after uninstallation, I will encounter this problem.

ChrisKimZHT commented 1 year ago

Our team has not yet been able to repro an IntelliSense regression with 1.13.6+. The repro might require something particular.

I have tried uninstall VSCode and reinstalled it but still have this problem.

I also tried different WSL2 OS and found both CentOS 7 and Ubuntu 22.04 can reproduce this problem.

sean-mcmanus commented 1 year ago

@ChrisKimZHT How many seconds is completion taking for you? Are you able to construct some worst case scenario that takes a really long time, like >5 seconds?

ChrisKimZHT commented 1 year ago

@sean-mcmanus In my case, it takes about 2 seconds to wait the auto complete prompt pop out and I can't construct any worst case.

sean-mcmanus commented 1 year ago

We are not able to detect any completion performance regression between 1.11 to 1.14 -- so we do not currently believe this is a widespread problem. 2-5 seconds can be "normal" depending on the code involved. We need someone to provide a specific code example, OS, and compiler and other configuration settings (e.g. from C/C++: Log Diagnostics) with performance info with an older version and performance info with the newer version, and verify that the C/C++ Debug logging only shows info like

LSP: textDocument/didChange: file:///.cpp
LSP: cpptools/textEditorSelectionChange
LSP: textDocument/completion: file:/// (id: 142)
auto_complete::handle_completion: file:/// (102:7)
Offering completion
sending 1 changes to server
LSP: completionItem/resolve (id: 143)

If it shows other info, like hover or referenceHighlight, then the performance could be impacted by those features.

ChrisKimZHT commented 1 year ago

@sean-mcmanus

v1.12.4 log:

textDocument/completion:  (id: 358)
auto_complete::handle_completion:  (6:6)
提供完成 (Offering completion)
正在向服务器发送 1 项更改 (sending 1 changes to server)
completionItem/resolve (id: 359)
cpptools/getFoldingRanges:  (id: 360)
cpptools/getCodeActions:  (id: 361)
cpptools/getSemanticTokens:  (id: 362)
cpptools/getInlayHints:  (id: 363)
cpptools/getDocumentSymbols:  (id: 364)
cpptools/getDocumentSymbols
更新 IntelliSense 时间(秒): 2.001

v1.14.4 log:

提供完成 (Offering completion)
正在向服务器发送 1 项更改 (sending 1 changes to server)
LSP: cpptools/getFoldingRanges: (id: 28)
LSP: cpptools/getCodeActions:  (id: 29)
LSP: cpptools/getDocumentSymbols:  (id: 30)
  标记分析文件: 
LSP: completionItem/resolve (id: 31)
LSP: cpptools/getInlayHints:  (id: 32)
LSP: cpptools/getSemanticTokens: (id: 33)
正在检查语法错误: 
正在为以下项的翻译单元中文件的 IntelliSense 更新进行排队: 
错误波形曲线计数: 2
更新 IntelliSense 时间(秒): 0.256

I found the position of LSP: completionItem/resolve is different, the older version is on the next line of 正在向服务器发送 1 项更改 (sending 1 changes to server).

sean-mcmanus commented 1 year ago

@ChrisKimZHT That logging could indicate that other work (folding ranges, code actions, document symbols) could be delaying the completion results; however, I get the same results randomly with 1.14.4 and it's fast, so a delay would only be an issue if those operations took a long time for some reason. Are you seeing identical performance if you invoke completion via Ctrl+Space, without adding any characters? If you see logging stop/pause, and then start up, the logging that appears after the delay could indicate which operation was causing the delay (assuming the pause wasn't caused by work that wasn't logged).

sean-mcmanus commented 1 year ago

We could potentially add more timing logging to help identify which processing is causing the unexpected delay (if that's not already obvious the delay in logging output).

sean-mcmanus commented 1 year ago

Actually, the completionItem/resolve isn't related to the completion list appearing (it just adds additional info like doc comments). The other completion logging would be the important ones.

Jamwe commented 1 year ago

We are not able to detect any completion performance regression between 1.11 to 1.14 -- so we do not currently believe this is a widespread problem. 2-5 seconds can be "normal" depending on the code involved. We need someone to provide a specific code example, OS, and compiler and other configuration settings (e.g. from C/C++: Log Diagnostics) with performance info with an older version and performance info with the newer version, and verify that the C/C++ Debug logging only shows info like

LSP: textDocument/didChange: file:///.cpp
LSP: cpptools/textEditorSelectionChange
LSP: textDocument/completion: file:/// (id: 142)
auto_complete::handle_completion: file:/// (102:7)
Offering completion
sending 1 changes to server
LSP: completionItem/resolve (id: 143)

If it shows other info, like hover or referenceHighlight, then the performance could be impacted by those features.

VSCode

Version: 1.76.1 (user setup) Commit: 5e805b79fcb6ba4c2d23712967df89a089da575b Date: 2023-03-08T16:32:00.131Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: 10.2.154.26-electron.0 OS: Windows_NT x64 10.0.19042 Sandboxed: Yes

All extensions are here : extensions.txt

Environment

Other system infos including remote system are the same . The only setting (User) is : "C_Cpp.loggingLevel": "Debug". NO settings in Remote and Workspace. In other words, the only difference is the cpptools itself (v1.12.4 and above).

cpptools v1.12.4

cpptools-v1-12-4-edit-busybox-top-c.webm cpptools-v1-12-4-edit-busybox-top-c.txt

cpptools v1.14.4

cpptools-v1-44-4-edit-busybox-top-c.txt cpptools-v1-44-4-edit-busybox-top-c.webm

sean-mcmanus commented 1 year ago

@Jamwe Yeah, I don't notice any particular issue/change with regards to the 1.14.4 logging.

Jamwe commented 1 year ago

@Jamwe Yeah, I don't notice any particular issue/change with regards to the 1.14.4 logging.

Are there any other settings to enable particular log? "cpptools-v1-44-4-edit-busybox-top-c.txt" and "cpptools-v1-12-4-edit-busybox-top-c.txt" are all the log messages that I got from the Output panel with setting of "C_Cpp.loggingLevel": "Debug".

Screen video of v1.44.4 cpptools-v1-44-4-edit-busybox-top-c.webm shows a delay of more than 2 seconds after entering characters.

However, screen video of v1.12.4 cpptools-v1-12-4-edit-busybox-top-c.webm shows that the intelligent prompt appears almost at the same time after entering characters.

sean-mcmanus commented 1 year ago

@Jamwe Do you see the same performance difference when you invoke completion via just entering Ctrl+Space without making any edits or cursor changes? Is the performance difference consistent or random? Does it repro with a small file that doesn't have any #include? The existing logging seems insufficient. Maybe we could add better performance-related logging.

Jamwe commented 1 year ago

@Jamwe Do you see the same performance difference when you invoke completion via just entering Ctrl+Space without making any edits or cursor changes? Is the performance difference consistent or random? Does it repro with a small file that doesn't have any #include? The existing logging seems insufficient. Maybe we could add better performance-related logging.

  1. Ctrl+Space makes the delay a little better (less than 2 sec). The delay time is always consistent in any cases (not just this). See this video
    cpptools-v1-44-4-ctrl-space-busybox-top-c.webm

  2. While editing or Ctrl+Space in a very simple c file (only one file test.c without #include), v1.14.4 seems to be back to normal. The sequence of actions in both videos is Ctrl+Space first and then entering characters. cpptools-v1-14-4-ctrl-space-edit-test-c.txt cpptools-v1-14-4-ctrl-space-edit-test-c.webm cpptools-v1-12-4-ctrl-space-edit-test-c.txt cpptools-v1-12-4-ctrl-space-edit-test-c.webm