microsoft / microsoft/vscode-cpptools
IntelliSense does not support some data type sizes for compiler xtensa-lx106-elf-gcc.exe
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
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:
- Install the PlatformIO extension
- Create a new project for the NodeMCUv2 with framework = Arduino
- 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() { }
- Obseve the "Error with the static assertion" message in the "Problems" view.
- 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.

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

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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with the PlatformIO NodeMCUv2 project, using src/main.cpp and the generated c_cpp_properties.json shown in the report. Start by comparing IntelliSense's static_assert results for 4-byte and 8-byte pointers with xtensa-lx106-elf-gcc.exe; done means the 4-byte pointer assertions no longer produce Problems errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100