{"action":"created","issue":{"url":"https://api.github.com/repos/arduino/arduino-builder/issues/68","labels_url":"https://api.github.com/repos/arduino/arduino-builder/issues/68/labels{/name}","comments_url":"https://api.github.com/repos/arduino/arduino-builder/issues/68/comments","events_url":"https://api.github.com/repos/arduino/arduino-builder/issues/68/events","html_url":"https://github.com/arduino/arduino-builder/issues/68","id":118172202,"number":68,"title":"preprocessor fails on #include \"ESP8266wifi.h\"  (for external ESP8266 addon)","user":{"login":"ladyada","id":1214161,"avatar_url":"https://avatars.githubusercontent.com/u/1214161?v=3","gravatar_id":"","url":"https://api.github.com/users/ladyada","html_url":"https://github.com/ladyada","followers_url":"https://api.github.com/users/ladyada/followers","following_url":"https://api.github.com/users/ladyada/following{/other_user}","gists_url":"https://api.github.com/users/ladyada/gists{/gist_id}","starred_url":"https://api.github.com/users/ladyada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ladyada/subscriptions","organizations_url":"https://api.github.com/users/ladyada/orgs","repos_url":"https://api.github.com/users/ladyada/repos","events_url":"https://api.github.com/users/ladyada/events{/privacy}","received_events_url":"https://api.github.com/users/ladyada/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-21T05:30:19Z","updated_at":"2015-11-21T15:09:18Z","closed_at":null,"body":"there's something about this header file that crashes the preprocessor, probably indicates some more general purpose bug. reproduce by:\r\n   * add `http://arduino.esp8266.com/stable/package_esp8266com_index.json` to board manager prefs\r\n   * use board manager to install ESP8266 support\r\n   * try to compile this sketch\r\n```\r\n#include \"ESP8266WiFi.h\"\r\nvoid setup() {}\r\nvoid loop() { hello(); }\r\nvoid hello(void) {}\r\n```\r\n  * will fail due to not having auto-generated prototype for hello()\r\n  * now put `#include \"ESP8266WiFi.h\"` on last line, recompile\r\n  * works now because while it does crash on the #include, its after the prototypes are made (?)\r\n\r\nAlso mentioned @ https://github.com/esp8266/Arduino/issues/1066"},"comment":{"url":"https://api.github.com/repos/arduino/arduino-builder/issues/comments/158650398","html_url":"https://github.com/arduino/arduino-builder/issues/68#issuecomment-158650398","issue_url":"https://api.github.com/repos/arduino/arduino-builder/issues/68","id":158650398,"user":{"login":"igrr","id":4349050,"avatar_url":"https://avatars.githubusercontent.com/u/4349050?v=3","gravatar_id":"","url":"https://api.github.com/users/igrr","html_url":"https://github.com/igrr","followers_url":"https://api.github.com/users/igrr/followers","following_url":"https://api.github.com/users/igrr/following{/other_user}","gists_url":"https://api.github.com/users/igrr/gists{/gist_id}","starred_url":"https://api.github.com/users/igrr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igrr/subscriptions","organizations_url":"https://api.github.com/users/igrr/orgs","repos_url":"https://api.github.com/users/igrr/repos","events_url":"https://api.github.com/users/igrr/events{/privacy}","received_events_url":"https://api.github.com/users/igrr/received_events","type":"User","site_admin":false},"created_at":"2015-11-21T15:09:18Z","updated_at":"2015-11-21T15:09:18Z","body":"I pulled the latest git version of Arduino and rebuilt it. Also renamed `test` to `myfunc` to make it easier to grep.\r\n\r\nHere's arduino-builder output: http://hastebin.com/mupuhalehe.cs\r\nctags_target_for_gcc_minus_e.cpp: https://gist.github.com/igrr/3095758a66bc28f7db23 (too large for hastebin:)\r\nctags output: https://gist.github.com/igrr/805dc5ef96cf9c0a0892\r\nNote that there's really no `myfunc` in ctags output.\r\n\r\nI had a thought that ctags [gets confused](http://stackoverflow.com/questions/31329387/does-exuberant-ctags-support-c11) by some of the c++11 constructs. Tried [universal-ctags](https://github.com/universal-ctags/ctags), and output looks much better (i.e. `noexcept` is no longer tagged as a function), but still it doesn't have `myfunc`.\r\n"}}