diff options
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 8b142933a7d..ff9866a3696 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -688,8 +688,9 @@ public: /// getTBAAInfoForSubobject - Get TBAA information for an access with a given /// base lvalue. TBAAAccessInfo getTBAAInfoForSubobject(LValue Base, QualType AccessType) { - if (Base.getTBAAInfo().isMayAlias()) - return TBAAAccessInfo::getMayAliasInfo(); + TBAAAccessInfo TBAAInfo = Base.getTBAAInfo(); + if (TBAAInfo.isMayAlias() || TBAAInfo.isUnionMember()) + return TBAAInfo; return getTBAAAccessInfo(AccessType); } |