Skip to content

Commit e03f665

Browse files
[Clang][ARM] Call constructor on BranchTargetInfo. (#98307)
Otherwise members will be uninitialised.
1 parent 0162df0 commit e03f665

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

clang/include/clang/Basic/TargetInfo.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1434,7 +1434,12 @@ class TargetInfo : public TransferrableTargetInfo,
14341434
}
14351435

14361436
public:
1437-
BranchProtectionInfo() = default;
1437+
BranchProtectionInfo()
1438+
: SignReturnAddr(LangOptions::SignReturnAddressScopeKind::None),
1439+
SignKey(LangOptions::SignReturnAddressKeyKind::AKey),
1440+
BranchTargetEnforcement(false), BranchProtectionPAuthLR(false),
1441+
GuardedControlStack(false) {}
1442+
14381443
BranchProtectionInfo(const LangOptions &LangOpts) {
14391444
SignReturnAddr =
14401445
LangOpts.hasSignReturnAddress()

clang/lib/CodeGen/Targets/ARM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ class ARMTargetCodeGenInfo : public TargetCodeGenInfo {
141141
ParsedTargetAttr Attr =
142142
CGM.getTarget().parseTargetAttr(TA->getFeaturesStr());
143143
if (!Attr.BranchProtection.empty()) {
144-
TargetInfo::BranchProtectionInfo BPI;
144+
TargetInfo::BranchProtectionInfo BPI{};
145145
StringRef DiagMsg;
146146
StringRef Arch =
147147
Attr.CPU.empty() ? CGM.getTarget().getTargetOpts().CPU : Attr.CPU;

clang/lib/Sema/SemaDeclAttr.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2991,7 +2991,7 @@ bool Sema::checkTargetAttr(SourceLocation LiteralLoc, StringRef AttrStr) {
29912991
<< Unsupported << None << CurFeature << Target;
29922992
}
29932993

2994-
TargetInfo::BranchProtectionInfo BPI;
2994+
TargetInfo::BranchProtectionInfo BPI{};
29952995
StringRef DiagMsg;
29962996
if (ParsedAttrs.BranchProtection.empty())
29972997
return false;

0 commit comments

Comments
 (0)