Section Type Conflict With __c · Issue #2078 · Esp8266/Arduino - GitHub

Basic Infos

With (a modified version of) the arduino-dsmr library (https://github.com/matthijskooijman/arduino-dsmr) building the included examples for ESP8266 fails with "section type conflict with __c"

Hardware

Hardware: Any ESP8266 Core Version: 2.2.0

Description

With (a modified version of) the arduino-dsmr library (https://github.com/matthijskooijman/arduino-dsmr) building the included examples for ESP8266 fails with "section type conflict with __c" when using PROGMEM string literals (e.g. INVALID_UNIT) in one of the library's headers. Should this be considered a bug in the ESP core? I can work around this, but if there's a bug in the core involved I'd prefer not to do so and wait a bit more for the bugfix.

Settings in IDE

Not appliccable

Sketch

See the "parse" example sketch in the attached library

Debug Messages

In file included from /home/ewasscher/Arduino/libraries/arduino-dsmr/src/dsmr.h:35:0, from /home/ewasscher/Arduino/arduino-dsmr-read-test/arduino-dsmr-read-test.ino:22: /home/ewasscher/Arduino/libraries/arduino-dsmr/src/dsmr/parser.h:160:31: error: dsmr::INVALID_UNIT causes a section type conflict with __c static constexpr char PROGMEM INVALID_UNIT[] = "Invalid unit"; ^ In file included from /home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/Arduino.h:244:0, from /tmp/build8e00daea58ed4d885aed86a35f556178.tmp/sketch/arduino-dsmr-read-test.ino.cpp:1: /home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/pgmspace.h:21:51: note: '__c' was declared here #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];})) ^ /home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/WString.h:38:76: note: in definition of macro 'FPSTR' #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer)) ^ /home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/WString.h:39:34: note: in expansion of macro 'PSTR' #define F(string_literal) (FPSTR(PSTR(string_literal))) ^ /home/ewasscher/Arduino/arduino-dsmr-read-test/arduino-dsmr-read-test.ino:110:20: note: in expansion of macro 'F' Serial.print(F(": "));

arduino-dsmr-esp.zip

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Tag » Arduino Section Type Conflict