{"action":"created","issue":{"url":"https://api.github.com/repos/esp8266/Arduino/issues/2078","repository_url":"https://api.github.com/repos/esp8266/Arduino","labels_url":"https://api.github.com/repos/esp8266/Arduino/issues/2078/labels{/name}","comments_url":"https://api.github.com/repos/esp8266/Arduino/issues/2078/comments","events_url":"https://api.github.com/repos/esp8266/Arduino/issues/2078/events","html_url":"https://github.com/esp8266/Arduino/issues/2078","id":157834173,"number":2078,"title":"section type conflict with __c","user":{"login":"ewasscher","id":2017799,"avatar_url":"https://avatars.githubusercontent.com/u/2017799?v=3","gravatar_id":"","url":"https://api.github.com/users/ewasscher","html_url":"https://github.com/ewasscher","followers_url":"https://api.github.com/users/ewasscher/followers","following_url":"https://api.github.com/users/ewasscher/following{/other_user}","gists_url":"https://api.github.com/users/ewasscher/gists{/gist_id}","starred_url":"https://api.github.com/users/ewasscher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ewasscher/subscriptions","organizations_url":"https://api.github.com/users/ewasscher/orgs","repos_url":"https://api.github.com/users/ewasscher/repos","events_url":"https://api.github.com/users/ewasscher/events{/privacy}","received_events_url":"https://api.github.com/users/ewasscher/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/esp8266/Arduino/labels/component:%20core","name":"component: core","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-06-01T06:39:42Z","updated_at":"2016-06-01T10:05:10Z","closed_at":null,"body":"### Basic Infos\r\nWith (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\"\r\n\r\n#### Hardware\r\nHardware:\t\t\tAny ESP8266\r\nCore Version:      \t2.2.0\r\n\r\n### Description\r\n\r\nWith (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.\r\n\r\n### Settings in IDE\r\n\r\nNot appliccable\r\n\r\n\r\n### Sketch\r\n\r\nSee the \"parse\" example sketch in the attached library\r\n\r\n### Debug Messages\r\n\r\n```\r\nIn file included from /home/ewasscher/Arduino/libraries/arduino-dsmr/src/dsmr.h:35:0,\r\n                 from /home/ewasscher/Arduino/arduino-dsmr-read-test/arduino-dsmr-read-test.ino:22:\r\n/home/ewasscher/Arduino/libraries/arduino-dsmr/src/dsmr/parser.h:160:31: error: dsmr::INVALID_UNIT causes a section type conflict with __c\r\n static constexpr char PROGMEM INVALID_UNIT[] = \"Invalid unit\";\r\n                               ^\r\nIn file included from /home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/Arduino.h:244:0,\r\n                 from /tmp/build8e00daea58ed4d885aed86a35f556178.tmp/sketch/arduino-dsmr-read-test.ino.cpp:1:\r\n/home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/pgmspace.h:21:51: note: '__c' was declared here\r\n #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))\r\n                                                   ^\r\n/home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/WString.h:38:76: note: in definition of macro 'FPSTR'\r\n #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))\r\n                                                                            ^\r\n/home/ewasscher/.arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266/WString.h:39:34: note: in expansion of macro 'PSTR'\r\n #define F(string_literal) (FPSTR(PSTR(string_literal)))\r\n                                  ^\r\n/home/ewasscher/Arduino/arduino-dsmr-read-test/arduino-dsmr-read-test.ino:110:20: note: in expansion of macro 'F'\r\n       Serial.print(F(\": \"));\r\n```\r\n[arduino-dsmr-esp.zip](https://github.com/esp8266/Arduino/files/292763/arduino-dsmr-esp.zip)\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/esp8266/Arduino/issues/comments/222949140","html_url":"https://github.com/esp8266/Arduino/issues/2078#issuecomment-222949140","issue_url":"https://api.github.com/repos/esp8266/Arduino/issues/2078","id":222949140,"user":{"login":"matthijskooijman","id":194491,"avatar_url":"https://avatars.githubusercontent.com/u/194491?v=3","gravatar_id":"","url":"https://api.github.com/users/matthijskooijman","html_url":"https://github.com/matthijskooijman","followers_url":"https://api.github.com/users/matthijskooijman/followers","following_url":"https://api.github.com/users/matthijskooijman/following{/other_user}","gists_url":"https://api.github.com/users/matthijskooijman/gists{/gist_id}","starred_url":"https://api.github.com/users/matthijskooijman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthijskooijman/subscriptions","organizations_url":"https://api.github.com/users/matthijskooijman/orgs","repos_url":"https://api.github.com/users/matthijskooijman/repos","events_url":"https://api.github.com/users/matthijskooijman/events{/privacy}","received_events_url":"https://api.github.com/users/matthijskooijman/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T10:05:09Z","updated_at":"2016-06-01T10:05:09Z","body":"@Makuna, yeah that seems about right. What puzzles me, though, is why this *does* work for AVR. AFAIK `PROGMEM` is also defined as a section attribute there, but this section conflict does not seem to occur there..."}}
{"actor":{"display_login":"matthijskooijman"}}