microsoft / microsoft/vscode-cpptools

Intellisense error sizeof(uint32_t) is 8 bytes

Aperta
#12,377 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug Feature: Configuration Language Service
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Environment
  • OS and Version: Linux x64 6.8.10-300.fc40.x86_64
  • VS Code Version: 1.90.0
  • C/C++ Extension Version: v1.20.5
  • If using SSH remote, specify OS of remote machine: no
Bug Summary and Steps to Reproduce

Bug Summary:
I'm work on ESP-IDF get C/C++(1578), and hover sizeof(uint32_t) get (size_t)8U, hover uint32_t get typedef unsigned long uint32_t

In Windows 10 i get sizeof(uint32_t) is (size_t)4U

code snippets

    switch (size) {
        case sizeof(uint8_t): {
            ret = nvs_set_u8(__nvs_handle, key, *((uint8_t *)data));
        } break;
        case sizeof(uint16_t): {
            ret = nvs_set_u16(__nvs_handle, key, *((uint16_t *)data));
        } break;
        case sizeof(uint32_t): {
            ret = nvs_set_u32(__nvs_handle, key, *((uint32_t *)data));
        } break;
        case sizeof(uint64_t): {
            ret = nvs_set_u64(__nvs_handle, key, *((uint64_t *)data));
        } break;
        default: {
            ret = nvs_set_blob(__nvs_handle, key, (void *)data, size);
        } break;
    }

Steps to reproduce:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior:

Configuration and Logs
c_cpp_properties.json

{
    "configurations": [
        {
            "name": "ESP-IDF",
            "includePath": [
                "${config:idf.espIdfPathWin}/components",
                "${workspaceFolder}"
            ],
            "browse": {
                "path": [
                    "${config:idf.espIdfPathWin}/components",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": true
            },
            "compileCommands": "${workspaceFolder}/build/compile_commands.json",
            "cStandard": "c11",
            "compilerPath": "${config:idf.toolsPath}/tools/riscv32-esp-elf/esp-13.2.0_20230928/riscv32-esp-elf/bin/riscv32-esp-elf-gcc"
        }
    ],
    "version": 4
}
Other Extensions

ESP_IDF: espressif.esp-idf-extension

Additional context

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con c_cpp_properties.json e workspace build/compile_commands.json, quindi verifica il compilatore riscv32-esp-elf-gcc configurato e le informazioni sui tipi di IntelliSense per uint32_t. Riproduci il risultato dell’hover su Linux e Windows; il lavoro è completato quando sizeof(uint32_t) restituisce la dimensione prevista per la destinazione configurata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, cpp
Ambito
devtools, embedded-iot
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.