Skip to content

Strange result of sizeof operator for size_t type #11881

@AlanTeixeiraNM

Description

@AlanTeixeiraNM

Environment

  • OS and Version: Windows 11 Home single language version 10.0.22621
  • VS Code Version: Code 1.85.2
  • C/C++ Extension Version: v1.18.5
  • If using SSH remote, specify OS of remote machine:

Bug Summary and Steps to Reproduce

Bug Summary:
In my C++ implementation size_t is an alias for unsigned long long which has size 8 bytes, but sizeof operator returns different results when applied to size_t and unsigned long long

Steps to reproduce:
Just compile and run a source file with the code:

std::cout<<sizeof(size_t)<<'\n';
std::cout<<sizeof(unsigned long long);

Expected behavior:
The first line prints 4 and the second line prints 8.

Configuration and Logs

c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.20348.0",
            "compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx86/x64/cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++23",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}

C/C++ Log Diagnostics
-------- Diagnostics - 1/19/2024, 9:10:15 AM
Version: 1.18.5
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "c:/Users/alant/Codeprojects/test/**"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
    ],
    "windowsSdkVersion": "10.0.20348.0",
    "compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx86/x64/cl.exe",
    "cStandard": "c17",
    "cppStandard": "c++23",
    "intelliSenseMode": "windows-msvc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx86/x64/cl.exe",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "c:/Users/alant/Codeprojects/test/**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
cpptools version (native): 1.18.3.0
Translation Unit Mappings:
[ C:\Users\alant\Codeprojects\test\test.cpp ]:
    C:\Users\alant\Codeprojects\test\test.cpp
Translation Unit Configurations:
[ C:\Users\alant\Codeprojects\test\test.cpp ]:
    Process ID: 15428
    Memory Usage: 376 MB
    Compiler Path: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\bin\Hostx86\x64\cl.exe
    Includes:
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\atlmfc\include
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\cppwinrt
        C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\winrt
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\cppwinrt
    Defines:
        _DEBUG
        UNICODE
        _UNICODE
    Standard Version: ms_c++latest
    IntelliSense Mode: windows-msvc-x64
    Other Flags:
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\ATLMFC\lib\x86
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\lib\x86
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\lib\x86\store\references
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22621.0
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\References\10.0.22621.0
        --using_directory
        C:\Windows\Microsoft.NET\Framework\v4.0.30319
Total Memory Usage: 376 MB

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

Other Extensions

The issue persists after disabling the extensions.

List of Extension | version:

doxdocgen | 1.4.0

better-cpp-syntax | 1.17.2

vscode-language-pack-pt-BR | 1.85.2024011709

python | 2023.22.1

vscode-pylance | 2023.12.1

cpptools | 1.18.5

cpptools-extension-pack | 1.3.0

(1 theme extensions excluded)

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions