summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index 346679b08f6..6e6eb7d7f13 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -963,13 +963,14 @@ void CodeGenFunction::StartFunction(GlobalDecl GD,
CXXThisValue = CXXABIThisValue;
}
- // Null-check the 'this' pointer once per function, if it's available.
+ // Check the 'this' pointer once per function, if it's available.
if (CXXThisValue) {
SanitizerSet SkippedChecks;
- SkippedChecks.set(SanitizerKind::Alignment, true);
SkippedChecks.set(SanitizerKind::ObjectSize, true);
- EmitTypeCheck(TCK_Load, Loc, CXXThisValue, MD->getThisType(getContext()),
- /*Alignment=*/CharUnits::Zero(), SkippedChecks);
+ QualType ThisTy = MD->getThisType(getContext());
+ EmitTypeCheck(TCK_Load, Loc, CXXThisValue, ThisTy,
+ getContext().getTypeAlignInChars(ThisTy->getPointeeType()),
+ SkippedChecks);
}
}
OpenPOWER on IntegriCloud