{"action":"created","issue":{"url":"https://api.github.com/repos/srz-zumix/iutest/issues/8","repository_url":"https://api.github.com/repos/srz-zumix/iutest","labels_url":"https://api.github.com/repos/srz-zumix/iutest/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/srz-zumix/iutest/issues/8/comments","events_url":"https://api.github.com/repos/srz-zumix/iutest/issues/8/events","html_url":"https://github.com/srz-zumix/iutest/issues/8","id":164125997,"number":8,"title":"msys2 mingw clangでコンパイルエラー","user":{"login":"yumetodo","id":10869046,"avatar_url":"https://avatars.githubusercontent.com/u/10869046?v=3","gravatar_id":"","url":"https://api.github.com/users/yumetodo","html_url":"https://github.com/yumetodo","followers_url":"https://api.github.com/users/yumetodo/followers","following_url":"https://api.github.com/users/yumetodo/following{/other_user}","gists_url":"https://api.github.com/users/yumetodo/gists{/gist_id}","starred_url":"https://api.github.com/users/yumetodo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yumetodo/subscriptions","organizations_url":"https://api.github.com/users/yumetodo/orgs","repos_url":"https://api.github.com/users/yumetodo/repos","events_url":"https://api.github.com/users/yumetodo/events{/privacy}","received_events_url":"https://api.github.com/users/yumetodo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-07-06T17:04:42Z","updated_at":"2016-07-11T10:21:04Z","closed_at":null,"body":"```sh\r\n$ make Debug CXX=clang++\r\nclang++ test.cpp -o test.out -g -O0 -Wall -Wextra -std=c++14\r\nIn file included from test.cpp:6:\r\nIn file included from ./../iutest/include/iutest.hpp:23:\r\nIn file included from ./../iutest/include/iutest_core.hpp:20:\r\nIn file included from ./../iutest/include/internal/iutest_result_reporter.hpp:20:\r\nIn file included from ./../iutest/include/internal/iutest_core_impl.hpp:20:\r\nIn file included from ./../iutest/include/internal/iutest_internal.hpp:20:\r\nIn file included from ./../iutest/include/internal/../iutest_pred.hpp:20:\r\nIn file included from ./../iutest/include/iutest_assertion.hpp:20:\r\nIn file included from ./../iutest/include/iutest_result.hpp:20:\r\nIn file included from ./../iutest/include/internal/iutest_message.hpp:20:\r\nIn file included from ./../iutest/include/internal/../iutest_env.hpp:20:\r\nIn file included from ./../iutest/include/internal/../impl/../internal/iutest_charcode.hpp:194:\r\nIn file included from ./../iutest/include/internal/../impl/iutest_charcode.ipp:22:\r\nD:\\msys64\\mingw32\\i686-w64-mingw32\\include\\uchar.h:34:24: error: cannot combine with previous 'type-name' declaration specifier\r\ntypedef uint_least16_t char16_t;\r\n                       ^\r\nD:\\msys64\\mingw32\\i686-w64-mingw32\\include\\uchar.h:35:24: error: cannot combine with previous 'type-name' declaration specifier\r\ntypedef uint_least32_t char32_t;\r\n                       ^\r\n2 errors generated.\r\nmake: *** [Makefile:30: test.out] エラー 1\r\n```\r\n\r\n原因は``./include/impl/iutest_charcode.ipp``で\r\n\r\n```cpp\r\n// include\r\n#include \"../internal/iutest_charcode.hpp\"\r\n#if IUTEST_HAS_HDR_UCHAR\r\n#  include <uchar.h>\r\n#endif\r\n```\r\n\r\nのように``uchar.h``がincludeされているため。msys2 mingw gccでは発生しない。\r\n\r\n# 再現手順\r\n\r\n1. http://sourceforge.net/projects/msys2/files/Base/ より``msys2-base-[アーキテクチャ]-[日付].tar.xz``をDLし展開する\r\n2. ``msys2_shell.cmd``をダブルクリック、``Close Window``と言われたらばってんを押して閉じる\r\n3. 再び``msys2_shell.cmd``をダブルクリック、``pacman -Syuu``と打ち実行、また閉じる\r\n4. 再び``msys2_shell.cmd``をダブルクリック、``pacman -S git mingw-w64-i686-clang mingw-w64-x86_64-clang``とと打ち実行、また閉じる\r\n5. コマンドプロンプトで``msys2_shell.cmd``のあるパスに移動し、``call msys2_shell.cmd -mingw64``(64bit向けのコンパイル)または````call msys2_shell.cmd -mingw32````(32bit向けのコンパイル)を実行\r\n\r\n```sh\r\n$ git clone https://github.com/yumetodo/string_split.git\r\n$ git submodule update --init\r\n$ make Debug CXX=clang++\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/srz-zumix/iutest/issues/comments/231696819","html_url":"https://github.com/srz-zumix/iutest/issues/8#issuecomment-231696819","issue_url":"https://api.github.com/repos/srz-zumix/iutest/issues/8","id":231696819,"user":{"login":"srz-zumix","id":1439172,"avatar_url":"https://avatars.githubusercontent.com/u/1439172?v=3","gravatar_id":"","url":"https://api.github.com/users/srz-zumix","html_url":"https://github.com/srz-zumix","followers_url":"https://api.github.com/users/srz-zumix/followers","following_url":"https://api.github.com/users/srz-zumix/following{/other_user}","gists_url":"https://api.github.com/users/srz-zumix/gists{/gist_id}","starred_url":"https://api.github.com/users/srz-zumix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srz-zumix/subscriptions","organizations_url":"https://api.github.com/users/srz-zumix/orgs","repos_url":"https://api.github.com/users/srz-zumix/repos","events_url":"https://api.github.com/users/srz-zumix/events{/privacy}","received_events_url":"https://api.github.com/users/srz-zumix/received_events","type":"User","site_admin":false},"created_at":"2016-07-11T10:21:04Z","updated_at":"2016-07-11T10:21:04Z","body":"cuchar は char16_t/char32_t 文字列を人が読める出力に変換するためにインクルードしているのですが、 codecvt が使える場合はそちらを優先的に使います。\r\n影響範囲としては、 codecvt が使えないケース、かつ、 char16_t/char32_t 文字列をテストに利用している場合に限られるので、狭いと思っています。\r\n\r\n実は、この辺のコードはあんまりテスト、動作確認してなくて怪しかったりします…\r\nなので、今回は機能が使えることよりもコンパイルが通ることを優先して修正しました。\r\n\r\n文字コード関係の対応をしっかりするときに、見直したいと思います。\r\n"}}
{"actor":{"display_login":"srz-zumix"}}