Skip to content

Conversation

@dnadlinger
Copy link
Member

This is likely an LLVM bug: The code in InlineFunctions.cpp
only updates the source location metadata for the instructions
in the inlined callee when the call site has a source location
set. When the caller has no location metadata, the scope for
the inlined instructions thus still points to the DISubprogram
for the original callee. This then leads to an assertion during
codegen.

GitHub: Fixes #998.

@dnadlinger dnadlinger force-pushed the fix-debug-inlining branch from 9a5cb73 to 0695a5c Compare July 12, 2015 23:08
This is likely an LLVM bug: The code in InlineFunctions.cpp
only updates the source location metadata for the instructions
in the inlined callee when the call site has a source location
set. When the caller has no location metadata, the scope for
the inlined instructions thus still points to the DISubprogram
for the original callee. This then leads to an assertion during
codegen.

GitHub: Fixes ldc-developers#998.
@dnadlinger dnadlinger force-pushed the fix-debug-inlining branch from 0695a5c to 4e2bc18 Compare July 13, 2015 00:22
dnadlinger added a commit that referenced this pull request Jul 13, 2015
Fix debug info builds with inlining on
@dnadlinger dnadlinger merged commit 0db155d into ldc-developers:master Jul 13, 2015
@dnadlinger dnadlinger deleted the fix-debug-inlining branch July 13, 2015 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant