{"issue":{"created_at":"2011-12-05T13:39:40Z","state":"open","updated_at":"2011-12-05T13:39:40Z","comments":0,"user":{"gravatar_id":"a56bb3ad4d8777f42df61738f528c05b","id":102567,"url":"https://api.github.com/users/mmp","avatar_url":"https://secure.gravatar.com/avatar/a56bb3ad4d8777f42df61738f528c05b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"mmp"},"body":"The following code:\r\n\r\n```\r\nint foo(int v) {\r\n    int inc(int v);\r\n    inc(v);\r\n}\r\n```\r\n\r\nFails and hits an assertion.  The basic issue is that we've never created an llvm::Function * for the \"inc\" symbol.  Note also that we need to maintain a persistent representation of the declared function -> function symbol (and thence llvm::Function * mapping) beyond the scope in which a function like this is declared locally, so that if another function also has a local declaration of the same external function, it gets the same symbol/llvm::Function *...","assignee":null,"labels":[{"color":"e10c02","name":"bugs","url":"https://api.github.com/repos/ispc/ispc/labels/bugs"}],"id":2449255,"number":129,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"title":"Function declarations inside functions don't work","closed_at":null,"html_url":"https://github.com/ispc/ispc/issues/129","url":"https://api.github.com/repos/ispc/ispc/issues/129","milestone":null},"action":"opened"}