{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/10682","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/10682/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/10682/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/10682/events","html_url":"https://github.com/JuliaLang/julia/issues/10682","id":65239952,"number":10682,"title":"cpp namespace pollution in julia.h","user":{"login":"stevengj","id":2913679,"avatar_url":"https://avatars.githubusercontent.com/u/2913679?v=3","gravatar_id":"","url":"https://api.github.com/users/stevengj","html_url":"https://github.com/stevengj","followers_url":"https://api.github.com/users/stevengj/followers","following_url":"https://api.github.com/users/stevengj/following{/other_user}","gists_url":"https://api.github.com/users/stevengj/gists{/gist_id}","starred_url":"https://api.github.com/users/stevengj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevengj/subscriptions","organizations_url":"https://api.github.com/users/stevengj/orgs","repos_url":"https://api.github.com/users/stevengj/repos","events_url":"https://api.github.com/users/stevengj/events{/privacy}","received_events_url":"https://api.github.com/users/stevengj/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/embedding","name":"embedding","color":"bfd4f2"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/up%20for%20grabs","name":"up for grabs","color":"0b02e1"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-03-30T15:37:55Z","updated_at":"2015-12-02T20:42:41Z","closed_at":null,"body":"The `julia.h` file `#defines` a bunch of symbols that could easily conflict with other header files if someone is embedding Julia: `NWORDS`, `NORETURN`, `DLLEXPORT`, `MAX_ALIGN`, `STORE_ARRAY_LEN`, `ARRAY_INLINE_NBYTES`, `ENABLE_INFERENCE`, `COPY_STACKS`, `STDCALL`, `NBITS` ... (tons of stuff via `libsupport.h`)\r\n\r\nIt seems like it would be better to\r\n\r\n* qualify all preprocessor symbols with `JL_` in the `julia.h` file\r\n* include `libsupport.h` only in `julia_internal.h`."},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/161428370","html_url":"https://github.com/JuliaLang/julia/issues/10682#issuecomment-161428370","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/10682","id":161428370,"user":{"login":"yuyichao","id":712232,"avatar_url":"https://avatars.githubusercontent.com/u/712232?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"created_at":"2015-12-02T20:42:41Z","updated_at":"2015-12-02T20:42:41Z","body":"The most used `DLLEXPORT` and `NORETURN` as well as some non-exported function without the `jl_` prefix are fixed in #14219 ."}}