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++ code is incorrectly identified as C #12975

Open
DonaldDuck313 opened this issue Nov 19, 2024 · 1 comment
Open

C++ code is incorrectly identified as C #12975

DonaldDuck313 opened this issue Nov 19, 2024 · 1 comment
Assignees
Labels
Feature: Configuration An issue related to configuring the extension or IntelliSense more info needed The issue report is not actionable in its current state

Comments

@DonaldDuck313
Copy link

DonaldDuck313 commented Nov 19, 2024

Environment

  • OS and Version: Debian 12
  • VS Code Version: 1.95.2
  • C/C++ Extension Version: 1.22.11
  • If using SSH remote, specify OS of remote machine: N/A

Bug Summary and Steps to Reproduce

Bug Summary: I have a C++ file with the extension .hpp. When I first open it, it initially correctly says "C++" on the bottom right, but after a while it automatically changes to "C" and I get a bunch of syntax errors. If I try to manually change it back to "C++", it automatically changes back to "C" after a while.

Steps to reproduce:

  1. Create a C++ header file with the .hpp extension, and write some code that's valid C++ but not valid C.
  2. Open the file in vscode with this extension installed.
  3. Wait for a few seconds and the identified language will incorrectly change to C on its own. This happens even though I configured .hpp files to be C++ by default.
  4. Try changing back to C++, and it will change back to C again.

Expected behavior: C++ code should be identified as C++, not as C. I've never seen the .hpp extension used for C code, so .hpp should be C++ by default (and it is, but for some reason this extension isn't respecting that). For .h, it's fine if you want it to be C by default, but I should be able to associate the .h extension with C++ and if I do, the extension should respect that setting and identify .h files as C++.

Configuration and Logs

Configurations in c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/googletest-native/usr/include",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/libdatacache-native/usr/include",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/moddatacache-native/usr/include",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include",
                "${workspaceFolder}/../../../tmp/sysroots-components/x86_64/strutil-native/usr/include"
            ],
            "defines": ["TARGET_BUILD=1"],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "gnu++20",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

Logs from running C/C++: Log Diagnostics from the VS Code command palette:

-------- Diagnostics - 11/19/2024, 12:55:53 PM
Version: 1.22.11
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/**",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/googletest-native/usr/include",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/libdatacache-native/usr/include",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/moddatacache-native/usr/include",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include",
        "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/strutil-native/usr/include"
    ],
    "defines": [
        "TARGET_BUILD=1"
    ],
    "compilerPath": "/usr/bin/gcc",
    "cStandard": "c17",
    "cppStandard": "gnu++20",
    "intelliSenseMode": "linux-gcc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "/usr/bin/gcc",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/**",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/googletest-native/usr/include",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/libdatacache-native/usr/include",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/moddatacache-native/usr/include",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include",
            "/home/myname/Documents/<redacted path 1>/<redacted path 2>/../../../tmp/sysroots-components/x86_64/strutil-native/usr/include",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.errorSquiggles": "enabledIfIncludesResolve"
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "*.tpp": "cpp",
        "*.hpp": "cpp",
        "stdexcept": "cpp"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.22.11.0
Current database path: ~/.cache/vscode-cpptools/5b017085901a792f4c9fd91d278cc83c/.browse.VC.db
No active translation units.

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

Logs from the language server logging:

loggingLevel: Debug
LSP: (received) cpptools/preinitialize (id: 1)
LSP: (invoked) cpptools/preinitialize (id: 1)
LSP: Sending response (id: 1)
LSP: (received) cpptools/initialize (id: 2)
LSP: (invoked) cpptools/initialize (id: 2)
cpptools version (TypeScript): 1.22.11
cpptools version (native): 1.22.11.0
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
LSP: Sending response (id: 2)
LSP: (received) cpptools/queryCompilerDefaults (id: 3)
LSP: (invoked) cpptools/queryCompilerDefaults (id: 3)
LSP: (received) cpptools/didChangeSettings
LSP: (received) cpptools/didChangeSettings
LSP: (received) cpptools/didChangeSettings
LSP: (received) cpptools/didChangeSettings
LSP: (received - deferred) textDocument/didOpen: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
Querying compiler for default C++ language standard using command line: /usr/bin/gcc -x c++ -E -dM /dev/null
LSP: (received - deferred) cpptools/didChangeVisibleTextEditors
Detected language standard version: gnu++17
Querying compiler's default target using command line: "/usr/bin/gcc" -dumpmachine
Compiler returned default target value: x86_64-linux-gnu
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/gcc -std=c17 -m64 -Wp,-v -E -dM -x c /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/usr/bin/gcc'
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/gcc -std=gnu++17 -m64 -Wp,-v -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/gcc'
LSP: Sending response (id: 3)
LSP: (invoked) cpptools/didChangeSettings
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
LSP: (invoked) cpptools/didChangeSettings
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
LSP: (invoked) cpptools/didChangeSettings
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
LSP: (invoked) cpptools/didChangeSettings
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
LSP: (received) cpptools/queryCompilerDefaults (id: 4)
LSP: (invoked) cpptools/queryCompilerDefaults (id: 4)
LSP: (received) cpptools/didChangeCppProperties (id: 5)
LSP: (received) cpptools/didChangeCppProperties (id: 6)
LSP: Sending response (id: 4)
LSP: (invoked) cpptools/didChangeCppProperties (id: 5)
Compiler info database not connected - skipping load.
Compiler query command line: /usr/bin/gcc -std=gnu++20 -m64 -Wp,-v -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/gcc'
  Folder: /usr/include/ will be indexed
  Folder: /usr/lib/gcc/x86_64-linux-gnu/12/include/ will be indexed
  Folder: /usr/local/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/<redacted path 2>/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/googletest-native/usr/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/libdatacache-native/usr/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/moddatacache-native/usr/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/strutil-native/usr/include/ will be indexed
LSP: Sending response (id: 5)
LSP: (invoked) cpptools/didChangeCppProperties (id: 6)
Code browsing service initialized
Populating file name cache...
  Folder: /usr/include/ will be indexed
  Folder: /usr/lib/gcc/x86_64-linux-gnu/12/include/ will be indexed
  Folder: /usr/local/include/ will be indexed
  Folder: /home/myname/Documents/<redacted path 5>/ will be indexed
LSP: (queued) textDocument/didOpen: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
LSP: (queued) cpptools/didChangeVisibleTextEditors
LSP: Sending response (id: 6)
LSP: (invoked) textDocument/didOpen: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
Discovering files...
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Intellisense update pending for: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
  Processing folder (recursive): /usr/local/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/<redacted path 2>/
  Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/12/include/
  Processing folder (recursive): /usr/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0/
IntelliSense update scheduled and TU acquisition started for: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
LSP: (received) cpptools/getFoldingRanges: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 7)
LSP: (invoked) cpptools/getFoldingRanges: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 7)
LSP: (received) cpptools/getDocumentSymbols: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 8)
LSP: Sending response (id: 7)
LSP: (invoked) cpptools/getDocumentSymbols: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 8)
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/googletest-native/usr/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/libdatacache-native/usr/include/
LSP: Message ignored due to no registered handler: $/setTrace
LSP: (received) cpptools/didChangeSettings
LSP: (received) cpptools/getDocumentSymbols: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 9)
LSP: (invoked) cpptools/didChangeSettings
LSP: (invoked) cpptools/getDocumentSymbols: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 9)
Autocomplete is enabled.
Error squiggles are enabled.
Hover is enabled.
IntelliSense Engine = default.
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
Enhanced Colorization is enabled.
LSP: Sending response (id: 8)
LSP: Sending response (id: 9)
LSP: (received) cpptools/didChangeVisibleTextEditors
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/moddatacache-native/usr/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/strutil-native/usr/include/
  Processing folder (recursive): /usr/local/include/
  Processing folder (recursive): /home/myname/Documents/<redacted path 5>/
  Processing folder (recursive): /usr/include/
  Processing folder (recursive): /usr/lib/gcc/x86_64-linux-gnu/12/include/
Done populating filename cache. Elapsed time: 2760 ms
  Discovering files: 65858 file(s) processed
  0 file(s) removed from database
Done discovering files.
Populating include completion cache.
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Parsing remaining files...
  Parsing: 0 files(s) processed
Done parsing remaining files.
Resolving recursive includes...
Done resolving recursive includes.
sending compilation args for /home/myname/Documents/<redacted path 1>/<redacted path 2>/README.md
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/glib-2.0-native/usr/include/glib-2.0
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/googletest-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/json-c-native/usr/include/json-c
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/libdatacache-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/moddatacache-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/nlohmann-json-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/tmp/sysroots-components/x86_64/strutil-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 6>/storage
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 7>/include
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/utils
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 6>/unittest/mock
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 7>/unittest
  include: /home/myname/Documents/<redacted path 1>/<redacted path 8>/0.0.301/recipe-sysroot-native/usr/include
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 7>_cache/include
  include: /home/myname/Documents/<redacted path 1>/<redacted path 8>/0.0.301/recipe-sysroot-native/usr/include/boost/compatibility/cpp_c_headers
  include: /home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 7>/src
  include: /home/myname/Documents/<redacted path 1>/<redacted path 8>/0.0.301/recipe-sysroot-native/usr/include/event2
  include: /home/myname/Documents/<redacted path 1>/<redacted path 8>/0.0.301/recipe-sysroot-native/usr/lib/perl5/5.38.2/unicore
  include: /home/myname/Documents/<redacted path 1>/<redacted path 8>/0.0.301/recipe-sysroot-native/usr/lib/glib-2.0/include
  system include: /usr/lib/gcc/x86_64-linux-gnu/12/include
  system include: /usr/local/include
  system include: /usr/include/x86_64-linux-gnu
  system include: /usr/include
  define: __DBL_MIN_EXP__=(-1021)
  define: __UINT_LEAST16_MAX__=0xffff
  define: __FLT16_HAS_QUIET_NAN__=1
  define: __ATOMIC_ACQUIRE=2
  define: __FLT128_MAX_10_EXP__=4932
  define: __FLT_MIN__=1.17549435082228750796873653722224568e-38F
  define: __GCC_IEC_559_COMPLEX=2
  define: __UINT_LEAST8_TYPE__=unsigned char
  define: __SIZEOF_FLOAT80__=16
  define: __INTMAX_C(c)=c ## L
  define: __CHAR_BIT__=8
  define: __UINT8_MAX__=0xff
  define: __SCHAR_WIDTH__=8
  define: __WINT_MAX__=0xffffffffU
  define: __FLT32_MIN_EXP__=(-125)
  define: __ORDER_LITTLE_ENDIAN__=1234
  define: __SIZE_MAX__=0xffffffffffffffffUL
  define: __WCHAR_MAX__=0x7fffffff
  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_CHAR_LOCK_FREE=2
  define: __GCC_IEC_559=2
  define: __FLT32X_DECIMAL_DIG__=17
  define: __FLT_EVAL_METHOD__=0
  define: __FLT64_DECIMAL_DIG__=17
  define: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2
  define: __UINT_FAST64_MAX__=0xffffffffffffffffUL
  define: __SIG_ATOMIC_TYPE__=int
  define: __DBL_MIN_10_EXP__=(-307)
  define: __FINITE_MATH_ONLY__=0
  define: __FLT32X_MAX_EXP__=1024
  define: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1
  define: __FLT32_HAS_DENORM__=1
  define: __UINT_FAST8_MAX__=0xff
  define: __FLT32_MAX_10_EXP__=38
  define: __DEC64_MAX_EXP__=385
  define: __INT8_C(c)=c
  define: __INT_LEAST8_WIDTH__=8
  define: __UINT_LEAST64_MAX__=0xffffffffffffffffUL
  define: __SHRT_MAX__=0x7fff
  define: __LDBL_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __FLT64X_MAX_10_EXP__=4932
  define: __LDBL_IS_IEC_60559__=2
  define: __FLT64X_HAS_QUIET_NAN__=1
  define: __UINT_LEAST8_MAX__=0xff
  define: __GCC_ATOMIC_BOOL_LOCK_FREE=2
  define: __FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128
  define: __UINTMAX_TYPE__=long unsigned int
  define: __linux=1
  define: __DEC32_EPSILON__=1E-6DF
  define: __FLT_EVAL_METHOD_TS_18661_3__=0
  define: __unix=1
  define: __UINT32_MAX__=0xffffffffU
  define: __DBL_DENORM_MIN__=((double)4.94065645841246544176568792868221372e-324L)
  define: __FLT128_MIN_EXP__=(-16381)
  define: __WINT_MIN__=0U
  define: __FLT128_MIN_10_EXP__=(-4931)
  define: __FLT32X_IS_IEC_60559__=2
  define: __INT_LEAST16_WIDTH__=16
  define: __SCHAR_MAX__=0x7f
  define: __FLT128_MANT_DIG__=113
  define: __WCHAR_MIN__=(-__WCHAR_MAX__ - 1)
  define: __INT64_C(c)=c ## L
  define: __GCC_ATOMIC_POINTER_LOCK_FREE=2
  define: __FLT32X_MANT_DIG__=53
  define: __FLT64X_EPSILON__=1.08420217248550443400745280086994171e-19F64x
  define: __STDC_HOSTED__=1
  define: __DEC64_MIN_EXP__=(-382)
  define: __DBL_DIG__=15
  define: __FLT32_DIG__=6
  define: __FLT_EPSILON__=1.19209289550781250000000000000000000e-7F
  define: __SHRT_WIDTH__=16
  define: __FLT32_IS_IEC_60559__=2
  define: __LDBL_MIN__=3.36210314311209350626267781732175260e-4932L
  define: __STDC_UTF_16__=1
  define: __DBL_IS_IEC_60559__=2
  define: __DEC32_MAX__=9.999999E96DF
  define: __FLT64X_DENORM_MIN__=3.64519953188247460252840593361941982e-4951F64x
  define: __FLT32X_HAS_INFINITY__=1
  define: __INT32_MAX__=0x7fffffff
  define: __FLT16_DIG__=3
  define: __unix__=1
  define: __INT_WIDTH__=32
  define: __SIZEOF_LONG__=8
  define: __STDC_IEC_559__=1
  define: __STDC_ISO_10646__=201706L
  define: __UINT16_C(c)=c
  define: __DECIMAL_DIG__=21
  define: __STDC_IEC_559_COMPLEX__=1
  define: __FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64
  define: __gnu_linux__=1
  define: __FLT128_IS_IEC_60559__=2
  define: __FLT64X_MIN_10_EXP__=(-4931)
  define: __LDBL_HAS_QUIET_NAN__=1
  define: __FLT16_MIN_EXP__=(-13)
  define: __FLT64_MANT_DIG__=53
  define: __FLT64X_MANT_DIG__=64
  define: __GNUC__=12
  define: __pie__=2
  define: __MMX__=1
  define: __FLT_HAS_DENORM__=1
  define: __SIZEOF_LONG_DOUBLE__=16
  define: __BIGGEST_ALIGNMENT__=16
  define: __FLT64_MAX_10_EXP__=308
  define: __FLT16_MAX_10_EXP__=4
  define: __FLT32_HAS_INFINITY__=1
  define: __DBL_MAX__=((double)1.79769313486231570814527423731704357e+308L)
  define: __INT_FAST32_MAX__=0x7fffffffffffffffL
  define: __DBL_HAS_INFINITY__=1
  define: __SIZEOF_FLOAT__=4
  define: __HAVE_SPECULATION_SAFE_VALUE=1
  define: __DEC32_MIN_EXP__=(-94)
  define: __INTPTR_WIDTH__=64
  define: __FLT64X_HAS_INFINITY__=1
  define: __UINT_LEAST32_MAX__=0xffffffffU
  define: __FLT32X_HAS_DENORM__=1
  define: __INT_FAST16_TYPE__=long int
  define: __STRICT_ANSI__=1
  define: __MMX_WITH_SSE__=1
  define: __LDBL_HAS_DENORM__=1
  define: __SEG_GS=1
  define: __FLT128_HAS_INFINITY__=1
  define: __DEC32_MIN__=1E-95DF
  define: __DBL_MAX_EXP__=1024
  define: __WCHAR_WIDTH__=32
  define: __FLT32_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __DEC128_EPSILON__=1E-33DL
  define: __FLT16_DECIMAL_DIG__=5
  define: __SSE2_MATH__=1
  define: __ATOMIC_HLE_RELEASE=131072
  define: __PTRDIFF_MAX__=0x7fffffffffffffffL
  define: __amd64=1
  define: __ATOMIC_HLE_ACQUIRE=65536
  define: __LONG_LONG_MAX__=0x7fffffffffffffffLL
  define: __SIZEOF_SIZE_T__=8
  define: __FLT64X_MIN_EXP__=(-16381)
  define: __SIZEOF_WINT_T__=4
  define: __LONG_LONG_WIDTH__=64
  define: __FLT32_MAX_EXP__=128
  define: __GXX_ABI_VERSION=1017
  define: __FLT_MIN_EXP__=(-125)
  define: __GCC_HAVE_DWARF2_CFI_ASM=1
  define: __INT16_MAX__=0x7fff
  define: __x86_64=1
  define: __INT_FAST64_TYPE__=long int
  define: __FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64
  define: __DBL_MIN__=((double)2.22507385850720138309023271733240406e-308L)
  define: __FLT16_DENORM_MIN__=5.96046447753906250000000000000000000e-8F16
  define: __FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128
  define: __FLT64X_NORM_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __SIZEOF_POINTER__=8
  define: __LP64__=1
  define: __DBL_HAS_QUIET_NAN__=1
  define: __FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x
  define: __DECIMAL_BID_FORMAT__=1
  define: __FLT64_MIN_EXP__=(-1021)
  define: __FLT64_MIN_10_EXP__=(-307)
  define: __FLT16_MIN_10_EXP__=(-4)
  define: __FLT64X_DECIMAL_DIG__=21
  define: __DEC128_MIN__=1E-6143DL
  define: __REGISTER_PREFIX__=
  define: __UINT16_MAX__=0xffff
  define: __DBL_HAS_DENORM__=1
  define: __LDBL_HAS_INFINITY__=1
  define: __FLT32_MIN__=1.17549435082228750796873653722224568e-38F32
  define: __UINT8_TYPE__=unsigned char
  define: __FLT_DIG__=6
  define: __NO_INLINE__=1
  define: __DEC_EVAL_METHOD__=2
  define: __DEC128_MAX__=9.999999999999999999999999999999999E6144DL
  define: __FLT_MANT_DIG__=24
  define: __LDBL_DECIMAL_DIG__=21
  define: __VERSION__="12.2.0"
  define: __UINT64_C(c)=c ## UL
  define: _STDC_PREDEF_H=1
  define: __INT_LEAST32_MAX__=0x7fffffff
  define: __GCC_ATOMIC_INT_LOCK_FREE=2
  define: __FLT128_MAX_EXP__=16384
  define: __FLT32_MANT_DIG__=24
  define: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __FLT32X_MIN_EXP__=(-1021)
  define: __STDC_IEC_60559_COMPLEX__=201404L
  define: __FLT128_HAS_DENORM__=1
  define: __FLT32_DECIMAL_DIG__=9
  define: __FLT128_DIG__=33
  define: __INT32_C(c)=c
  define: __DEC64_EPSILON__=1E-15DD
  define: __ORDER_PDP_ENDIAN__=3412
  define: __DEC128_MIN_EXP__=(-6142)
  define: __INT_FAST32_TYPE__=long int
  define: __UINT_LEAST16_TYPE__=short unsigned int
  define: __SIZE_TYPE__=long unsigned int
  define: __UINT64_MAX__=0xffffffffffffffffUL
  define: __FLT_IS_IEC_60559__=2
  define: __GNUC_WIDE_EXECUTION_CHARSET_NAME="UTF-32LE"
  define: __FLT64X_DIG__=18
  define: __INT8_TYPE__=signed char
  define: __ELF__=1
  define: __GCC_ASM_FLAG_OUTPUTS__=1
  define: __UINT32_TYPE__=unsigned int
  define: __FLT_RADIX__=2
  define: __INT_LEAST16_TYPE__=short int
  define: __LDBL_EPSILON__=1.08420217248550443400745280086994171e-19L
  define: __UINTMAX_C(c)=c ## UL
  define: __SSE_MATH__=1
  define: __k8=1
  define: __FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x
  define: __SIG_ATOMIC_MAX__=0x7fffffff
  define: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2
  define: __USER_LABEL_PREFIX__=
  define: __STDC_IEC_60559_BFP__=201404L
  define: __SIZEOF_PTRDIFF_T__=8
  define: __LDBL_DIG__=18
  define: __FLT64_IS_IEC_60559__=2
  define: __x86_64__=1
  define: __FLT16_IS_IEC_60559__=2
  define: __FLT16_MAX_EXP__=16
  define: __DEC32_SUBNORMAL_MIN__=0.000001E-95DF
  define: __INT_FAST16_MAX__=0x7fffffffffffffffL
  define: __GCC_CONSTRUCTIVE_SIZE=64
  define: __FLT64_DIG__=15
  define: __UINT_FAST32_MAX__=0xffffffffffffffffUL
  define: __UINT_LEAST64_TYPE__=long unsigned int
  define: __FLT16_EPSILON__=9.76562500000000000000000000000000000e-4F16
  define: __FLT_HAS_QUIET_NAN__=1
  define: __FLT_MAX_10_EXP__=38
  define: __LONG_MAX__=0x7fffffffffffffffL
  define: __FLT64X_HAS_DENORM__=1
  define: __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL
  define: __FLT_HAS_INFINITY__=1
  define: __GNUC_EXECUTION_CHARSET_NAME="UTF-8"
  define: __UINT_FAST16_TYPE__=long unsigned int
  define: __DEC64_MAX__=9.999999999999999E384DD
  define: __INT_FAST32_WIDTH__=64
  define: __CHAR16_TYPE__=short unsigned int
  define: __PRAGMA_REDEFINE_EXTNAME=1
  define: __SIZE_WIDTH__=64
  define: __SEG_FS=1
  define: __INT_LEAST16_MAX__=0x7fff
  define: __FLT16_NORM_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __DEC64_MANT_DIG__=16
  define: __INT64_MAX__=0x7fffffffffffffffL
  define: __FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32
  define: __SIG_ATOMIC_WIDTH__=32
  define: __INT_LEAST64_TYPE__=long int
  define: __INT16_TYPE__=short int
  define: __INT_LEAST8_TYPE__=signed char
  define: __FLT16_MAX__=6.55040000000000000000000000000000000e+4F16
  define: __STDC_VERSION__=201710L
  define: __SIZEOF_INT__=4
  define: __DEC32_MAX_EXP__=97
  define: __INT_FAST8_MAX__=0x7f
  define: __FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __INTPTR_MAX__=0x7fffffffffffffffL
  define: __FLT64_HAS_QUIET_NAN__=1
  define: __FLT32_MIN_10_EXP__=(-37)
  define: __FLT32X_DIG__=15
  define: __PTRDIFF_WIDTH__=64
  define: __LDBL_MANT_DIG__=64
  define: __FLT64_HAS_INFINITY__=1
  define: __FLT64X_MAX__=1.18973149535723176502126385303097021e+4932F64x
  define: __FLT16_HAS_INFINITY__=1
  define: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
  define: __code_model_small__=1
  define: __GCC_ATOMIC_LONG_LOCK_FREE=2
  define: __DEC32_MANT_DIG__=7
  define: __FLT16_MANT_DIG__=11
  define: __k8__=1
  define: __INTPTR_TYPE__=long int
  define: __UINT16_TYPE__=short unsigned int
  define: __WCHAR_TYPE__=int
  define: __pic__=2
  define: __UINTPTR_MAX__=0xffffffffffffffffUL
  define: __INT_FAST64_WIDTH__=64
  define: __INT_FAST64_MAX__=0x7fffffffffffffffL
  define: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
  define: __FLT_NORM_MAX__=3.40282346638528859811704183484516925e+38F
  define: __FLT64X_MAX_EXP__=16384
  define: __UINT_FAST64_TYPE__=long unsigned int
  define: __INT_MAX__=0x7fffffff
  define: __linux__=1
  define: __INT64_TYPE__=long int
  define: __FLT_MAX_EXP__=128
  define: __ORDER_BIG_ENDIAN__=4321
  define: __DBL_MANT_DIG__=53
  define: __SIZEOF_FLOAT128__=16
  define: __INT_LEAST64_MAX__=0x7fffffffffffffffL
  define: __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: __FLT32_NORM_MAX__=3.40282346638528859811704183484516925e+38F32
  define: __SSE__=1
  define: __LDBL_MIN_EXP__=(-16381)
  define: __FLT64_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __amd64__=1
  define: __WINT_WIDTH__=32
  define: __INT_LEAST8_MAX__=0x7f
  define: __INT_LEAST64_WIDTH__=64
  define: __LDBL_MAX_EXP__=16384
  define: __FLT32X_MAX_10_EXP__=308
  define: __SIZEOF_INT128__=16
  define: __FLT16_MIN__=6.10351562500000000000000000000000000e-5F16
  define: __FLT64X_IS_IEC_60559__=2
  define: __LDBL_MAX_10_EXP__=4932
  define: __ATOMIC_RELAXED=0
  define: __DBL_EPSILON__=((double)2.22044604925031308084726333618164062e-16L)
  define: __FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128
  define: _LP64=1
  define: __UINT8_C(c)=c
  define: __FLT64_MAX_EXP__=1024
  define: __INT_LEAST32_TYPE__=int
  define: __SIZEOF_WCHAR_T__=4
  define: __UINT64_TYPE__=long unsigned int
  define: __GNUC_PATCHLEVEL__=0
  define: __FLT128_NORM_MAX__=1.18973149535723176508575932662800702e+4932F128
  define: __FLT64_NORM_MAX__=1.79769313486231570814527423731704357e+308F64
  define: __FLT128_HAS_QUIET_NAN__=1
  define: __INTMAX_MAX__=0x7fffffffffffffffL
  define: __INT_FAST8_TYPE__=signed char
  define: __FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x
  define: __GNUC_STDC_INLINE__=1
  define: __FLT64_HAS_DENORM__=1
  define: __FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32
  define: __FLT16_HAS_DENORM__=1
  define: __DBL_DECIMAL_DIG__=17
  define: __STDC_UTF_32__=1
  define: __INT_FAST8_WIDTH__=8
  define: __FXSR__=1
  define: __FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __DBL_NORM_MAX__=((double)1.79769313486231570814527423731704357e+308L)
  define: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
  define: __GCC_DESTRUCTIVE_SIZE=64
  define: __INTMAX_WIDTH__=64
  define: __UINT32_C(c)=c ## U
  define: __FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F
  define: __INT8_MAX__=0x7f
  define: __LONG_WIDTH__=64
  define: __PIC__=2
  define: __UINT_FAST32_TYPE__=long unsigned int
  define: __FLT32X_NORM_MAX__=1.79769313486231570814527423731704357e+308F32x
  define: __CHAR32_TYPE__=unsigned int
  define: __FLT_MAX__=3.40282346638528859811704183484516925e+38F
  define: __SSE2__=1
  define: __INT32_TYPE__=int
  define: __SIZEOF_DOUBLE__=8
  define: __FLT_MIN_10_EXP__=(-37)
  define: __FLT64_MIN__=2.22507385850720138309023271733240406e-308F64
  define: __INT_LEAST32_WIDTH__=32
  define: __INTMAX_TYPE__=long int
  define: __DEC128_MAX_EXP__=6145
  define: __FLT32X_HAS_QUIET_NAN__=1
  define: __ATOMIC_CONSUME=1
  define: __GNUC_MINOR__=2
  define: __INT_FAST16_WIDTH__=64
  define: __UINTMAX_MAX__=0xffffffffffffffffUL
  define: __PIE__=2
  define: __FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x
  define: __DBL_MAX_10_EXP__=308
  define: __LDBL_DENORM_MIN__=3.64519953188247460252840593361941982e-4951L
  define: __INT16_C(c)=c
  define: __STDC__=1
  define: __PTRDIFF_TYPE__=long int
  define: __ATOMIC_SEQ_CST=5
  define: __FLT32X_MIN_10_EXP__=(-307)
  define: __UINTPTR_TYPE__=long unsigned int
  define: __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD
  define: __DEC128_MANT_DIG__=34
  define: __LDBL_MIN_10_EXP__=(-4931)
  define: __SIZEOF_LONG_LONG__=8
  define: __FLT128_DECIMAL_DIG__=36
  define: __GCC_ATOMIC_LLONG_LOCK_FREE=2
  define: __FLT32_HAS_QUIET_NAN__=1
  define: __FLT_DECIMAL_DIG__=9
  define: __UINT_FAST16_MAX__=0xffffffffffffffffUL
  define: __LDBL_NORM_MAX__=1.18973149535723176502126385303097021e+4932L
  define: __GCC_ATOMIC_SHORT_LOCK_FREE=2
  define: __UINT_FAST8_TYPE__=unsigned char
  define: __ATOMIC_ACQ_REL=4
  define: __ATOMIC_RELEASE=3
  define: TARGET_BUILD=1
  other: --gcc
  other: --gnu_version=120200
  stdver: c17
  intelliSenseMode: linux-gcc-x64
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
LSP: (received) cpptools/didChangeActiveEditor: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
LSP: (invoked) cpptools/didChangeActiveEditor: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Update IntelliSense time (sec): 4.457
LSP: (received) cpptools/getFoldingRanges: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 10)
LSP: (invoked) cpptools/getFoldingRanges: file:///home/myname/Documents/<redacted path 1>/<redacted path 2>/<redacted path 3>/<redacted filename 4>.hpp (id: 10)
LSP: Sending response (id: 10)

Other Extensions

This problem occurs even after I've disabled all other extensions. It doesn't occur after disabling the C/C++ extension though.

Additional context

Image

Image

Image

@sean-mcmanus sean-mcmanus self-assigned this Nov 19, 2024
@sean-mcmanus sean-mcmanus added more info needed The issue report is not actionable in its current state Feature: Configuration An issue related to configuring the extension or IntelliSense labels Nov 19, 2024
@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Nov 19, 2024

@DonaldDuck313 Does your workspace have any C files? It looks like README.md is being associated with and is somehow including that header? When you open the header and it switches to C, you can run C/C++: Log Diagnostics at that point and it should show which C file it associated that header with, so if you can prevent that file from being associated with the header then that should fix it.

I believe we have a separate existing issue tracking potentially making the bottom right language status bar be the source of truth in regards to the language so that it doesn't switch back when users don't want that (but I'm not sure where that issue is located so we could use this issue to track that unless we find the other issue).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature: Configuration An issue related to configuring the extension or IntelliSense more info needed The issue report is not actionable in its current state
Projects
None yet
Development

No branches or pull requests

2 participants