microsoft / microsoft/vscode-cpptools

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

Aperta
#9,765 12 commenti 4 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

Environment
  • OS and Version: Win 10 x64
  • VS Code Version: 1.70.2
  • C/C++ Extension Version: 1.12.1 (pre-release)
  • Other extensions you installed (and if the issue persists after disabling them): PlatformIO 2.5.2
  • If using SSH remote, specify OS of remote machine: n/a
  • A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).

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() { }
  1. Obseve the "Error with the static assertion" message in the "Problems" view.
  2. 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:

//
// !!! 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.

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

Riproduci il problema con il progetto PlatformIO NodeMCUv2, utilizzando src/main.cpp e il c_cpp_properties.json generato mostrato nel report. Inizia confrontando i risultati di static_assert di IntelliSense per i puntatori da 4 e 8 byte con xtensa-lx106-elf-gcc.exe; il lavoro è terminato quando le asserzioni sui puntatori da 4 byte non producono più errori di Problems.

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

Valutazione

Stack tecnologico
cpp, vscode
Ambito
developer-experience, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.