Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.C files being associated with C instead of C++ in 0.28.2 #5618

Closed
ghost opened this issue Jun 5, 2020 · 7 comments
Closed

.C files being associated with C instead of C++ in 0.28.2 #5618

ghost opened this issue Jun 5, 2020 · 7 comments
Labels
bug Feature: Configuration An issue related to configuring the extension or IntelliSense fixed Check the Milestone for the release in which the fix is or will be available. Language Service quick fix regression A bug that didn't exist in a previous release
Milestone

Comments

@ghost
Copy link

ghost commented Jun 5, 2020

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

  1. Open a .C file in the workspace
  2. 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

@sean-mcmanus sean-mcmanus self-assigned this Jun 5, 2020
@sean-mcmanus
Copy link
Contributor

I thought I reproed it one time, but now I'm unable to repro it. The code that deals with this is at https://github.com/microsoft/vscode-cpptools/blob/master/Extension/src/LanguageServer/extension.ts#L567 . I'm seeing ".C" files having the "cpp" languageId due to your settings.json. Are your settings User, Remote, Workspace, or Workspace Folder settings? Is the autoAddFileAssociations setting set to "true"?

@sean-mcmanus sean-mcmanus added bug Feature: Configuration An issue related to configuring the extension or IntelliSense Language Service more info needed The issue report is not actionable in its current state not reproing We're not able to reproduce the issue (it's unlikely to get fixed until we find one). labels Jun 6, 2020
@sean-mcmanus sean-mcmanus removed their assignment Jun 6, 2020
@sean-mcmanus sean-mcmanus removed more info needed The issue report is not actionable in its current state not reproing We're not able to reproduce the issue (it's unlikely to get fixed until we find one). labels Jun 6, 2020
@sean-mcmanus sean-mcmanus self-assigned this Jun 6, 2020
@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Jun 6, 2020

Okay, I reproed it a couple more times. Not sure yet what is triggering it and what fixes it. Looks like a bug/regression in cpptools is causing it to switch to C mode in certain cases.

@sean-mcmanus sean-mcmanus added this to the 0.29.0 milestone Jun 6, 2020
@sean-mcmanus
Copy link
Contributor

And then it stopped reproing again (before I could figure out a cause). Let me know if you figure out a good way to repro it consistently.

@sean-mcmanus
Copy link
Contributor

Oh, it stopped reproing because the file got added to the files.associations, but there's a bug in that the 1st time it's incorrectly launched with the C association still until it's restarted.

@sean-mcmanus
Copy link
Contributor

Okay, I got the non-temp repro when using "*.C": "cpp" in my files.associations.

@sean-mcmanus
Copy link
Contributor

It appears the bug is that we don't send the files.associations change to cpptools. Reload Window after a files.association change should fix it. Let us know if it doesn't. Should be easy to fix.

@sean-mcmanus sean-mcmanus added quick fix regression A bug that didn't exist in a previous release labels Jun 6, 2020
sean-mcmanus added a commit that referenced this issue Jun 10, 2020
Fix for #5618
Scenario 1: Manually change files.associations. Bug: We weren't sending files.associations along with the settings change.
Scenario 2: Open a .C file. Bug: The language associations need to be changed before sending the didOpen.
@sean-mcmanus sean-mcmanus removed their assignment Jun 10, 2020
@sean-mcmanus sean-mcmanus added the fixed Check the Milestone for the release in which the fix is or will be available. label Jun 15, 2020
@sean-mcmanus
Copy link
Contributor

@github-actions github-actions bot locked and limited conversation to collaborators Oct 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Feature: Configuration An issue related to configuring the extension or IntelliSense fixed Check the Milestone for the release in which the fix is or will be available. Language Service quick fix regression A bug that didn't exist in a previous release
Projects
None yet
Development

No branches or pull requests

1 participant