microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.45k stars 1.53k forks source link

IntelliSense does not support some data type sizes for compiler xtensa-lx106-elf-gcc.exe #9765

Open maxgerhardt opened 2 years ago

maxgerhardt commented 2 years ago

Environment

When using PlatformIO to create a ESP8266 project (which has a 32-bit XTensa processor), Intellisense falsely triggers on static_assert checks that check that the size of a pointer is 4 bytes. Intellisense thinks its 8 bytes, when it is in reality 4 bytes.

Bug Summary and Steps to Reproduce

Bug Summary: Intellense does not know about the used pointer sizes, although it is correctly pointed at the device-specific compiler.

Steps to reproduce:

  1. Install the PlatformIO extension
  2. Create a new project for the NodeMCUv2 with framework = Arduino
  3. Use the following code as src/main.cpp
    
    #include <Arduino.h>

void setup() { static_assert(sizeof(void) == 4ul); static_assert(sizeof(int) == 4ul); static_assert(sizeof(const char*) == 4ul); }

void loop() { }

4. Obseve the "Error with the static assertion" message in the "Problems" view.
5. Obvserve that when checking `static_assert(sizeof(void*) == 8ul);`, the error goes away.

### Expected behavior

Intellisense uses the correct pointer sizes, no problems detected.

### Code sample and Logs

Code sample see: above

`c_cpp_properties.json`:

```json
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
    "configurations": [
        {
            "name": "PlatformIO",
            "includePath": [
                "c:/Users/Max/temp/ptr_size/include",
                "c:/Users/Max/temp/ptr_size/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/cores/esp8266",
                "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/include",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/I2S/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/LittleFS/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Netdump/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPI",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Wire",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_PPP/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_enc28j60/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5100/src",
                "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5500/src",
                ""
            ],
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "path": [
                    "c:/Users/Max/temp/ptr_size/include",
                    "c:/Users/Max/temp/ptr_size/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/cores/esp8266",
                    "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/include",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/I2S/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/LittleFS/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Netdump/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPI",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Wire",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_PPP/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_enc28j60/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5100/src",
                    "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5500/src",
                    ""
                ]
            },
            "defines": [
                "PLATFORMIO=60105",
                "ESP8266",
                "ARDUINO_ARCH_ESP8266",
                "ARDUINO_ESP8266_NODEMCU_ESP12E",
                "F_CPU=80000000L",
                "__ets__",
                "ICACHE_FLASH",
                "ARDUINO=10805",
                "ARDUINO_BOARD=\"PLATFORMIO_NODEMCUV2\"",
                "FLASHMODE_DIO",
                "LWIP_OPEN_SRC",
                "NONOSDK22x_190703=1",
                "TCP_MSS=536",
                "LWIP_FEATURES=1",
                "LWIP_IPV6=0",
                "VTABLES_IN_FLASH",
                "MMU_IRAM_SIZE=0x8000",
                "MMU_ICACHE_SIZE=0x8000",
                ""
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "compilerPath": "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe",
            "compilerArgs": [
                "-mlongcalls",
                "-mtext-section-literals",
                ""
            ]
        }
    ],
    "version": 4
}

Logs from C/C++ Log Diagnostics

-------- Diagnostics - 20.8.2022, 23:03:44
Version: 1.12.1
Current Configuration:
{
    "name": "PlatformIO",
    "includePath": [
        "c:/Users/Max/temp/ptr_size/include",
        "c:/Users/Max/temp/ptr_size/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/cores/esp8266",
        "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/include",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/I2S/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/LittleFS/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Netdump/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPI",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Wire",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_PPP/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_enc28j60/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5100/src",
        "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5500/src"
    ],
    "browse": {
        "limitSymbolsToIncludedHeaders": true,
        "path": [
            "c:/Users/Max/temp/ptr_size/include",
            "c:/Users/Max/temp/ptr_size/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/cores/esp8266",
            "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/include",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lwip2/include",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/variants/nodemcu",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ArduinoOTA",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/DNSServer/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/EEPROM",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266AVRISP/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPClient/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266HTTPUpdateServer/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266LLMNR",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266NetBIOS",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SSDP",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFi/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WiFiMesh/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266httpUpdate/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266mDNS/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ethernet/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/GDBStub/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Hash/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/I2S/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/LittleFS/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Netdump/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPI",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SPISlave/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Servo/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/SoftwareSerial/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/TFT_Touch_Shield_V2",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Ticker/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/Wire",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/esp8266/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_PPP/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_enc28j60/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5100/src",
            "C:/Users/Max/.platformio/packages/framework-arduinoespressif8266/libraries/lwIP_w5500/src"
        ]
    },
    "defines": [
        "PLATFORMIO=60105",
        "ESP8266",
        "ARDUINO_ARCH_ESP8266",
        "ARDUINO_ESP8266_NODEMCU_ESP12E",
        "F_CPU=80000000L",
        "__ets__",
        "ICACHE_FLASH",
        "ARDUINO=10805",
        "ARDUINO_BOARD=\"PLATFORMIO_NODEMCUV2\"",
        "FLASHMODE_DIO",
        "LWIP_OPEN_SRC",
        "NONOSDK22x_190703=1",
        "TCP_MSS=536",
        "LWIP_FEATURES=1",
        "LWIP_IPV6=0",
        "VTABLES_IN_FLASH",
        "MMU_IRAM_SIZE=0x8000",
        "MMU_ICACHE_SIZE=0x8000",
        ""
    ],
    "cStandard": "c17",
    "cppStandard": "c++17",
    "compilerPath": "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe",
    "compilerArgs": [
        "-mlongcalls",
        "-mtext-section-literals",
        ""
    ],
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": false,
    "mergeConfigurations": false
}

C/C++ logs:

Translation Unit Mappings:
[ C:\Users\Max\temp\ptr_size\src\main.cpp ]:
    C:\Users\Max\temp\ptr_size\src\main.cpp
Translation Unit Configurations:
[ C:\Users\Max\temp\ptr_size\src\main.cpp ]:
    Process ID: 26136
    Memory Usage: 111 MB
    Compiler Path: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe
    Includes:
        C:\USERS\MAX\TEMP\PTR_SIZE\INCLUDE
        C:\USERS\MAX\TEMP\PTR_SIZE\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\TOOLS\SDK\INCLUDE
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\CORES\ESP8266
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\INCLUDE
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\TOOLS\SDK\LWIP2\INCLUDE
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\VARIANTS\NODEMCU
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ARDUINOOTA
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\DNSSERVER\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\EEPROM
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266AVRISP\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPCLIENT\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPUPDATESERVER\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266LLMNR
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266NETBIOS
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266SSDP
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266SDFAT\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WEBSERVER\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WIFI\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WIFIMESH\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPUPDATE\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266MDNS\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ETHERNET\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\GDBSTUB\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\HASH\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\I2S\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LITTLEFS\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\NETDUMP\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SD\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SDFS\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SPI
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SPISLAVE\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SERVO\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SOFTWARESERIAL\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\TFT_TOUCH_SHIELD_V2
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\TICKER\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\WIRE
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_PPP\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_ENC28J60\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_W5100\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_W5500\SRC
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0\XTENSA-LX106-ELF
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0\BACKWARD
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\LIB\GCC\XTENSA-LX106-ELF\10.3.0\INCLUDE
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\LIB\GCC\XTENSA-LX106-ELF\10.3.0\INCLUDE-FIXED
        C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE
    Defines:
        PLATFORMIO=60105
        ESP8266
        ARDUINO_ARCH_ESP8266
        ARDUINO_ESP8266_NODEMCU_ESP12E
        F_CPU=80000000L
        __ets__
        ICACHE_FLASH
        ARDUINO=10805
        ARDUINO_BOARD="PLATFORMIO_NODEMCUV2"
        FLASHMODE_DIO
        LWIP_OPEN_SRC
        NONOSDK22x_190703=1
        TCP_MSS=536
        LWIP_FEATURES=1
        LWIP_IPV6=0
        VTABLES_IN_FLASH
        MMU_IRAM_SIZE=0x8000
        MMU_ICACHE_SIZE=0x8000

    Standard Version: c++17
    IntelliSense Mode: windows-gcc-x64
    Other Flags:
        --g++
        --gnu_version=100300
Total Memory Usage: 111 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 1643
Number of files parsed: 989

Logs from language server logging:

loggingLevel: Debug
loggingLevel wurde geändert in Debug
cpptools/didChangeCppProperties
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 185)
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/activeDocumentChange: C:\Users\Max\temp\ptr_size\src\main.cpp
cpptools/getFoldingRanges: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 186)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 187)
cpptools/textEditorSelectionChange
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 188)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 189)
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
cpptools/activeDocumentChange: C:\Users\Max\temp\ptr_size\src\main.cpp
cpptools/getFoldingRanges: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 190)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 191)
cpptools/textEditorSelectionChange
textDocument/documentHighlight: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 192)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 193)
cpptools/textEditorSelectionChange
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 194)
cpptools/getDiagnostics (id: 195)
cpptools/textEditorSelectionChange
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 196)
cpptools/activeDocumentChange: C:\Users\Max\temp\ptr_size\src\main.cpp
cpptools/textEditorSelectionChange
cpptools/activeDocumentChange: C:\Users\Max\temp\ptr_size\src\main.cpp

Screenshots

Intellisense wants me to convince that sizeof(void*) == 4 is wrong when using xtensa-lx106-elf-gcc.

grafik

Asking the firmware to output that value gives the expected value: 4 bytes, of course.

grafik

Additional context

The line

    IntelliSense Mode: windows-gcc-x64

seems highly suspicious. Just because I'm using Windows 10 x64 with a GCC compiler it thinks the target I'm building for is also 64-bits? My target machine could be anything, like in this case a 32-bit XTensa processor -- and VSCode should know about it because it is given the compiler path with all needed configuration switches.

michelleangela commented 2 years ago

@maxgerhardt This is a known limitation of our IntelliSense engine which currently only support certain compilers (as defined by the available IntelliSense modes that has predefined sizes of types). Some compilers may work but support may be limited such as for this case. A workaround is to define the size of the type in c_cpp_properties.json under defines.

Could you also try to change the IntelliSense mode to windows-gcc-x86 and provide the logs from the language server logging that shows the extension querying the compilerPath?

Note: this is similar issue to https://github.com/microsoft/vscode-cpptools/issues/8875

maxgerhardt commented 2 years ago

Language server logs from from the start: (Note that although I set the "display language" to en, it still shows all messages in german..):

loggingLevel: Debug
cpptools/didChangeCppProperties
Es wird versucht, Standardwerte vom C-Compiler in der Eigenschaft "compilerPath" abzurufen: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe
Der Compiler für den Standard-C++-Sprachstandard wird über die Befehlszeile abgefragt: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -x c++ -E -dM nul
Erkannte Sprachstandardversion: gnu++14
Der Compiler für den Standard-C-Sprachstandard wird über die Befehlszeile abgefragt: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -x c -E -dM nul
Erkannte Sprachstandardversion: gnu17
Das Standardziel des Compilers wird über die Befehlszeile abgefragt: "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe" -dumpmachine
Der Compiler hat den Standardzielwert zurückgegeben: xtensa-lx106-elf
Unbehandelter Standardzielwert für Compiler erkannt: xtensa-lx106-elf
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c17 -m64 -Wp,-v -E -dM -x c nul
Fehler beim Abfragen des Compilers. Es wird ein Fallback auf den 32-Bit-intelliSenseMode durchgeführt.
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c17 -m32 -Wp,-v -E -dM -x c nul
Fehler beim Abfragen des Compilers. Es wird ein Fallback auf keine Bitanzahl durchgeführt.
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c17 -Wp,-v -E -dM -x c nul
Codesuchdienst initialisiert.
Es wird versucht, Standardwerte vom C++-Compiler in der Eigenschaft "compilerPath" abzurufen: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c++17 -m64 -Wp,-v -E -dM -x c++ nul
Fehler beim Abfragen des Compilers. Es wird ein Fallback auf den 32-Bit-intelliSenseMode durchgeführt.
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c++17 -m32 -Wp,-v -E -dM -x c++ nul
Fehler beim Abfragen des Compilers. Es wird ein Fallback auf keine Bitanzahl durchgeführt.
Befehlszeile der Compilerabfrage: C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -mlongcalls -mtext-section-literals -std=c++17 -Wp,-v -E -dM -x c++ nul
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/LIB/GCC/XTENSA-LX106-ELF/10.3.0/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/LIB/GCC/XTENSA-LX106-ELF/10.3.0/INCLUDE-FIXED/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/XTENSA-LX106-ELF/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/TEMP/PTR_SIZE/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/TEMP/PTR_SIZE/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/TOOLS/SDK/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/CORES/ESP8266/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/TOOLS/SDK/LWIP2/INCLUDE/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/VARIANTS/NODEMCU/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ARDUINOOTA/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/DNSSERVER/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/EEPROM/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266AVRISP/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPCLIENT/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPUPDATESERVER/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266LLMNR/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266NETBIOS/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266SSDP/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266SDFAT/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WEBSERVER/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WIFI/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WIFIMESH/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPUPDATE/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266MDNS/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ETHERNET/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/GDBSTUB/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/HASH/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/I2S/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LITTLEFS/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/NETDUMP/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SD/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SDFS/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SPI/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SPISLAVE/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SERVO/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SOFTWARESERIAL/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/TFT_TOUCH_SHIELD_V2/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/TICKER/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/WIRE/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_PPP/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_ENC28J60/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_W5100/SRC/ werden indiziert.
  Ordner: C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_W5500/SRC/ werden indiziert.
Dateien werden ermittelt...
textDocument/didOpen: C:\Users\Max\temp\ptr_size\src\main.cpp
cpptools/textEditorSelectionChange
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/LIB/GCC/XTENSA-LX106-ELF/10.3.0/INCLUDE/
cpptools/activeDocumentChange: C:\Users\Max\temp\ptr_size\src\main.cpp
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/LIB/GCC/XTENSA-LX106-ELF/10.3.0/INCLUDE-FIXED/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/XTENSA-LX106-ELF/INCLUDE/
cpptools/getDocumentSymbols: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 2)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 3)
cpptools/getDocumentSymbols
Anforderung abgebrochen: 2
cpptools/getInlayHints: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 4)
cpptools/getDocumentSymbols: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 5)
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols
textDocument/documentHighlight: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 6)
cpptools/getFoldingRanges: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 7)
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 8)
textDocument/definition: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 9)
Der IntelliSense-Client ist nicht verfügbar, für "Gehe zu Definition" wird der Tagparser verwendet.
cpptools/getSemanticTokens: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 10)
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/TEMP/PTR_SIZE/INCLUDE/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/TEMP/PTR_SIZE/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/TOOLS/SDK/INCLUDE/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/CORES/ESP8266/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/TOOLCHAIN-XTENSA@2.100300.210717/INCLUDE/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/TOOLS/SDK/LWIP2/INCLUDE/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/VARIANTS/NODEMCU/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ARDUINOOTA/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/DNSSERVER/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/EEPROM/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266AVRISP/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPCLIENT/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPUPDATESERVER/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266LLMNR/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266NETBIOS/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266SSDP/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266SDFAT/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WEBSERVER/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WIFI/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266WIFIMESH/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266HTTPUPDATE/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266MDNS/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ETHERNET/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/GDBSTUB/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/HASH/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/I2S/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LITTLEFS/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/NETDUMP/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SD/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SDFS/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SPI/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SPISLAVE/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SERVO/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/SOFTWARESERIAL/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/TFT_TOUCH_SHIELD_V2/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/TICKER/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/WIRE/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/ESP8266/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_PPP/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_ENC28J60/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_W5100/SRC/
  Ordner wird verarbeitet (rekursiv): C:/USERS/MAX/.PLATFORMIO/PACKAGES/FRAMEWORK-ARDUINOESPRESSIF8266/LIBRARIES/LWIP_W5500/SRC/
  Dateiermittlung: 1643 Datei(en) verarbeitet
  2 Datei(en) aus Datenbank entfernt
Die Ermittlung von Dateien ist abgeschlossen.
Offene Dateien werden analysiert...
Der Cache für die Includevervollständigung wird aufgefüllt.
Die Analyse geöffneter Dateien ist abgeschlossen.
Verbleibende Dateien werden analysiert...
  Analyse: 0 Datei(en) verarbeitet
Die Analyse verbleibender Dateien ist abgeschlossen.
Kompilierungsargumente für "C:\Users\Max\temp\ptr_size\src\main.cpp" werden gesendet.
  Includes: C:\USERS\MAX\TEMP\PTR_SIZE\INCLUDE
  Includes: C:\USERS\MAX\TEMP\PTR_SIZE\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\TOOLS\SDK\INCLUDE
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\CORES\ESP8266
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\INCLUDE
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\TOOLS\SDK\LWIP2\INCLUDE
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\VARIANTS\NODEMCU
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ARDUINOOTA
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\DNSSERVER\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\EEPROM
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266AVRISP\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPCLIENT\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPUPDATESERVER\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266LLMNR
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266NETBIOS
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266SSDP
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266SDFAT\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WEBSERVER\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WIFI\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266WIFIMESH\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266HTTPUPDATE\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266MDNS\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ETHERNET\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\GDBSTUB\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\HASH\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\I2S\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LITTLEFS\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\NETDUMP\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SD\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SDFS\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SPI
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SPISLAVE\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SERVO\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\SOFTWARESERIAL\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\TFT_TOUCH_SHIELD_V2
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\TICKER\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\WIRE
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\ESP8266\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_PPP\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_ENC28J60\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_W5100\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\FRAMEWORK-ARDUINOESPRESSIF8266\LIBRARIES\LWIP_W5500\SRC
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0\XTENSA-LX106-ELF
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE\C++\10.3.0\BACKWARD
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\LIB\GCC\XTENSA-LX106-ELF\10.3.0\INCLUDE
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\LIB\GCC\XTENSA-LX106-ELF\10.3.0\INCLUDE-FIXED
  Includes: C:\USERS\MAX\.PLATFORMIO\PACKAGES\TOOLCHAIN-XTENSA@2.100300.210717\XTENSA-LX106-ELF\INCLUDE
  Define-Anweisung: __DBL_MIN_EXP__=(-1021)
  Define-Anweisung: __UINT_LEAST16_MAX__=0xffff
  Define-Anweisung: __ATOMIC_ACQUIRE=2
  Define-Anweisung: __FLT_MIN__=1.1754943508222875e-38F
  Define-Anweisung: __GCC_IEC_559_COMPLEX=0
  Define-Anweisung: __UINT_LEAST8_TYPE__=unsigned char
  Define-Anweisung: __INTMAX_C(c)=c ## LL
  Define-Anweisung: __CHAR_BIT__=8
  Define-Anweisung: __UINT8_MAX__=0xff
  Define-Anweisung: __WINT_MAX__=0xffffffffU
  Define-Anweisung: __FLT32_MIN_EXP__=(-125)
  Define-Anweisung: __ORDER_LITTLE_ENDIAN__=1234
  Define-Anweisung: __SIZE_MAX__=0xffffffffU
  Define-Anweisung: __WCHAR_MAX__=0xffff
  Define-Anweisung: __DBL_DENORM_MIN__=double(4.9406564584124654e-324L)
  Define-Anweisung: __GCC_ATOMIC_CHAR_LOCK_FREE=1
  Define-Anweisung: __GCC_IEC_559=0
  Define-Anweisung: __FLT32X_DECIMAL_DIG__=17
  Define-Anweisung: __FLT_EVAL_METHOD__=0
  Define-Anweisung: __FLT64_DECIMAL_DIG__=17
  Define-Anweisung: __GCC_ATOMIC_CHAR32_T_LOCK_FREE=1
  Define-Anweisung: __UINT_FAST64_MAX__=0xffffffffffffffffULL
  Define-Anweisung: __SIG_ATOMIC_TYPE__=int
  Define-Anweisung: __DBL_MIN_10_EXP__=(-307)
  Define-Anweisung: __FINITE_MATH_ONLY__=0
  Define-Anweisung: __FLT32X_MAX_EXP__=1024
  Define-Anweisung: __GNUC_PATCHLEVEL__=0
  Define-Anweisung: __FLT32_HAS_DENORM__=1
  Define-Anweisung: __UINT_FAST8_MAX__=0xffffffffU
  Define-Anweisung: __INT8_C(c)=c
  Define-Anweisung: __INT_LEAST8_WIDTH__=8
  Define-Anweisung: __UINT_LEAST64_MAX__=0xffffffffffffffffULL
  Define-Anweisung: __SHRT_MAX__=0x7fff
  Define-Anweisung: __LDBL_MAX__=1.7976931348623157e+308L
  Define-Anweisung: __UINT_LEAST8_MAX__=0xff
  Define-Anweisung: __GCC_ATOMIC_BOOL_LOCK_FREE=1
  Define-Anweisung: __UINTMAX_TYPE__=long long unsigned int
  Define-Anweisung: __FLT_EVAL_METHOD_TS_18661_3__=0
  Define-Anweisung: __CHAR_UNSIGNED__=1
  Define-Anweisung: __UINT32_MAX__=0xffffffffU
  Define-Anweisung: __GXX_EXPERIMENTAL_CXX0X__=1
  Define-Anweisung: __LDBL_MAX_EXP__=1024
  Define-Anweisung: __WINT_MIN__=0U
  Define-Anweisung: __INT_LEAST16_WIDTH__=16
  Define-Anweisung: __SCHAR_MAX__=0x7f
  Define-Anweisung: __WCHAR_MIN__=0
  Define-Anweisung: __INT64_C(c)=c ## LL
  Define-Anweisung: __GCC_ATOMIC_POINTER_LOCK_FREE=1
  Define-Anweisung: __XTENSA_CALL0_ABI__=1
  Define-Anweisung: __SIZEOF_INT__=4
  Define-Anweisung: __FLT32X_MANT_DIG__=53
  Define-Anweisung: __GCC_ATOMIC_CHAR16_T_LOCK_FREE=1
  Define-Anweisung: __USER_LABEL_PREFIX__=
  Define-Anweisung: __FLT32_MAX_10_EXP__=38
  Define-Anweisung: __STDC_HOSTED__=1
  Define-Anweisung: __XTENSA_EL__=1
  Define-Anweisung: __DBL_DIG__=15
  Define-Anweisung: __FLT32_DIG__=6
  Define-Anweisung: __FLT_EPSILON__=1.1920928955078125e-7F
  Define-Anweisung: __GXX_WEAK__=1
  Define-Anweisung: __SHRT_WIDTH__=16
  Define-Anweisung: __LDBL_MIN__=2.2250738585072014e-308L
  Define-Anweisung: __FLT32X_HAS_INFINITY__=1
  Define-Anweisung: __INT32_MAX__=0x7fffffff
  Define-Anweisung: __INT_WIDTH__=32
  Define-Anweisung: __SIZEOF_LONG__=4
  Define-Anweisung: __UINT16_C(c)=c
  Define-Anweisung: __DECIMAL_DIG__=17
  Define-Anweisung: __FLT64_EPSILON__=2.2204460492503131e-16F64
  Define-Anweisung: __INT16_MAX__=0x7fff
  Define-Anweisung: __FLT64_MIN_EXP__=(-1021)
  Define-Anweisung: __LDBL_HAS_QUIET_NAN__=1
  Define-Anweisung: __FLT64_MANT_DIG__=53
  Define-Anweisung: __GNUC__=10
  Define-Anweisung: __GXX_RTTI=1
  Define-Anweisung: __FLT_HAS_DENORM__=1
  Define-Anweisung: __SIZEOF_LONG_DOUBLE__=8
  Define-Anweisung: __BIGGEST_ALIGNMENT__=16
  Define-Anweisung: __STDC_UTF_16__=1
  Define-Anweisung: __FLT64_MAX_10_EXP__=308
  Define-Anweisung: __FLT32_HAS_INFINITY__=1
  Define-Anweisung: __DBL_MAX__=double(1.7976931348623157e+308L)
  Define-Anweisung: __INT_FAST32_MAX__=0x7fffffff
  Define-Anweisung: __DBL_HAS_INFINITY__=1
  Define-Anweisung: __HAVE_SPECULATION_SAFE_VALUE=1
  Define-Anweisung: __INTPTR_WIDTH__=32
  Define-Anweisung: __UINT_LEAST32_MAX__=0xffffffffU
  Define-Anweisung: __FLT32X_HAS_DENORM__=1
  Define-Anweisung: __INT_FAST16_TYPE__=int
  Define-Anweisung: __STRICT_ANSI__=1
  Define-Anweisung: __LDBL_HAS_DENORM__=1
  Define-Anweisung: __cplusplus=201703L
  Define-Anweisung: __INT_LEAST32_MAX__=0x7fffffff
  Define-Anweisung: __DEPRECATED=1
  Define-Anweisung: __DBL_MAX_EXP__=1024
  Define-Anweisung: __WCHAR_WIDTH__=16
  Define-Anweisung: __FLT32_MAX__=3.4028234663852886e+38F32
  Define-Anweisung: __GCC_ATOMIC_LONG_LOCK_FREE=1
  Define-Anweisung: __PTRDIFF_MAX__=0x7fffffff
  Define-Anweisung: __FLT32_HAS_QUIET_NAN__=1
  Define-Anweisung: __GNUG__=10
  Define-Anweisung: __LONG_LONG_MAX__=0x7fffffffffffffffLL
  Define-Anweisung: __SIZEOF_SIZE_T__=4
  Define-Anweisung: __SIZEOF_WINT_T__=4
  Define-Anweisung: __LONG_LONG_WIDTH__=64
  Define-Anweisung: __FLT32_MAX_EXP__=128
  Define-Anweisung: __GXX_ABI_VERSION=1014
  Define-Anweisung: __FLT_MIN_EXP__=(-125)
  Define-Anweisung: __INT_FAST64_TYPE__=long long int
  Define-Anweisung: __FLT64_DENORM_MIN__=4.9406564584124654e-324F64
  Define-Anweisung: __DBL_MIN__=double(2.2250738585072014e-308L)
  Define-Anweisung: __SIZEOF_POINTER__=4
  Define-Anweisung: __SIZE_TYPE__=unsigned int
  Define-Anweisung: __DBL_HAS_QUIET_NAN__=1
  Define-Anweisung: __FLT32X_EPSILON__=2.2204460492503131e-16F32x
  Define-Anweisung: __FLT64_MIN_10_EXP__=(-307)
  Define-Anweisung: __REGISTER_PREFIX__=
  Define-Anweisung: __UINT16_MAX__=0xffff
  Define-Anweisung: __FLT32_MIN__=1.1754943508222875e-38F32
  Define-Anweisung: __UINT8_TYPE__=unsigned char
  Define-Anweisung: __FLT_DIG__=6
  Define-Anweisung: __NO_INLINE__=1
  Define-Anweisung: __DEC_EVAL_METHOD__=2
  Define-Anweisung: __FLT_MANT_DIG__=24
  Define-Anweisung: __LDBL_DECIMAL_DIG__=17
  Define-Anweisung: __VERSION__="10.3.0"
  Define-Anweisung: __UINT64_C(c)=c ## ULL
  Define-Anweisung: __XTENSA_SOFT_FLOAT__=1
  Define-Anweisung: __GCC_ATOMIC_INT_LOCK_FREE=1
  Define-Anweisung: __FLT32_MANT_DIG__=24
  Define-Anweisung: __FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__
  Define-Anweisung: __SCHAR_WIDTH__=8
  Define-Anweisung: __INT32_C(c)=c
  Define-Anweisung: __ORDER_PDP_ENDIAN__=3412
  Define-Anweisung: __INT_FAST32_TYPE__=int
  Define-Anweisung: __UINT_LEAST16_TYPE__=short unsigned int
  Define-Anweisung: __DBL_HAS_DENORM__=1
  Define-Anweisung: __UINT64_MAX__=0xffffffffffffffffULL
  Define-Anweisung: __INT8_TYPE__=signed char
  Define-Anweisung: __ELF__=1
  Define-Anweisung: __xtensa__=1
  Define-Anweisung: __FLT_RADIX__=2
  Define-Anweisung: __INT_LEAST16_TYPE__=short int
  Define-Anweisung: __LDBL_EPSILON__=2.2204460492503131e-16L
  Define-Anweisung: __UINTMAX_C(c)=c ## ULL
  Define-Anweisung: __FLT32X_MIN__=2.2250738585072014e-308F32x
  Define-Anweisung: __SIG_ATOMIC_MAX__=0x7fffffff
  Define-Anweisung: __GCC_ATOMIC_WCHAR_T_LOCK_FREE=1
  Define-Anweisung: __SIZEOF_PTRDIFF_T__=4
  Define-Anweisung: __LDBL_DIG__=15
  Define-Anweisung: __FLT32X_MIN_EXP__=(-1021)
  Define-Anweisung: __INT_FAST16_MAX__=0x7fffffff
  Define-Anweisung: __FLT64_DIG__=15
  Define-Anweisung: __UINT_FAST32_MAX__=0xffffffffU
  Define-Anweisung: __UINT_LEAST64_TYPE__=long long unsigned int
  Define-Anweisung: __FLT_HAS_QUIET_NAN__=1
  Define-Anweisung: __FLT_MAX_10_EXP__=38
  Define-Anweisung: __LONG_MAX__=0x7fffffffL
  Define-Anweisung: __FLT_HAS_INFINITY__=1
  Define-Anweisung: __UINT_FAST16_TYPE__=unsigned int
  Define-Anweisung: __INT_FAST32_WIDTH__=32
  Define-Anweisung: __CHAR16_TYPE__=short unsigned int
  Define-Anweisung: __PRAGMA_REDEFINE_EXTNAME=1
  Define-Anweisung: __SIZE_WIDTH__=32
  Define-Anweisung: __INT_LEAST16_MAX__=0x7fff
  Define-Anweisung: __INT64_MAX__=0x7fffffffffffffffLL
  Define-Anweisung: __FLT32_DENORM_MIN__=1.4012984643248171e-45F32
  Define-Anweisung: __SIG_ATOMIC_WIDTH__=32
  Define-Anweisung: __INT_LEAST64_TYPE__=long long int
  Define-Anweisung: __INT16_TYPE__=short int
  Define-Anweisung: __INT_LEAST8_TYPE__=signed char
  Define-Anweisung: __INT_FAST8_MAX__=0x7fffffff
  Define-Anweisung: __INTPTR_MAX__=0x7fffffff
  Define-Anweisung: __FLT64_HAS_QUIET_NAN__=1
  Define-Anweisung: __FLT32_MIN_10_EXP__=(-37)
  Define-Anweisung: __EXCEPTIONS=1
  Define-Anweisung: __PTRDIFF_WIDTH__=32
  Define-Anweisung: __LDBL_MANT_DIG__=53
  Define-Anweisung: __FLT64_HAS_INFINITY__=1
  Define-Anweisung: __STDCPP_DEFAULT_NEW_ALIGNMENT__=8
  Define-Anweisung: __SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)
  Define-Anweisung: __INTPTR_TYPE__=int
  Define-Anweisung: __UINT16_TYPE__=short unsigned int
  Define-Anweisung: __WCHAR_TYPE__=short unsigned int
  Define-Anweisung: __SIZEOF_FLOAT__=4
  Define-Anweisung: __UINTPTR_MAX__=0xffffffffU
  Define-Anweisung: __INT_FAST64_WIDTH__=64
  Define-Anweisung: __FLT32_DECIMAL_DIG__=9
  Define-Anweisung: __INT_FAST64_MAX__=0x7fffffffffffffffLL
  Define-Anweisung: __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1
  Define-Anweisung: __FLT_NORM_MAX__=3.4028234663852886e+38F
  Define-Anweisung: __UINT_FAST64_TYPE__=long long unsigned int
  Define-Anweisung: __INT_MAX__=0x7fffffff
  Define-Anweisung: __INT64_TYPE__=long long int
  Define-Anweisung: __FLT_MAX_EXP__=128
  Define-Anweisung: __DBL_MANT_DIG__=53
  Define-Anweisung: __INT_LEAST64_MAX__=0x7fffffffffffffffLL
  Define-Anweisung: __WINT_TYPE__=unsigned int
  Define-Anweisung: __UINT_LEAST32_TYPE__=unsigned int
  Define-Anweisung: __SIZEOF_SHORT__=2
  Define-Anweisung: __FLT32_NORM_MAX__=3.4028234663852886e+38F32
  Define-Anweisung: __LDBL_MIN_EXP__=(-1021)
  Define-Anweisung: __FLT64_MAX__=1.7976931348623157e+308F64
  Define-Anweisung: __WINT_WIDTH__=32
  Define-Anweisung: __INT_LEAST8_MAX__=0x7f
  Define-Anweisung: __INT_LEAST64_WIDTH__=64
  Define-Anweisung: __FLT32X_MAX_10_EXP__=308
  Define-Anweisung: __WCHAR_UNSIGNED__=1
  Define-Anweisung: __LDBL_MAX_10_EXP__=308
  Define-Anweisung: __ATOMIC_RELAXED=0
  Define-Anweisung: __DBL_EPSILON__=double(2.2204460492503131e-16L)
  Define-Anweisung: __UINT8_C(c)=c
  Define-Anweisung: __FLT64_MAX_EXP__=1024
  Define-Anweisung: __INT_LEAST32_TYPE__=int
  Define-Anweisung: __SIZEOF_WCHAR_T__=2
  Define-Anweisung: __FLT64_NORM_MAX__=1.7976931348623157e+308F64
  Define-Anweisung: __INTMAX_MAX__=0x7fffffffffffffffLL
  Define-Anweisung: __INT_FAST8_TYPE__=int
  Define-Anweisung: __LDBL_HAS_INFINITY__=1
  Define-Anweisung: __GNUC_STDC_INLINE__=1
  Define-Anweisung: __FLT64_HAS_DENORM__=1
  Define-Anweisung: __FLT32_EPSILON__=1.1920928955078125e-7F32
  Define-Anweisung: __DBL_DECIMAL_DIG__=17
  Define-Anweisung: __STDC_UTF_32__=1
  Define-Anweisung: __INT_FAST8_WIDTH__=32
  Define-Anweisung: __FLT32X_MAX__=1.7976931348623157e+308F32x
  Define-Anweisung: __DBL_NORM_MAX__=double(1.7976931348623157e+308L)
  Define-Anweisung: __BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__
  Define-Anweisung: __XTENSA__=1
  Define-Anweisung: __INTMAX_WIDTH__=64
  Define-Anweisung: __ORDER_BIG_ENDIAN__=4321
  Define-Anweisung: __UINT64_TYPE__=long long unsigned int
  Define-Anweisung: __UINT32_C(c)=c ## U
  Define-Anweisung: __FLT_DENORM_MIN__=1.4012984643248171e-45F
  Define-Anweisung: __INT8_MAX__=0x7f
  Define-Anweisung: __LONG_WIDTH__=32
  Define-Anweisung: __UINT_FAST32_TYPE__=unsigned int
  Define-Anweisung: __FLT32X_NORM_MAX__=1.7976931348623157e+308F32x
  Define-Anweisung: __CHAR32_TYPE__=unsigned int
  Define-Anweisung: __FLT_MAX__=3.4028234663852886e+38F
  Define-Anweisung: __INT32_TYPE__=int
  Define-Anweisung: __SIZEOF_DOUBLE__=8
  Define-Anweisung: __FLT_MIN_10_EXP__=(-37)
  Define-Anweisung: __FLT64_MIN__=2.2250738585072014e-308F64
  Define-Anweisung: __INT_LEAST32_WIDTH__=32
  Define-Anweisung: __INTMAX_TYPE__=long long int
  Define-Anweisung: __FLT32X_HAS_QUIET_NAN__=1
  Define-Anweisung: __ATOMIC_CONSUME=1
  Define-Anweisung: __GNUC_MINOR__=3
  Define-Anweisung: __INT_FAST16_WIDTH__=32
  Define-Anweisung: __UINTMAX_MAX__=0xffffffffffffffffULL
  Define-Anweisung: __FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x
  Define-Anweisung: __DBL_MAX_10_EXP__=308
  Define-Anweisung: __LDBL_DENORM_MIN__=4.9406564584124654e-324L
  Define-Anweisung: __INT16_C(c)=c
  Define-Anweisung: __STDC__=1
  Define-Anweisung: __FLT32X_DIG__=15
  Define-Anweisung: __PTRDIFF_TYPE__=int
  Define-Anweisung: __ATOMIC_SEQ_CST=5
  Define-Anweisung: __UINT32_TYPE__=unsigned int
  Define-Anweisung: __FLT32X_MIN_10_EXP__=(-307)
  Define-Anweisung: __UINTPTR_TYPE__=unsigned int
  Define-Anweisung: __LDBL_MIN_10_EXP__=(-307)
  Define-Anweisung: __SIZEOF_LONG_LONG__=8
  Define-Anweisung: __GCC_ATOMIC_LLONG_LOCK_FREE=1
  Define-Anweisung: __FLT_DECIMAL_DIG__=9
  Define-Anweisung: __UINT_FAST16_MAX__=0xffffffffU
  Define-Anweisung: __LDBL_NORM_MAX__=1.7976931348623157e+308L
  Define-Anweisung: __GCC_ATOMIC_SHORT_LOCK_FREE=1
  Define-Anweisung: __UINT_FAST8_TYPE__=unsigned int
  Define-Anweisung: __ATOMIC_ACQ_REL=4
  Define-Anweisung: __ATOMIC_RELEASE=3
  Define-Anweisung: PLATFORMIO=60105
  Define-Anweisung: ESP8266
  Define-Anweisung: ARDUINO_ARCH_ESP8266
  Define-Anweisung: ARDUINO_ESP8266_NODEMCU_ESP12E
  Define-Anweisung: F_CPU=80000000L
  Define-Anweisung: __ets__
  Define-Anweisung: ICACHE_FLASH
  Define-Anweisung: ARDUINO=10805
  Define-Anweisung: ARDUINO_BOARD="PLATFORMIO_NODEMCUV2"
  Define-Anweisung: FLASHMODE_DIO
  Define-Anweisung: LWIP_OPEN_SRC
  Define-Anweisung: NONOSDK22x_190703=1
  Define-Anweisung: TCP_MSS=536
  Define-Anweisung: LWIP_FEATURES=1
  Define-Anweisung: LWIP_IPV6=0
  Define-Anweisung: VTABLES_IN_FLASH
  Define-Anweisung: MMU_IRAM_SIZE=0x8000
  Define-Anweisung: MMU_ICACHE_SIZE=0x8000
  Sonstige: --g++
  Sonstige: --gnu_version=100300
  stdver: c++17
  intelliSenseMode: windows-gcc-x64
Nach Syntaxfehlern wird gesucht: C:\Users\Max\temp\ptr_size\src\main.cpp
IntelliSense-Update für Dateien in dieser Übersetzungseinheit wird in die Warteschlange eingereiht: C:\Users\Max\temp\ptr_size\src\main.cpp
cpptools/finishUpdateSquiggles
Anzahl von Fehlerwellenlinien: 3
IntelliSense-Zeit aktualisieren (Sek.): 1.599
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 11)
cpptools/getFoldingRanges: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 12)
cpptools/didChangeCppProperties
cpptools/getCodeActions: C:\Users\Max\temp\ptr_size\src\main.cpp (id: 13)

Could you also try to change the IntelliSense mode to windows-gcc-x86

Adding

            "intelliSenseMode": "windows-gcc-x86"

to the c_cpp_properties.json and saving does not help, the error remains the same. It definitely does some relaoding as I can in the C/C++ output which finishes with

            "intelliSenseMode": "windows-gcc-x86"

but the error stays the same.

maxgerhardt commented 2 years ago

I also see that your extension tries to interrogate the compiler with alternating -m64 and -m32 flags, which are totally not supported in the xtensa gcc, so that immediately fails..

C:\Users\Max>C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -m32
xtensa-lx106-elf-gcc.exe: error: unrecognized command-line option '-m32'
xtensa-lx106-elf-gcc.exe: fatal error: no input files
compilation terminated.

C:\Users\Max>C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe -m64
xtensa-lx106-elf-gcc.exe: error: unrecognized command-line option '-m64'
xtensa-lx106-elf-gcc.exe: fatal error: no input files
compilation terminated.
michelleangela commented 2 years ago

(Note that although I set the "display language" to en, it still shows all messages in german..):

Sometimes the window reloading for VS Code's language settings to take effect.

The extension will query the compiler to guess the target architecture to emulate. "C:/Users/Max/.platformio/packages/toolchain-xtensa@2.100300.210717/bin/xtensa-lx106-elf-gcc.exe" -dumpmachine returns xtensa-lx106-elf but the extension does not recognize xtensa-lx106-elf because it is not supported so it queries the compiler with either -m32 or -m64 to guess further.

Until the extension has support for xtensa-lx106-elf-gcc, you can try forcing the definition of certain types by setting something like "defines": ["__SIZE_TYPE__=unsigned int"] in the c_cpp_properties.json.

We also have the feature request https://github.com/microsoft/vscode-cpptools/issues/4653 for adding a platform-agnostic IntelliSense mode that you can help upvote.

maxgerhardt commented 2 years ago

But based on the C/C++ extension log given above, the compiler already tells the extension that

  Define-Anweisung: __SIZEOF_POINTER__=4
  Define-Anweisung: __SIZE_TYPE__=unsigned int

the extension just doesn't make use of it at all, no?

People in https://github.com/platformio/platformio-core/issues/3745#issuecomment-732674583 say that this a regression, broken somewhere between November 2020 and now, but I have no exact version number or reproduction of this.

Edit: Hm, tested this with various C/C++ extension versions up to a year ago and none of them resolved the issue..

michelleangela commented 2 years ago

The defines from the compiler query are used for parsing headers, while the sizes of types are configured by the current available IntellSense modes. Since the extension does not have an IntelliSense mode for compiler xtensa-lx106-elf-gcc or target xtensa-lx106-elf, it's not able to correctly define the sizes.

Also, the IntelliSense modes without the platform specifiers (such as gcc-arm) are deprecated. The extension will convert these deprecated modes to the platform-compiler-arch triple mode based on info queried from the compiler path.

ivankravets commented 1 year ago

Ivan from PlatformIO here.

@michelleangela, what is the recommended workaround here?

sean-mcmanus commented 1 year ago

@ivankravets I'm not sure of a workaround, but you could try editing the json config file that matches the IntelliSense mode, e.g. https://github.com/microsoft/vscode-cpptools/blob/main/Extension/bin/linux.gcc.x64.json for linux-gcc-x64 mode, however, I haven't checked if that is sufficient...there may be other type sizes that are set internally.

Does this issue just happen with the xtensa compilers or others? We're looking into determining how many users are impacted.

labodj commented 11 months ago

@ivankravets @sean-mcmanus It still happens even on AVR arch using latest version of platofmio, vscode-cpptools and avr-gcc 13.2.0 You can see my last report here: https://github.com/bblanchon/ArduinoJson/issues/1972#issuecomment-1725652990