microsoft / microsoft/vscode-cpptools

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

Offen
#9,765 12 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Feature Request Feature: Configuration Feature: IntelliSense Mode Language Service Visual Studio
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit dem PlatformIO NodeMCUv2-Projekt unter Verwendung von src/main.cpp und der im Bericht gezeigten generierten c_cpp_properties.json. Beginne damit, die Ergebnisse von IntelliSense für static_assert mit 4-Byte- und 8-Byte-Pointern mit xtensa-lx106-elf-gcc.exe zu vergleichen; abgeschlossen ist die Aufgabe, wenn die Assertions für 4-Byte-Pointer keine Problems-Fehler mehr erzeugen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, vscode
Bereich
developer-experience, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.