diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-05-26 06:44:52 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-05-26 06:44:52 +0000 |
commit | 10743a9e6d585b0b08ca01b55d99e9c7513f769c (patch) | |
tree | d031a2afc70f407d475c5ff59b50adad0bb239b4 /clang/lib/Format | |
parent | c3ec149bb238ce4640ebaa8b499807264c15276f (diff) | |
download | bcm5719-llvm-10743a9e6d585b0b08ca01b55d99e9c7513f769c.tar.gz bcm5719-llvm-10743a9e6d585b0b08ca01b55d99e9c7513f769c.zip |
DebugInfo: Test linkonce-odr functions under LTO.
This was previously regressed/broken by r192749 (reverted due to this
issue in r192938) and I was about to break it again by accident with
some more invasive changes that deal with the subprogram lists. So to
avoid that and further issues - here's a test.
It's a pretty basic test - in both r192749 and my impending case, this
test would crash, but checking the basics (that we put a subprogram in
just one of the two CUs) seems like a good start.
We still get this wrong in weird ways if the linkonce-odr function
happens to not be identical in the metadata (because it's defined in two
different files (hence the # line directives in this test), etc) even
though it meets the language requirements (identical token stream) for
such a thing. That results in two subprogram DIEs, but only one of them
gets the parameter and high/low pc information, etc. We probably need to
use the DIRef infrastructure to deduplicate functions as we do types to
address this issue - or perhaps teach the BC linker to remove the
duplicate entries in subprogram lists?
llvm-svn: 209614
Diffstat (limited to 'clang/lib/Format')
0 files changed, 0 insertions, 0 deletions