microsoft / microsoft/vscode-cpptools
Decimal use produces unexpected errors: "identifier "_Decimal128" is undefined"; "extra text after expected end of number"
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
Environment
- OS and Version: Windows 11 Pro (10.0.22621)
- VS Code Version: 1.86
- C/C++ Extension Version: 1.18.5
- If using SSH remote, specify OS of remote machine: Rocky Linux 9.3 x64
Bug Summary and Steps to Reproduce
Bug Summary:
C/C++ is reporting errors in a source project that uses GCC's _Decimal128 implementation.
Steps to reproduce:
Create new project containing single file on remote
int main (int argc, char **argv) {
_Decimal128 v;
v=1.25DL;
return (int)v;
}
Result is two errors for the source file:
identifier "_Decimal128" is undefined
extra text after expected end of number
Expected behavior:
No errors
Configuration and Logs
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c23",
"cppStandard": "c++23",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
C/C++: Log Diagnostics output:
-------- Diagnostics - 08/02/2024, 14:08:12
Version: 1.18.5
Current Configuration:
{
"name": "Linux",
"includePath": [
"/tmp/dectest/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c23",
"cppStandard": "c++23",
"intelliSenseMode": "linux-gcc-x64",
"compilerPathIsExplicit": true,
"cStandardIsExplicit": true,
"cppStandardIsExplicit": true,
"intelliSenseModeIsExplicit": true,
"compilerPathInCppPropertiesJson": "/usr/bin/gcc",
"mergeConfigurations": false,
"browse": {
"path": [
"/tmp/dectest/**",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
}
}
cpptools version (native): 1.18.3.0
Translation Unit Mappings:
[ /tmp/dectest/dectest.c ]:
/tmp/dectest/dectest.c
Translation Unit Configurations:
[ /tmp/dectest/dectest.c ]:
Process ID: 491636
Memory Usage: 10 MB
Compiler Path: /usr/bin/gcc
Includes:
/usr/lib/gcc/x86_64-redhat-linux/11/include
/usr/local/include
/usr/include
Standard Version: c23
IntelliSense Mode: linux-gcc-x64
Other Flags:
--gcc
--gnu_version=110401
Total Memory Usage: 10 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 6377
Language Server Debug Logging:
loggingLevel: Debug
loggingLevel has changed to: Debug
LSP: (invoked) cpptools/didChangeCppProperties (id: 172)
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 173)
LSP: (received) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 173)
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 174)
LSP: (invoked) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 174)
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 175)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 175)
LSP: (received) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 176)
LSP: (invoked) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 176)
LSP: (received) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 177)
LSP: (invoked) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 177)
LSP: (received) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (invoked) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 178)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 178)
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 179)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 179)
LSP: (received) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (invoked) cpptools/activeDocumentChange: file:///tmp/dectest/dectest.c
LSP: (received) cpptools/textEditorSelectionChange
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) textDocument/hover: file:///tmp/dectest/dectest.c (id: 180)
LSP: (invoked) textDocument/hover: file:///tmp/dectest/dectest.c (id: 180)
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 181)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 181)
LSP: (received) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 182)
LSP: (invoked) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 182)
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 183)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 183)
LSP: (received) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (invoked) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 184)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 184)
LSP: (received) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 185)
LSP: (invoked) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 185)
LSP: (received) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 186)
LSP: (invoked) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 186)
LSP: (received) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 187)
LSP: (invoked) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 187)
tag parsing file: /tmp/dectest/dectest.c
LSP: (received) textDocument/hover: file:///tmp/dectest/dectest.c (id: 188)
LSP: (invoked) textDocument/hover: file:///tmp/dectest/dectest.c (id: 188)
sending 1 changes to server
LSP: (received) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 189)
LSP: (invoked) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 189)
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 190)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 190)
LSP: (received) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (invoked) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 191)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 191)
LSP: (received) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 192)
LSP: (invoked) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 192)
LSP: (received) textDocument/hover: file:///tmp/dectest/dectest.c (id: 193)
LSP: (invoked) textDocument/hover: file:///tmp/dectest/dectest.c (id: 193)
sending 1 changes to server
LSP: (received) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 194)
LSP: (invoked) textDocument/documentHighlight: file:///tmp/dectest/dectest.c (id: 194)
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
LSP: (received) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 195)
LSP: (invoked) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 195)
tag parsing file: /tmp/dectest/dectest.c
idle loop: reparsing the active document
Checking for syntax errors: /tmp/dectest/dectest.c
Queueing IntelliSense update for files in translation unit of: /tmp/dectest/dectest.c
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 196)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 196)
LSP: (received) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (invoked) textDocument/didChange: file:///tmp/dectest/dectest.c
LSP: (received) cpptools/textEditorSelectionChange
LSP: (invoked) cpptools/textEditorSelectionChange
sending 1 changes to server
Error squiggle count: 2
LSP: Request canceled by server (cpptools/getSemanticTokens, code: -32802, id: 186)
Update IntelliSense time (sec): 0.258
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 197)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 197)
LSP: (received) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 198)
LSP: (invoked) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 198)
LSP: (received) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 199)
LSP: (invoked) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 199)
LSP: (received) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 200)
LSP: (invoked) cpptools/getDocumentSymbols: file:///tmp/dectest/dectest.c (id: 200)
tag parsing file: /tmp/dectest/dectest.c
LSP: (received) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 201)
LSP: (invoked) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 201)
LSP: (received) textDocument/willSaveWaitUntil: file:///tmp/dectest/dectest.c (id: 202)
LSP: (invoked) textDocument/willSaveWaitUntil: file:///tmp/dectest/dectest.c (id: 202)
willSaveWaitUntil: 0ms
LSP: (received) textDocument/didSave: file:///tmp/dectest/dectest.c
LSP: (invoked) textDocument/didSave: file:///tmp/dectest/dectest.c
tag parsing file: /tmp/dectest/dectest.c
LSP: (received) cpptools/fileChanged: file:///tmp/dectest/dectest.c
LSP: (invoked) cpptools/fileChanged: file:///tmp/dectest/dectest.c
idle loop: reparsing the active document
Checking for syntax errors: /tmp/dectest/dectest.c
Queueing IntelliSense update for files in translation unit of: /tmp/dectest/dectest.c
Checking for syntax errors: /tmp/dectest/dectest.c
Queueing IntelliSense update for files in translation unit of: /tmp/dectest/dectest.c
Error squiggle count: 2
Update IntelliSense time (sec): 0.509
LSP: (received) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 203)
LSP: (invoked) cpptools/getSemanticTokens: file:///tmp/dectest/dectest.c (id: 203)
LSP: (received) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 204)
LSP: (invoked) cpptools/getInlayHints: file:///tmp/dectest/dectest.c (id: 204)
LSP: (received) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 205)
LSP: (invoked) cpptools/getCodeActions: file:///tmp/dectest/dectest.c (id: 205)
LSP: (received) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 206)
LSP: (invoked) cpptools/getFoldingRanges: file:///tmp/dectest/dectest.c (id: 206)
Other Extensions
Only extensions enabled for the workspace are the remote developent extensions.
Additional context
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il riproduttore a file singolo in /tmp/dectest/dectest.c e con la configurazione C/C++ registrata che usa GCC, C23 e linux-gcc-x64. Riproduci le due diagnosi, quindi traccia il percorso di analisi di IntelliSense per _Decimal128 e il letterale 1.25DL. Il lavoro è completato quando entrambe le diagnosi sono assenti per il codice sorgente C fornito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, typescript, vscode
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100