{"action":"created","issue":{"url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/114","labels_url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/114/comments","events_url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/114/events","html_url":"https://github.com/kripken/emscripten-fastcomp/issues/114","id":102102751,"number":114,"title":"llvm-config reports version number 3.7.0svn but doesn't export DILocalVariable","user":{"login":"Ace17","id":4586355,"avatar_url":"https://avatars.githubusercontent.com/u/4586355?v=3","gravatar_id":"","url":"https://api.github.com/users/Ace17","html_url":"https://github.com/Ace17","followers_url":"https://api.github.com/users/Ace17/followers","following_url":"https://api.github.com/users/Ace17/following{/other_user}","gists_url":"https://api.github.com/users/Ace17/gists{/gist_id}","starred_url":"https://api.github.com/users/Ace17/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ace17/subscriptions","organizations_url":"https://api.github.com/users/Ace17/orgs","repos_url":"https://api.github.com/users/Ace17/repos","events_url":"https://api.github.com/users/Ace17/events{/privacy}","received_events_url":"https://api.github.com/users/Ace17/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-08-20T09:46:12Z","updated_at":"2015-10-15T20:55:31Z","closed_at":null,"body":"Trying to build the ldc compiler for the D language against llvm-emscripten (as a first step to D->asmjs compilation).\r\nldc builds fine against vanilla llvm 3.5.0, 3.6.0, 3.7.0.\r\nHowever, when building ldc against master branch of emscripten-fastcomp, I get errors:\r\n\r\n$ make\r\n[  0%] Built target impcnvgen\r\n[  0%] Built target idgen\r\n[  0%] Building CXX object CMakeFiles/LDCShared.dir/gen/arrays.cpp.o\r\nIn file included from /home/ace/source/ldc/./gen/irstate.h:20:0,\r\n                 from /home/ace/source/ldc/gen/arrays.cpp:19:\r\n/home/ace/source/ldc/./ir/irfunction.h:130:45: error: ‘DILocalVariable’ is not a member of ‘llvm’\r\n     typedef llvm::DenseMap<VarDeclaration*, llvm::DILocalVariable*> VariableMap;\r\n                                             ^\r\n/home/ace/source/ldc/./ir/irfunction.h:130:45: error: ‘DILocalVariable’ is not a member of ‘llvm’\r\n/home/ace/source/ldc/./ir/irfunction.h:130:67: error: template argument 2 is invalid\r\n     typedef llvm::DenseMap<VarDeclaration*, llvm::DILocalVariable*> VariableMap;\r\n                                                                   ^\r\n/home/ace/source/ldc/./ir/irfunction.h:130:67: error: template argument 4 is invalid\r\nIn file included from /home/ace/source/ldc/./gen/irstate.h:23:0,\r\n                 from /home/ace/source/ldc/gen/arrays.cpp:19:\r\n/home/ace/source/ldc/./gen/dibuilder.h:77:15: error: ‘DILocalVariable’ in namespace ‘llvm’ does not name a type\r\n typedef llvm::DILocalVariable* DILocalVariable;\r\n               ^\r\nIn file included from /home/ace/source/ldc/./gen/irstate.h:23:0,\r\n                 from /home/ace/source/ldc/gen/arrays.cpp:19:\r\n/home/ace/source/ldc/./gen/dibuilder.h:192:57: error: ‘ldc::DILocalVariable’ has not been declared\r\n     void Declare(const Loc &loc, llvm::Value *var, ldc::DILocalVariable divar\r\n                                                         ^\r\nCMakeFiles/LDCShared.dir/build.make:1631: recipe for target 'CMakeFiles/LDCShared.dir/gen/arrays.cpp.o' failed\r\nmake[2]: *** [CMakeFiles/LDCShared.dir/gen/arrays.cpp.o] Error 1\r\nCMakeFiles/Makefile2:61: recipe for target 'CMakeFiles/LDCShared.dir/all' failed\r\nmake[1]: *** [CMakeFiles/LDCShared.dir/all] Error 2\r\nMakefile:146: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\n\r\nIt seems like emscripten-fastcomp reports an llvm version of 3.7.0svn but doesn't declare some symbols which were introduced in llvm version 3.7.0, like DILocalVariable.\r\nThe ldc source code relies on version numbers to enable, using #if/#else, some parts of the code. \r\nHow can I re-align emscripten declarations to the official llvm branch?\r\nWould it be a good idea?"},"comment":{"url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/comments/148518773","html_url":"https://github.com/kripken/emscripten-fastcomp/issues/114#issuecomment-148518773","issue_url":"https://api.github.com/repos/kripken/emscripten-fastcomp/issues/114","id":148518773,"user":{"login":"kripken","id":173661,"avatar_url":"https://avatars.githubusercontent.com/u/173661?v=3","gravatar_id":"","url":"https://api.github.com/users/kripken","html_url":"https://github.com/kripken","followers_url":"https://api.github.com/users/kripken/followers","following_url":"https://api.github.com/users/kripken/following{/other_user}","gists_url":"https://api.github.com/users/kripken/gists{/gist_id}","starred_url":"https://api.github.com/users/kripken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kripken/subscriptions","organizations_url":"https://api.github.com/users/kripken/orgs","repos_url":"https://api.github.com/users/kripken/repos","events_url":"https://api.github.com/users/kripken/events{/privacy}","received_events_url":"https://api.github.com/users/kripken/received_events","type":"User","site_admin":false},"created_at":"2015-10-15T20:55:31Z","updated_at":"2015-10-15T20:55:31Z","body":"You might want to look at the `back-to-llvm` branches in the 3 repos. Those are a wip merge of the upstream `google/stable` branches of LLVM. That's LLVM trunk from around 2 months ago, and no longer dependent on PNaCl in the middle (as PNaCl no longer has concrete update plans, so we need to move ourselves to rebase off of upstream).\r\n\r\nStill running tests, but a big chunk of the test suite passes, so it might be worth trying if you're still blocked on this. I believe this is labeled 3.8 as it is right after the branch for 3.8, but should be very close to the official 3.7 release."}}