Type: LanguageService
Describe the bug
- OS and Version: Windows 10 (version 10.0.18363) (WSL is using Ubuntu 18.04.2 LTS)
- VS Code Version: 1.45.1
- C/C++ Extension Version: 0.28.2
- Other extensions you installed (and if the issue persists after disabling them): GitLens, Python. Issue persists after disabling them
- Does this issue involve using SSH remote to run the extension on a remote machine?: No, but the extension is running on WSL (using the Remote - WSL extension)
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
I previously reported an issue in 0.26.1 where .C files were not being treated as C++ files, despite the file associations in my workspace. #4632
This problem seemed to be resolved up through 0.27.1, and now starting in 0.28.0, I'm consistently seeing this problem again in my workspace. Reverting back to version 0.27.1 fixes the problem after a reload, then updating the extension back to any 0.28 version causes the issue to appear again. The workspace is a single project/folder, and is relatively large. Unfortunately the source code is proprietary, so I cannot share the project here.
I am unable to reproduce this behavior using the small project that I posted on the original issue, but this is consistently happening on the proprietary project that I am working on. I will continue to see if I can reproduce this in a smaller scale project that I can share.
Per the C/C++ Log Diagnostics posted below, the extension is using the c11 standard for .C files instead of the c++11 standard, so the C++ standard library paths are not present in the include paths.
Steps to reproduce
- Open a .C file in the workspace
- See include errors for anything related to the C++ standard library
Expected behavior
The .C files should be treated as C++ files and use the c++11 standard per the files.associations setting in the workspace.
Logs
C/C++ Log Diagnostics
Note that I've had to redact the real file and directory names for confidentiality reasons, but the file extensions are the same.
-------- Diagnostics - 6/5/2020, 3:43:50 PM
Version: 0.28.2
Current Configuration:
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/src/include"
],
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "gcc-x64",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"${workspaceFolder}/src",
"${workspaceFolder}/src/include",
"${workspaceFolder}"
]
},
"compilerArgs": []
}
Translation Unit Mappings:
[ <WORKSPACE_FOLDER>/src/a/b/File1.C ]:
<WORKSPACE_FOLDER>/src/a/b/File1.C
[<WORKSPACE_FOLDER>/src/a/b/File2.C ]:
<WORKSPACE_FOLDER>/src/a/b/File2.C
Translation Unit Configurations:
[ <WORKSPACE_FOLDER>/src/a/b/File1.C ]:
Process ID: 4398
Memory Usage: 12 MB
Compiler Path: /usr/bin/gcc
Includes:
<WORKSPACE_FOLDER>/src
<WORKSPACE_FOLDER>/src/include
/usr/lib/gcc/x86_64-linux-gnu/7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
Standard Version: c11
IntelliSense Mode: gcc-x64
Other Flags:
--gcc
--gnu_version=70400
[ <WORKSPACE_FOLDER>/src/a/b/File2.C ]:
Process ID: 4420
Memory Usage: 13 MB
Compiler Path: /usr/bin/gcc
Includes:
<WORKSPACE_FOLDER>/src
<WORKSPACE_FOLDER>/src/include
/usr/lib/gcc/x86_64-linux-gnu/7/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
Standard Version: c11
IntelliSense Mode: gcc-x64
Other Flags:
--gcc
--gnu_version=70400
Total Memory Usage: 25 MB
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/src/include"
],
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
settings.json
{
"files.associations": {
"*.C": "cpp",
"*.H": "cpp"
},
"C_Cpp.default.cppStandard": "c++11",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.dimInactiveRegions": true,
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.loggingLevel": "Debug"
}
Debug output
Note that I've had to redact the real file and directory names for confidentiality reasons.
cpptools/didChangeCppProperties
Attempting to get defaults from compiler found on the machine: '/usr/bin/gcc'
terminating child process: 4818
Code browsing service initialized
Attempting to get defaults from compiler found on the machine: '/usr/bin/gcc'
terminating child process: 4820
Folder: /usr/lib/gcc/x86_64-linux-gnu/7/include/ will be indexed
Folder: /usr/local/include/ will be indexed
Folder: /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/ will be indexed
Folder: /usr/include/ will be indexed
Folder: <WORKSPACE_FOLDER>/ will be indexed
Populate include completion cache.
Discovering files...
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/7/include/
Processing folder (recursive): /usr/local/include/
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/
Processing folder (recursive): /usr/include/
Processing folder (recursive): <WORKSPACE_FOLDER>/
Discovering files: 2974 file(s) processed
0 file(s) removed from database
Done discovering files.
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
cpptools/didChangeSettings
IntelliSense Engine = Default.
Enhanced Colorization is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Autocomplete is enabled.
File exclude: **/.git
File exclude: **/.svn
File exclude: **/.hg
File exclude: **/CVS
File exclude: **/.DS_Store
File exclude: **/*.pyc
File exclude: **/__pycache__
File exclude: **/.vscode
Search exclude: **/node_modules
Search exclude: **/bower_components
Search exclude: **/*.code-search
Search exclude: **/.vscode
Populate include completion cache.
Discovering files...
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/7/include/
$/setTraceNotification
Processing folder (recursive): /usr/local/include/
Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed/
Processing folder (recursive): /usr/include/
Processing folder (recursive): <WORKSPACE_FOLDER>/
Discovering files: 2974 file(s) processed
0 file(s) removed from database
Done discovering files.
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File1.C (id: 2)
textDocument/didOpen: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
cpptools/activeDocumentChange: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols: file://<WORKSPACE_FOLDER>/src/a/b/File1.C (id: 3)
cpptools/getDocumentSymbols
sending compilation args for <WORKSPACE_FOLDER>/src/a/b/File1.C
include: <WORKSPACE_FOLDER>/src
include: <WORKSPACE_FOLDER>/src/include
include: /usr/lib/gcc/x86_64-linux-gnu/7/include
include: /usr/local/include
include: /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
include: /usr/include/x86_64-linux-gnu
include: /usr/include
define: __STDC__=1
define: __STDC_VERSION__=201112L
define: __STDC_UTF_16__=1
define: __STDC_UTF_32__=1
define: __STDC_HOSTED__=1
define: __GNUC__=7
define: __GNUC_MINOR__=4
define: __GNUC_PATCHLEVEL__=0
define: __VERSION__="7.4.0"
define: __ATOMIC_RELAXED=0
define: __ATOMIC_SEQ_CST=5
define: __ATOMIC_ACQUIRE=2
define: __ATOMIC_RELEASE=3
define: __ATOMIC_ACQ_REL=4
define: __ATOMIC_CONSUME=1
define: __pic__=2
define: __PIC__=2
define: __pie__=2
define: __PIE__=2
define: __FINITE_MATH_ONLY__=0
define: _LP64=1
define: __LP64__=1
define: __SIZEOF_INT__=4
define: __SIZEOF_LONG__=8
define: __SIZEOF_LONG_LONG__=8
define: __SIZEOF_SHORT__=2
define: __SIZEOF_FLOAT__=4
define: __SIZEOF_DOUBLE__=8
define: __SIZEOF_LONG_DOUBLE__=16
define: __SIZEOF_SIZE_T__=8
define: __CHAR_BIT__=8
define: __BIGGEST_ALIGNMENT__=16
define: __ORDER_LITTLE_ENDIAN__=1234
define: __ORDER_BIG_ENDIAN__=4321
define: __ORDER_PDP_ENDIAN__=3412
define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __SIZEOF_POINTER__=8
define: __SIZE_TYPE__=long unsigned int
define: __PTRDIFF_TYPE__=long int
define: __WCHAR_TYPE__=int
define: __WINT_TYPE__=unsigned int
define: __INTMAX_TYPE__=long int
define: __UINTMAX_TYPE__=long unsigned int
define: __CHAR16_TYPE__=short unsigned int
define: __CHAR32_TYPE__=unsigned int
define: __SIG_ATOMIC_TYPE__=int
define: __INT8_TYPE__=signed char
define: __INT16_TYPE__=short int
define: __INT32_TYPE__=int
define: __INT64_TYPE__=long int
define: __UINT8_TYPE__=unsigned char
define: __UINT16_TYPE__=short unsigned int
define: __UINT32_TYPE__=unsigned int
define: __UINT64_TYPE__=long unsigned int
define: __INT_LEAST8_TYPE__=signed char
define: __INT_LEAST16_TYPE__=short int
define: __INT_LEAST32_TYPE__=int
define: __INT_LEAST64_TYPE__=long int
define: __UINT_LEAST8_TYPE__=unsigned char
define: __UINT_LEAST16_TYPE__=short unsigned int
define: __UINT_LEAST32_TYPE__=unsigned int
define: __UINT_LEAST64_TYPE__=long unsigned int
define: __INT_FAST8_TYPE__=signed char
define: __INT_FAST16_TYPE__=long int
define: __INT_FAST32_TYPE__=long int
define: __INT_FAST64_TYPE__=long int
define: __UINT_FAST8_TYPE__=unsigned char
define: __UINT_FAST16_TYPE__=long unsigned int
define: __UINT_FAST32_TYPE__=long unsigned int
define: __UINT_FAST64_TYPE__=long unsigned int
define: __INTPTR_TYPE__=long int
define: __UINTPTR_TYPE__=long unsigned int
define: __GXX_ABI_VERSION=1011
define: __SCHAR_MAX__=0x7f
define: __SHRT_MAX__=0x7fff
define: __INT_MAX__=0x7fffffff
define: __LONG_MAX__=0x7fffffffffffffffL
define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
define: __WCHAR_MAX__=0x7fffffff
define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
define: __WINT_MAX__=0xffffffffU
define: __WINT_MIN__=0U
define: __PTRDIFF_MAX__=0x7fffffffffffffffL
define: __SIZE_MAX__=0xffffffffffffffffUL
define: __SCHAR_WIDTH__=8
define: __SHRT_WIDTH__=16
define: __INT_WIDTH__=32
define: __LONG_WIDTH__=64
define: __LONG_LONG_WIDTH__=64
define: __WCHAR_WIDTH__=32
define: __WINT_WIDTH__=32
define: __PTRDIFF_WIDTH__=64
define: __SIZE_WIDTH__=64
define: __INTMAX_MAX__=0x7fffffffffffffffL
define: __INTMAX_C(c)=c ## L
define: __UINTMAX_MAX__=0xffffffffffffffffUL
define: __UINTMAX_C(c)=c ## UL
define: __INTMAX_WIDTH__=64
define: __SIG_ATOMIC_MAX__=0x7fffffff
define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
define: __SIG_ATOMIC_WIDTH__=32
define: __INT8_MAX__=0x7f
define: __INT16_MAX__=0x7fff
define: __INT32_MAX__=0x7fffffff
define: __INT64_MAX__=0x7fffffffffffffffL
define: __UINT8_MAX__=0xff
define: __UINT16_MAX__=0xffff
define: __UINT32_MAX__=0xffffffffU
define: __UINT64_MAX__=0xffffffffffffffffUL
define: __INT_LEAST8_MAX__=0x7f
define: __INT8_C(c)=c
define: __INT_LEAST8_WIDTH__=8
define: __INT_LEAST16_MAX__=0x7fff
define: __INT16_C(c)=c
define: __INT_LEAST16_WIDTH__=16
define: __INT_LEAST32_MAX__=0x7fffffff
define: __INT32_C(c)=c
define: __INT_LEAST32_WIDTH__=32
define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
define: __INT64_C(c)=c ## L
define: __INT_LEAST64_WIDTH__=64
define: __UINT_LEAST8_MAX__=0xff
define: __UINT8_C(c)=c
define: __UINT_LEAST16_MAX__=0xffff
define: __UINT16_C(c)=c
define: __UINT_LEAST32_MAX__=0xffffffffU
define: __UINT32_C(c)=c ## U
define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
define: __UINT64_C(c)=c ## UL
define: __INT_FAST8_MAX__=0x7f
define: __INT_FAST8_WIDTH__=8
define: __INT_FAST16_MAX__=0x7fffffffffffffffL
define: __INT_FAST16_WIDTH__=64
define: __INT_FAST32_MAX__=0x7fffffffffffffffL
define: __INT_FAST32_WIDTH__=64
define: __INT_FAST64_MAX__=0x7fffffffffffffffL
define: __INT_FAST64_WIDTH__=64
define: __UINT_FAST8_MAX__=0xff
define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
define: __INTPTR_MAX__=0x7fffffffffffffffL
define: __INTPTR_WIDTH__=64
define: __UINTPTR_MAX__=0xffffffffffffffffUL
define: __GCC_IEC_559=2
define: __GCC_IEC_559_COMPLEX=2
define: __FLT_EVAL_METHOD__=0
define: __FLT_EVAL_METHOD_TS_18661_3__=0
define: __DEC_EVAL_METHOD__=2
define: __FLT_RADIX__=2
define: __FLT_MANT_DIG__=24
define: __FLT_DIG__=6
define: __FLT_MIN_EXP__=(-125)
define: __FLT_MIN_10_EXP__=(-37)
define: __FLT_MAX_EXP__=128
define: __FLT_MAX_10_EXP__=38
define: __FLT_DECIMAL_DIG__=9
define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
define: __FLT_HAS_DENORM__=1
define: __FLT_HAS_INFINITY__=1
define: __FLT_HAS_QUIET_NAN__=1
define: __DBL_MANT_DIG__=53
define: __DBL_DIG__=15
define: __DBL_MIN_EXP__=(-1021)
define: __DBL_MIN_10_EXP__=(-307)
define: __DBL_MAX_EXP__=1024
define: __DBL_MAX_10_EXP__=308
define: __DBL_DECIMAL_DIG__=17
define: __DBL_MAX__=((double)1.79769313486231570814527423731704357e+308L)
define: __DBL_MIN__=((double)2.22507385850720138309023271733240406e-308L)
define: __DBL_EPSILON__=((double)2.22044604925031308084726333618164062e-16L)
define: __DBL_DENORM_MIN__=((double)4.94065645841246544176568792868221372e-324L)
define: __DBL_HAS_DENORM__=1
define: __DBL_HAS_INFINITY__=1
define: __DBL_HAS_QUIET_NAN__=1
define: __LDBL_MANT_DIG__=64
define: __LDBL_DIG__=18
define: __LDBL_MIN_EXP__=(-16381)
define: __LDBL_MIN_10_EXP__=(-4931)
define: __LDBL_MAX_EXP__=16384
define: __LDBL_MAX_10_EXP__=4932
define: __DECIMAL_DIG__=21
define: __LDBL_DECIMAL_DIG__=21
define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
define: __LDBL_HAS_DENORM__=1
define: __LDBL_HAS_INFINITY__=1
define: __LDBL_HAS_QUIET_NAN__=1
define: __FLT32_MANT_DIG__=24
define: __FLT32_DIG__=6
define: __FLT32_MIN_EXP__=(-125)
define: __FLT32_MIN_10_EXP__=(-37)
define: __FLT32_MAX_EXP__=128
define: __FLT32_MAX_10_EXP__=38
define: __FLT32_DECIMAL_DIG__=9
define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
define: __FLT32_HAS_DENORM__=1
define: __FLT32_HAS_INFINITY__=1
define: __FLT32_HAS_QUIET_NAN__=1
define: __FLT64_MANT_DIG__=53
define: __FLT64_DIG__=15
define: __FLT64_MIN_EXP__=(-1021)
define: __FLT64_MIN_10_EXP__=(-307)
define: __FLT64_MAX_EXP__=1024
define: __FLT64_MAX_10_EXP__=308
define: __FLT64_DECIMAL_DIG__=17
define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
define: __FLT64_HAS_DENORM__=1
define: __FLT64_HAS_INFINITY__=1
define: __FLT64_HAS_QUIET_NAN__=1
define: __FLT128_MANT_DIG__=113
define: __FLT128_DIG__=33
define: __FLT128_MIN_EXP__=(-16381)
define: __FLT128_MIN_10_EXP__=(-4931)
define: __FLT128_MAX_EXP__=16384
define: __FLT128_MAX_10_EXP__=4932
define: __FLT128_DECIMAL_DIG__=36
define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
define: __FLT128_HAS_DENORM__=1
define: __FLT128_HAS_INFINITY__=1
define: __FLT128_HAS_QUIET_NAN__=1
define: __FLT32X_MANT_DIG__=53
define: __FLT32X_DIG__=15
define: __FLT32X_MIN_EXP__=(-1021)
define: __FLT32X_MIN_10_EXP__=(-307)
define: __FLT32X_MAX_EXP__=1024
define: __FLT32X_MAX_10_EXP__=308
define: __FLT32X_DECIMAL_DIG__=17
define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
define: __FLT32X_HAS_DENORM__=1
define: __FLT32X_HAS_INFINITY__=1
define: __FLT32X_HAS_QUIET_NAN__=1
define: __FLT64X_MANT_DIG__=64
define: __FLT64X_DIG__=18
define: __FLT64X_MIN_EXP__=(-16381)
define: __FLT64X_MIN_10_EXP__=(-4931)
define: __FLT64X_MAX_EXP__=16384
define: __FLT64X_MAX_10_EXP__=4932
define: __FLT64X_DECIMAL_DIG__=21
define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
define: __FLT64X_HAS_DENORM__=1
define: __FLT64X_HAS_INFINITY__=1
define: __FLT64X_HAS_QUIET_NAN__=1
define: __DEC32_MANT_DIG__=7
define: __DEC32_MIN_EXP__=(-94)
define: __DEC32_MAX_EXP__=97
define: __DEC32_MIN__=1E-95DF
define: __DEC32_MAX__=9.999999E96DF
define: __DEC32_EPSILON__=1E-6DF
define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
define: __DEC64_MANT_DIG__=16
define: __DEC64_MIN_EXP__=(-382)
define: __DEC64_MAX_EXP__=385
define: __DEC64_MIN__=1E-383DD
define: __DEC64_MAX__=9.999999999999999E384DD
define: __DEC64_EPSILON__=1E-15DD
define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
define: __DEC128_MANT_DIG__=34
define: __DEC128_MIN_EXP__=(-6142)
define: __DEC128_MAX_EXP__=6145
define: __DEC128_MIN__=1E-6143DL
define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
define: __DEC128_EPSILON__=1E-33DL
define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
define: __REGISTER_PREFIX__=
define: __USER_LABEL_PREFIX__=
define: __GNUC_STDC_INLINE__=1
define: __NO_INLINE__=1
define: __STRICT_ANSI__=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
define: __GCC_ATOMIC_INT_LOCK_FREE=2
define: __GCC_ATOMIC_LONG_LOCK_FREE=2
define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
define: __GCC_HAVE_DWARF2_CFI_ASM=1
define: __PRAGMA_REDEFINE_EXTNAME=1
define: __SSP_STRONG__=3
define: __SIZEOF_INT128__=16
define: __SIZEOF_WCHAR_T__=4
define: __SIZEOF_WINT_T__=4
define: __SIZEOF_PTRDIFF_T__=8
define: __amd64=1
define: __amd64__=1
define: __x86_64=1
define: __x86_64__=1
define: __SIZEOF_FLOAT80__=16
define: __SIZEOF_FLOAT128__=16
define: __ATOMIC_HLE_ACQUIRE=65536
define: __ATOMIC_HLE_RELEASE=131072
define: __GCC_ASM_FLAG_OUTPUTS__=1
define: __k8=1
define: __k8__=1
define: __code_model_small__=1
define: __MMX__=1
define: __SSE__=1
define: __SSE2__=1
define: __FXSR__=1
define: __SSE_MATH__=1
define: __SSE2_MATH__=1
define: __SEG_FS=1
define: __SEG_GS=1
define: __gnu_linux__=1
define: __linux=1
define: __linux__=1
define: __unix=1
define: __unix__=1
define: __ELF__=1
define: __DECIMAL_BID_FORMAT__=1
define: _STDC_PREDEF_H=1
define: __STDC_IEC_559__=1
define: __STDC_IEC_559_COMPLEX__=1
define: __STDC_ISO_10646__=201706L
define: __STDC_NO_THREADS__=1
other: --gcc
other: --gnu_version=70400
stdver: c11
intelliSenseMode: gcc-x64
Checking for syntax errors: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
Queueing IntelliSense update for files in translation unit of: <WORKSPACE_FOLDER>/src/a/b/File1.C
cpptools/textEditorSelectionChange
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File1.C (id: 4)
cpptools/finishUpdateSquiggles
Error squiggle count: 220
Error squiggles will be disabled in: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
terminating child process: 4851
Update IntelliSense time (sec): 1.28
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File1.C (id: 5)
idle loop: reparsing the active document
Checking for syntax errors: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
Queueing IntelliSense update for files in translation unit of: <WORKSPACE_FOLDER>/src/a/b/File1.C
cpptools/finishUpdateSquiggles
Error squiggle count: 220
Update IntelliSense time (sec): 0.284
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File1.C (id: 6)
textDocument/didClose: file://<WORKSPACE_FOLDER>/src/a/b/File1.C
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File2.C (id: 7)
textDocument/didOpen: file://<WORKSPACE_FOLDER>/src/a/b/File2.C
cpptools/activeDocumentChange: file://<WORKSPACE_FOLDER>/src/a/b/File2.C
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols: file://<WORKSPACE_FOLDER>/src/a/b/File2.C (id: 8)
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols
terminating child process: 4857
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File2.C (id: 9)
sending compilation args for <WORKSPACE_FOLDER>/src/a/b/File2.C
include: <WORKSPACE_FOLDER>/src
include: <WORKSPACE_FOLDER>/src/include
include: /usr/lib/gcc/x86_64-linux-gnu/7/include
include: /usr/local/include
include: /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
include: /usr/include/x86_64-linux-gnu
include: /usr/include
define: __STDC__=1
define: __STDC_VERSION__=201112L
define: __STDC_UTF_16__=1
define: __STDC_UTF_32__=1
define: __STDC_HOSTED__=1
define: __GNUC__=7
define: __GNUC_MINOR__=4
define: __GNUC_PATCHLEVEL__=0
define: __VERSION__="7.4.0"
define: __ATOMIC_RELAXED=0
define: __ATOMIC_SEQ_CST=5
define: __ATOMIC_ACQUIRE=2
define: __ATOMIC_RELEASE=3
define: __ATOMIC_ACQ_REL=4
define: __ATOMIC_CONSUME=1
define: __pic__=2
define: __PIC__=2
define: __pie__=2
define: __PIE__=2
define: __FINITE_MATH_ONLY__=0
define: _LP64=1
define: __LP64__=1
define: __SIZEOF_INT__=4
define: __SIZEOF_LONG__=8
define: __SIZEOF_LONG_LONG__=8
define: __SIZEOF_SHORT__=2
define: __SIZEOF_FLOAT__=4
define: __SIZEOF_DOUBLE__=8
define: __SIZEOF_LONG_DOUBLE__=16
define: __SIZEOF_SIZE_T__=8
define: __CHAR_BIT__=8
define: __BIGGEST_ALIGNMENT__=16
define: __ORDER_LITTLE_ENDIAN__=1234
define: __ORDER_BIG_ENDIAN__=4321
define: __ORDER_PDP_ENDIAN__=3412
define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
define: __SIZEOF_POINTER__=8
define: __SIZE_TYPE__=long unsigned int
define: __PTRDIFF_TYPE__=long int
define: __WCHAR_TYPE__=int
define: __WINT_TYPE__=unsigned int
define: __INTMAX_TYPE__=long int
define: __UINTMAX_TYPE__=long unsigned int
define: __CHAR16_TYPE__=short unsigned int
define: __CHAR32_TYPE__=unsigned int
define: __SIG_ATOMIC_TYPE__=int
define: __INT8_TYPE__=signed char
define: __INT16_TYPE__=short int
define: __INT32_TYPE__=int
define: __INT64_TYPE__=long int
define: __UINT8_TYPE__=unsigned char
define: __UINT16_TYPE__=short unsigned int
define: __UINT32_TYPE__=unsigned int
define: __UINT64_TYPE__=long unsigned int
define: __INT_LEAST8_TYPE__=signed char
define: __INT_LEAST16_TYPE__=short int
define: __INT_LEAST32_TYPE__=int
define: __INT_LEAST64_TYPE__=long int
define: __UINT_LEAST8_TYPE__=unsigned char
define: __UINT_LEAST16_TYPE__=short unsigned int
define: __UINT_LEAST32_TYPE__=unsigned int
define: __UINT_LEAST64_TYPE__=long unsigned int
define: __INT_FAST8_TYPE__=signed char
define: __INT_FAST16_TYPE__=long int
define: __INT_FAST32_TYPE__=long int
define: __INT_FAST64_TYPE__=long int
define: __UINT_FAST8_TYPE__=unsigned char
define: __UINT_FAST16_TYPE__=long unsigned int
define: __UINT_FAST32_TYPE__=long unsigned int
define: __UINT_FAST64_TYPE__=long unsigned int
define: __INTPTR_TYPE__=long int
define: __UINTPTR_TYPE__=long unsigned int
define: __GXX_ABI_VERSION=1011
define: __SCHAR_MAX__=0x7f
define: __SHRT_MAX__=0x7fff
define: __INT_MAX__=0x7fffffff
define: __LONG_MAX__=0x7fffffffffffffffL
define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
define: __WCHAR_MAX__=0x7fffffff
define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
define: __WINT_MAX__=0xffffffffU
define: __WINT_MIN__=0U
define: __PTRDIFF_MAX__=0x7fffffffffffffffL
define: __SIZE_MAX__=0xffffffffffffffffUL
define: __SCHAR_WIDTH__=8
define: __SHRT_WIDTH__=16
define: __INT_WIDTH__=32
define: __LONG_WIDTH__=64
define: __LONG_LONG_WIDTH__=64
define: __WCHAR_WIDTH__=32
define: __WINT_WIDTH__=32
define: __PTRDIFF_WIDTH__=64
define: __SIZE_WIDTH__=64
define: __INTMAX_MAX__=0x7fffffffffffffffL
define: __INTMAX_C(c)=c ## L
define: __UINTMAX_MAX__=0xffffffffffffffffUL
define: __UINTMAX_C(c)=c ## UL
define: __INTMAX_WIDTH__=64
define: __SIG_ATOMIC_MAX__=0x7fffffff
define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
define: __SIG_ATOMIC_WIDTH__=32
define: __INT8_MAX__=0x7f
define: __INT16_MAX__=0x7fff
define: __INT32_MAX__=0x7fffffff
define: __INT64_MAX__=0x7fffffffffffffffL
define: __UINT8_MAX__=0xff
define: __UINT16_MAX__=0xffff
define: __UINT32_MAX__=0xffffffffU
define: __UINT64_MAX__=0xffffffffffffffffUL
define: __INT_LEAST8_MAX__=0x7f
define: __INT8_C(c)=c
define: __INT_LEAST8_WIDTH__=8
define: __INT_LEAST16_MAX__=0x7fff
define: __INT16_C(c)=c
define: __INT_LEAST16_WIDTH__=16
define: __INT_LEAST32_MAX__=0x7fffffff
define: __INT32_C(c)=c
define: __INT_LEAST32_WIDTH__=32
define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
define: __INT64_C(c)=c ## L
define: __INT_LEAST64_WIDTH__=64
define: __UINT_LEAST8_MAX__=0xff
define: __UINT8_C(c)=c
define: __UINT_LEAST16_MAX__=0xffff
define: __UINT16_C(c)=c
define: __UINT_LEAST32_MAX__=0xffffffffU
define: __UINT32_C(c)=c ## U
define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
define: __UINT64_C(c)=c ## UL
define: __INT_FAST8_MAX__=0x7f
define: __INT_FAST8_WIDTH__=8
define: __INT_FAST16_MAX__=0x7fffffffffffffffL
define: __INT_FAST16_WIDTH__=64
define: __INT_FAST32_MAX__=0x7fffffffffffffffL
define: __INT_FAST32_WIDTH__=64
define: __INT_FAST64_MAX__=0x7fffffffffffffffL
define: __INT_FAST64_WIDTH__=64
define: __UINT_FAST8_MAX__=0xff
define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
define: __INTPTR_MAX__=0x7fffffffffffffffL
define: __INTPTR_WIDTH__=64
define: __UINTPTR_MAX__=0xffffffffffffffffUL
define: __GCC_IEC_559=2
define: __GCC_IEC_559_COMPLEX=2
define: __FLT_EVAL_METHOD__=0
define: __FLT_EVAL_METHOD_TS_18661_3__=0
define: __DEC_EVAL_METHOD__=2
define: __FLT_RADIX__=2
define: __FLT_MANT_DIG__=24
define: __FLT_DIG__=6
define: __FLT_MIN_EXP__=(-125)
define: __FLT_MIN_10_EXP__=(-37)
define: __FLT_MAX_EXP__=128
define: __FLT_MAX_10_EXP__=38
define: __FLT_DECIMAL_DIG__=9
define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
define: __FLT_HAS_DENORM__=1
define: __FLT_HAS_INFINITY__=1
define: __FLT_HAS_QUIET_NAN__=1
define: __DBL_MANT_DIG__=53
define: __DBL_DIG__=15
define: __DBL_MIN_EXP__=(-1021)
define: __DBL_MIN_10_EXP__=(-307)
define: __DBL_MAX_EXP__=1024
define: __DBL_MAX_10_EXP__=308
define: __DBL_DECIMAL_DIG__=17
define: __DBL_MAX__=((double)1.79769313486231570814527423731704357e+308L)
define: __DBL_MIN__=((double)2.22507385850720138309023271733240406e-308L)
define: __DBL_EPSILON__=((double)2.22044604925031308084726333618164062e-16L)
define: __DBL_DENORM_MIN__=((double)4.94065645841246544176568792868221372e-324L)
define: __DBL_HAS_DENORM__=1
define: __DBL_HAS_INFINITY__=1
define: __DBL_HAS_QUIET_NAN__=1
define: __LDBL_MANT_DIG__=64
define: __LDBL_DIG__=18
define: __LDBL_MIN_EXP__=(-16381)
define: __LDBL_MIN_10_EXP__=(-4931)
define: __LDBL_MAX_EXP__=16384
define: __LDBL_MAX_10_EXP__=4932
define: __DECIMAL_DIG__=21
define: __LDBL_DECIMAL_DIG__=21
define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
define: __LDBL_HAS_DENORM__=1
define: __LDBL_HAS_INFINITY__=1
define: __LDBL_HAS_QUIET_NAN__=1
define: __FLT32_MANT_DIG__=24
define: __FLT32_DIG__=6
define: __FLT32_MIN_EXP__=(-125)
define: __FLT32_MIN_10_EXP__=(-37)
define: __FLT32_MAX_EXP__=128
define: __FLT32_MAX_10_EXP__=38
define: __FLT32_DECIMAL_DIG__=9
define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
define: __FLT32_HAS_DENORM__=1
define: __FLT32_HAS_INFINITY__=1
define: __FLT32_HAS_QUIET_NAN__=1
define: __FLT64_MANT_DIG__=53
define: __FLT64_DIG__=15
define: __FLT64_MIN_EXP__=(-1021)
define: __FLT64_MIN_10_EXP__=(-307)
define: __FLT64_MAX_EXP__=1024
define: __FLT64_MAX_10_EXP__=308
define: __FLT64_DECIMAL_DIG__=17
define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
define: __FLT64_HAS_DENORM__=1
define: __FLT64_HAS_INFINITY__=1
define: __FLT64_HAS_QUIET_NAN__=1
define: __FLT128_MANT_DIG__=113
define: __FLT128_DIG__=33
define: __FLT128_MIN_EXP__=(-16381)
define: __FLT128_MIN_10_EXP__=(-4931)
define: __FLT128_MAX_EXP__=16384
define: __FLT128_MAX_10_EXP__=4932
define: __FLT128_DECIMAL_DIG__=36
define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
define: __FLT128_HAS_DENORM__=1
define: __FLT128_HAS_INFINITY__=1
define: __FLT128_HAS_QUIET_NAN__=1
define: __FLT32X_MANT_DIG__=53
define: __FLT32X_DIG__=15
define: __FLT32X_MIN_EXP__=(-1021)
define: __FLT32X_MIN_10_EXP__=(-307)
define: __FLT32X_MAX_EXP__=1024
define: __FLT32X_MAX_10_EXP__=308
define: __FLT32X_DECIMAL_DIG__=17
define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
define: __FLT32X_HAS_DENORM__=1
define: __FLT32X_HAS_INFINITY__=1
define: __FLT32X_HAS_QUIET_NAN__=1
define: __FLT64X_MANT_DIG__=64
define: __FLT64X_DIG__=18
define: __FLT64X_MIN_EXP__=(-16381)
define: __FLT64X_MIN_10_EXP__=(-4931)
define: __FLT64X_MAX_EXP__=16384
define: __FLT64X_MAX_10_EXP__=4932
define: __FLT64X_DECIMAL_DIG__=21
define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
define: __FLT64X_HAS_DENORM__=1
define: __FLT64X_HAS_INFINITY__=1
define: __FLT64X_HAS_QUIET_NAN__=1
define: __DEC32_MANT_DIG__=7
define: __DEC32_MIN_EXP__=(-94)
define: __DEC32_MAX_EXP__=97
define: __DEC32_MIN__=1E-95DF
define: __DEC32_MAX__=9.999999E96DF
define: __DEC32_EPSILON__=1E-6DF
define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
define: __DEC64_MANT_DIG__=16
define: __DEC64_MIN_EXP__=(-382)
define: __DEC64_MAX_EXP__=385
define: __DEC64_MIN__=1E-383DD
define: __DEC64_MAX__=9.999999999999999E384DD
define: __DEC64_EPSILON__=1E-15DD
define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
define: __DEC128_MANT_DIG__=34
define: __DEC128_MIN_EXP__=(-6142)
define: __DEC128_MAX_EXP__=6145
define: __DEC128_MIN__=1E-6143DL
define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
define: __DEC128_EPSILON__=1E-33DL
define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
define: __REGISTER_PREFIX__=
define: __USER_LABEL_PREFIX__=
define: __GNUC_STDC_INLINE__=1
define: __NO_INLINE__=1
define: __STRICT_ANSI__=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1
define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1
define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2
define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
define: __GCC_ATOMIC_INT_LOCK_FREE=2
define: __GCC_ATOMIC_LONG_LOCK_FREE=2
define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
define: __GCC_HAVE_DWARF2_CFI_ASM=1
define: __PRAGMA_REDEFINE_EXTNAME=1
define: __SSP_STRONG__=3
define: __SIZEOF_INT128__=16
define: __SIZEOF_WCHAR_T__=4
define: __SIZEOF_WINT_T__=4
define: __SIZEOF_PTRDIFF_T__=8
define: __amd64=1
define: __amd64__=1
define: __x86_64=1
define: __x86_64__=1
define: __SIZEOF_FLOAT80__=16
define: __SIZEOF_FLOAT128__=16
define: __ATOMIC_HLE_ACQUIRE=65536
define: __ATOMIC_HLE_RELEASE=131072
define: __GCC_ASM_FLAG_OUTPUTS__=1
define: __k8=1
define: __k8__=1
define: __code_model_small__=1
define: __MMX__=1
define: __SSE__=1
define: __SSE2__=1
define: __FXSR__=1
define: __SSE_MATH__=1
define: __SSE2_MATH__=1
define: __SEG_FS=1
define: __SEG_GS=1
define: __gnu_linux__=1
define: __linux=1
define: __linux__=1
define: __unix=1
define: __unix__=1
define: __ELF__=1
define: __DECIMAL_BID_FORMAT__=1
define: _STDC_PREDEF_H=1
define: __STDC_IEC_559__=1
define: __STDC_IEC_559_COMPLEX__=1
define: __STDC_ISO_10646__=201706L
define: __STDC_NO_THREADS__=1
other: --gcc
other: --gnu_version=70400
stdver: c11
intelliSenseMode: gcc-x64
Checking for syntax errors: file://<WORKSPACE_FOLDER>/src/a/b/File2.C
Queueing IntelliSense update for files in translation unit of: <WORKSPACE_FOLDER>/src/a/b/File2.C
idle loop: reparsing the active document
Checking for syntax errors: file://<WORKSPACE_FOLDER>/src/a/b/File2.C
Queueing IntelliSense update for files in translation unit of: <WORKSPACE_FOLDER>/src/a/b/File2.C
cpptools/finishUpdateSquiggles
Error squiggle count: 238
Error squiggles will be disabled in: file://<WORKSPACE_FOLDER>/src/a/b/File2.C
terminating child process: 4872
Update IntelliSense time (sec): 1.508
cpptools/getCodeActions: file://<WORKSPACE_FOLDER>/src/a/b/File2.C (id: 10)
Screenshots
Additional context
Type: LanguageService
Describe the bug
I previously reported an issue in 0.26.1 where .C files were not being treated as C++ files, despite the file associations in my workspace. #4632
This problem seemed to be resolved up through 0.27.1, and now starting in 0.28.0, I'm consistently seeing this problem again in my workspace. Reverting back to version 0.27.1 fixes the problem after a reload, then updating the extension back to any 0.28 version causes the issue to appear again. The workspace is a single project/folder, and is relatively large. Unfortunately the source code is proprietary, so I cannot share the project here.
I am unable to reproduce this behavior using the small project that I posted on the original issue, but this is consistently happening on the proprietary project that I am working on. I will continue to see if I can reproduce this in a smaller scale project that I can share.
Per the C/C++ Log Diagnostics posted below, the extension is using the c11 standard for .C files instead of the c++11 standard, so the C++ standard library paths are not present in the include paths.
Steps to reproduce
Expected behavior
The .C files should be treated as C++ files and use the c++11 standard per the files.associations setting in the workspace.
Logs
C/C++ Log Diagnostics
Note that I've had to redact the real file and directory names for confidentiality reasons, but the file extensions are the same.
c_cpp_properties.json
settings.json
Debug output
Note that I've had to redact the real file and directory names for confidentiality reasons.
Screenshots
Additional context