microsoft / microsoft/vscode-cpptools

IntelliSense: constexpr give wrong result.

Aperta
#11,916 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@browntarik ci sta già lavorando.

Dal 5/2/2024.

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

Descrizione

Environment
  • OS and Version: Ubuntu 22.04.3 LTS
  • VS Code Version: 1.85.1
  • C/C++ Extension Version: 1.19.2
  • If using SSH remote, specify OS of remote machine:
Bug Summary and Steps to Reproduce

constexpr give wrong result.

#include <cstdio>
#include <memory>

int main(int argc, char* argv[]) {
    constexpr const size_t t0 = sizeof(std::unique_ptr<int>);
    printf("t0: %zu\n", t0);
    return 0;
}

IntelliSense show 16, but actually it is 8.
截图 2024-02-02 23-58-52

Configuration and Logs
Log:
-------- Diagnostics - 2024/2/3 00:06:58
Version: 1.19.2
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/home/llc/下载/my/test0/**"
    ],
    "defines": [],
    "compilerPath": "/usr/bin/clang",
    "cStandard": "c17",
    "cppStandard": "c++14",
    "intelliSenseMode": "linux-clang-x64",
    "compilerPathInCppPropertiesJson": "/usr/bin/clang",
    "intelliSenseModeIsExplicit": false,
    "cStandardIsExplicit": false,
    "cppStandardIsExplicit": false,
    "mergeConfigurations": false,
    "compilerPathIsExplicit": false,
    "configurationProvider": "ms-vscode.cmake-tools",
    "browse": {
        "path": [
            "/home/llc/下载/my/test0/**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
Custom browse configuration: 
{
    "browsePath": [
        "/home/llc/下载/my/3rd/boost_1_84_0",
        "/home/llc/下载/my/test0"
    ],
    "compilerPath": "/usr/bin/g++",
    "compilerArgs": [],
    "compilerFragments": [
        "-g -std=gnu++17"
    ]
}
cpptools version (native): 1.19.2.0
Translation Unit Mappings:
[ /home/llc/下载/my/test0/Main.cpp - source TU]:
Translation Unit Configurations:
[ /home/llc/下载/my/test0/Main.cpp ]:
    Process ID: 7035
    Memory Usage: 58 MB
    Compiler Path: /usr/bin/g++
    Includes:
        /home/llc/下载/my/3rd/boost_1_84_0
        /usr/include/c++/11
        /usr/include/x86_64-linux-gnu/c++/11
        /usr/include/c++/11/backward
        /usr/lib/gcc/x86_64-linux-gnu/11/include
        /usr/local/include
        /usr/include/x86_64-linux-gnu
        /usr/include
    Standard Version: c++17
    IntelliSense Mode: linux-gcc-x64
    Other Flags:
        --g++
        --gnu_version=110400
Total Memory Usage: 58 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 83034
Number of files parsed: 36252
Other Extensions

No response

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.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.