mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
bcc96923e0
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? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209614 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AArch64 | ||
ARM | ||
COFF | ||
Inputs | ||
Mips | ||
PowerPC | ||
Sparc | ||
SystemZ | ||
X86 | ||
2009-10-16-Phi.ll | ||
2009-11-03-InsertExtractValue.ll | ||
2009-11-05-DeadGlobalVariable.ll | ||
2009-11-06-NamelessGlobalVariable.ll | ||
2009-11-10-CurrentFn.ll | ||
2010-01-05-DbgScope.ll | ||
2010-01-19-DbgScope.ll | ||
2010-03-12-llc-crash.ll | ||
2010-03-19-DbgDeclare.ll | ||
2010-03-24-MemberFn.ll | ||
2010-03-30-InvalidDbgInfoCrash.ll | ||
2010-04-06-NestedFnDbgInfo.ll | ||
2010-04-19-FramePtr.ll | ||
2010-05-03-DisableFramePtr.ll | ||
2010-05-03-OriginDIE.ll | ||
2010-05-10-MultipleCU.ll | ||
2010-06-29-InlinedFnLocalVar.ll | ||
2010-07-19-Crash.ll | ||
2010-10-01-crash.ll | ||
arm-relocs.test | ||
array.ll | ||
bug_null_debuginfo.ll | ||
constant-pointers.ll | ||
cross-cu-inlining.ll | ||
cross-cu-linkonce.ll | ||
cu-line-tables.ll | ||
cu-range-hole.ll | ||
cu-ranges.ll | ||
debug-info-qualifiers.ll | ||
debuginfofinder-multiple-cu.ll | ||
debuglineinfo.test | ||
dwarf-public-names.ll | ||
dwarfdump-debug-frame-simple.test | ||
dwarfdump-debug-loc-simple.test | ||
dwarfdump-dump-flags.test | ||
dwarfdump-line-dwo.test | ||
dwarfdump-pubnames.test | ||
dwarfdump-ranges.test | ||
dwarfdump-type-units.test | ||
dwarfdump-zlib.test | ||
empty.ll | ||
enum.ll | ||
global.ll | ||
inheritance.ll | ||
inline-debug-info-multiret.ll | ||
inline-debug-info.ll | ||
inline-scopes.ll | ||
inlined-arguments.ll | ||
inlined-vars.ll | ||
llvm-symbolizer-zlib.test | ||
llvm-symbolizer.test | ||
lto-comp-dir.ll | ||
member-order.ll | ||
member-pointers.ll | ||
namespace_function_definition.ll | ||
namespace_inline_function_definition.ll | ||
namespace.ll | ||
restrict.ll | ||
sugared-constants.ll | ||
template-recursive-void.ll | ||
tu-composite.ll | ||
tu-member-pointer.ll | ||
two-cus-from-same-file.ll | ||
typedef.ll | ||
unconditional-branch.ll | ||
varargs.ll | ||
version.ll |