vscode-cpptools
vscode-cpptools copied to clipboard
Sized enums still aren't supported
Type: Bug
Step 0: Set your "C Standard" to at least c23 (I have it on gnu23).
Step 1: Declare a sized enum:
enum: uint32_t {
foo = 0xDEADBEEF,
bar = 0x12345678,
baz
}
Step 2: Distinct lack of profit.
Even with #7471 being closed, I still have this issue with Intellisense, though the code compiles fine.
Extension version: 1.26.1 VS Code version: Code 1.100.3 (258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3, 2025-06-02T13:30:54.273Z) OS version: Linux x64 6.8.0-60-generic Modes:
System Info
| Item | Value |
|---|---|
| CPUs | Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz (8 x 2599) |
| GPU Status | 2d_canvas: enabled canvas_oop_rasterization: enabled_on direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off video_decode: enabled video_encode: disabled_software vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: disabled_off webnn: disabled_off |
| Load (avg) | 1, 1, 1 |
| Memory (System) | 15.34GB (9.25GB free) |
| Process Argv | --crash-reporter-id 3cdbf6ce-6d27-475a-ae69-ae7116a9bb80 |
| Screen Reader | no |
| VM | 22% |
| DESKTOP_SESSION | ubuntu |
| XDG_CURRENT_DESKTOP | Unity |
| XDG_SESSION_DESKTOP | ubuntu |
| XDG_SESSION_TYPE | x11 |
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
2e7ec940:31000449
pythontbext0:30879054
cppperfnew:31000557
dwnewjupyter:31046869
pythonrstrctxt:31112756
nativeloc2:31192216
5fd0e150:31155592
dwcopilot:31170013
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
9064b325:31222308
copilot_t_ci:31222730
e5gg6876:31282496
pythoneinst12:31285622
bgtreat:31268568
4gafe986:31271826
c7cif404:31314491
pythonpulldiagcf:31316724
996jf627:31283433
pythonrdcb7:31303018
usemplatestapi:31297334
0aa6g176:31307128
7bj51361:31289155
747dc170:31275177
9hi5e907:31319474
pylancecolor:31314202
aj953862:31281341
generatesymbolt:31295002
convertfstringf:31295003
gendocf:31295004
@cD1rtX3 This is not implemented by our our parser yet -- you can track the progress in the EDG column at https://en.cppreference.com/w/c/compiler_support/23 row "Enumerations with fixed underlying types".
The root c23 issue is at https://github.com/microsoft/vscode-cpptools/issues/10696, but we can use this issue to track this specific feature.
@sean-mcmanus: According to the progress spreadsheet (row 193), this feature was recently added to EDG as of release 6.8. Can you please provide an ETA as to when this will make its way into vscode-cpptools?
@jleveque Yeah, we plan to add that when it's available and integrated into our code -- I don't have any insider knowledge on this but I'm guessing 6.8 might not be done yet and the progress is just showing what is pending and they have more stuff to add and test before releasing it? So I don't have an ETA yet.
Why do we use EDG? Is there a way to use GCC's lexer/parser, since it already supports everything?
@cD1rtX3 Because EDG has support for enumulating different versions of gcc, clang, and msvc (and our implementation isn't integrated with a gcc front end parser). But this will be available in 1.29.0 later this week (from EDG).
Fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/v1.29.0 (pre-release)