Skip to content

__builtin_bswap32 ambiguous #4684

@ErwinOudG

Description

@ErwinOudG

Basic Infos

  • [x ] This issue complies with the issue POLICY doc.
  • [x ] I have read the documentation at readthedocs and the issue is not addressed there.
  • [x ] I have tested that the issue is present in current master branch (aka latest git).
  • [x ] I have searched the issue tracker for a similar issue.
  • [x ] If there is a stack dump, I have decoded it.
  • [x ] I have filled out all fields below.

Platform

  • Hardware: esp8266 [ESP-12|ESP-01|ESP-07|ESP8285 device|other]
  • Core Version: 2.4.1 [latest git hash or date]
  • Development Env: [Arduino IDE]
  • Operating System: [Windows]

Settings in IDE

  • Module: [Wemos D1 mini Pro]
  • Flash Mode: [qio|dio|other]
  • Flash Size: [16M (15M SPIFFS)]
  • lwip Variant: [|v2 Lower Memory]
  • Reset Method: [
  • Flash Frequency: [
  • CPU Frequency: [80Mhz|]
  • Upload Using: [SERIAL]
  • Upload Speed: [115200|] (serial upload only)

Problem Description

this sketch doesn't compile
if i use __builtin_bswap16 instead of __builtin_bswap32, it compiles right

MCVE Sketch

#include <Arduino.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

}


void loop() {
  // put your main code here, to run repeatedly:
  long Serienr = 805540324;
  Serial.print("serienr: ");
  Serial.println(Serienr, HEX);
  Serial.print("rneires: ");
  Serial.println(__builtin_bswap32(Serienr), HEX);
  delay(10000);
}

Debug Messages

Arduino: 1.8.5 (Windows 10), Board: "WeMos D1 mini Pro, 80 MHz, 16M (15M SPIFFS), v2 Lower Memory, Disabled, TLS_MEM, Only Sketch, 115200"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries D:\Company\Arduino software\libraries -fqbn=esp8266:esp8266:d1_mini_pro:CpuFrequency=80,FlashSize=16M15M,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=TLS_MEM,FlashErase=none,UploadSpeed=115200 -ide-version=10805 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_788951 -warnings=all -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_279966 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -prefs=runtime.tools.mkspiffs.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.esptool.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.13 -verbose D:\Company\Arduino software\esp8266issue\esp8266issue.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries D:\Company\Arduino software\libraries -fqbn=esp8266:esp8266:d1_mini_pro:CpuFrequency=80,FlashSize=16M15M,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=TLS_MEM,FlashErase=none,UploadSpeed=115200 -ide-version=10805 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_788951 -warnings=all -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_279966 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -prefs=runtime.tools.mkspiffs.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.esptool.path=C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.13 -verbose D:\Company\Arduino software\esp8266issue\esp8266issue.ino
Using board 'd1_mini_pro' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1
Using core 'esp8266' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1
Build options changed, rebuilding all
Detecting libraries used...
"C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/lwip2/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\User\AppData\Local\Temp\arduino_build_788951/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11  -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536  -DDEBUG_ESP_TLS_MEM -DARDUINO=10805 -DARDUINO_ESP8266_WEMOS_D1MINIPRO -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINIPRO"   -DESP8266 "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\variants\d1_mini" "C:\Users\User\AppData\Local\Temp\arduino_build_788951\sketch\esp8266issue.ino.cpp" -o "nul"
Generating function prototypes...
"C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/lwip2/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\User\AppData\Local\Temp\arduino_build_788951/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11  -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536  -DDEBUG_ESP_TLS_MEM -DARDUINO=10805 -DARDUINO_ESP8266_WEMOS_D1MINIPRO -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINIPRO"   -DESP8266 "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\variants\d1_mini" "C:\Users\User\AppData\Local\Temp\arduino_build_788951\sketch\esp8266issue.ino.cpp" -o "C:\Users\User\AppData\Local\Temp\arduino_build_788951\preproc\ctags_target_for_gcc_minus_e.cpp"
"C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\User\AppData\Local\Temp\arduino_build_788951\preproc\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\Users\User\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/lwip2/include" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\User\AppData\Local\Temp\arduino_build_788951/core" -c -Wall -Wextra -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536  -DDEBUG_ESP_TLS_MEM -DARDUINO=10805 -DARDUINO_ESP8266_WEMOS_D1MINIPRO -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINIPRO"   -DESP8266 "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266" "-IC:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\variants\d1_mini" "C:\Users\User\AppData\Local\Temp\arduino_build_788951\sketch\esp8266issue.ino.cpp" -o "C:\Users\User\AppData\Local\Temp\arduino_build_788951\sketch\esp8266issue.ino.cpp.o"
D:\Company\Arduino software\esp8266issue\esp8266issue.ino: In function 'void loop()':

esp8266issue:14: error: call of overloaded 'println(unsigned int, int)' is ambiguous

   Serial.println(__builtin_bswap32(Serienr), HEX);

                                                 ^

D:\Company\Arduino software\esp8266issue\esp8266issue.ino:14:49: note: candidates are:

In file included from C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Stream.h:26:0,

                 from C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/HardwareSerial.h:31,

                 from C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:260,

                 from C:\Users\User\AppData\Local\Temp\arduino_build_788951\sketch\esp8266issue.ino.cpp:1:

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:84:16: note: size_t Print::println(unsigned char, int)

         size_t println(unsigned char, int = DEC);

                ^

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:85:16: note: size_t Print::println(int, int)

         size_t println(int, int = DEC);

                ^

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:86:16: note: size_t Print::println(unsigned int, int)

         size_t println(unsigned int, int = DEC);

                ^

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:87:16: note: size_t Print::println(long int, int)

         size_t println(long, int = DEC);

                ^

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:88:16: note: size_t Print::println(long unsigned int, int)

         size_t println(unsigned long, int = DEC);

                ^

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Print.h:89:16: note: size_t Print::println(double, int)

         size_t println(double, int = 2);

                ^

exit status 1
call of overloaded 'println(unsigned int, int)' is ambiguous

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions