diff options
author | David Blaikie <dblaikie@gmail.com> | 2019-05-10 19:15:29 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2019-05-10 19:15:29 +0000 |
commit | 7598b71488d8775f913873e95a95b7539601d71a (patch) | |
tree | d6371b956e2713babac58112c313b41236e7642e /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | f62c266de76e4dcae234f3b0ae77ac425ceeddc1 (diff) | |
download | llvm-7598b71488d8775f913873e95a95b7539601d71a.zip llvm-7598b71488d8775f913873e95a95b7539601d71a.tar.gz llvm-7598b71488d8775f913873e95a95b7539601d71a.tar.bz2 |
DebugInfo: Only move types out of type units if they're named or type united
Follow up to r359122, after a bug was reported in it - the original
change too aggressively tried to move related types out of type units,
which included unnamed types (like array types) which can't reasonably
be declared-but-not-defined.
A step beyond that is that some types in type units can be anonymous, if
they are types with a name for linkage purposes (eg: "typedef struct { }
x;"). So ensure those don't get turned into plain declarations (without
signatures) because, lacking names, they can't be resolved to the
definition.
[Also include a fix for llvm-dwarfdump/libDebugInfoDWARF to pretty print
types in type units]
llvm-svn: 360458
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions