[PATCH] D125635: Make CompoundStmtBitfields::NumStmts not a bit-field
Serge Pavlov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 20 00:22:03 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5537b22ccbdc: Make CompoundStmtBitfields::NumStmts not a bit-field (authored by sepavloff).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125635/new/
https://reviews.llvm.org/D125635
Files:
clang/include/clang/AST/Stmt.h
clang/lib/AST/Stmt.cpp
clang/lib/Serialization/ASTReaderStmt.cpp
Index: clang/lib/Serialization/ASTReaderStmt.cpp
===================================================================
--- clang/lib/Serialization/ASTReaderStmt.cpp
+++ clang/lib/Serialization/ASTReaderStmt.cpp
@@ -155,7 +155,7 @@
while (NumStmts--)
Stmts.push_back(Record.readSubStmt());
S->setStmts(Stmts);
- S->CompoundStmtBits.LBraceLoc = readSourceLocation();
+ S->LBraceLoc = readSourceLocation();
S->RBraceLoc = readSourceLocation();
}
Index: clang/lib/AST/Stmt.cpp
===================================================================
--- clang/lib/AST/Stmt.cpp
+++ clang/lib/AST/Stmt.cpp
@@ -363,10 +363,9 @@
CompoundStmt::CompoundStmt(ArrayRef<Stmt *> Stmts, SourceLocation LB,
SourceLocation RB)
- : Stmt(CompoundStmtClass), RBraceLoc(RB) {
+ : Stmt(CompoundStmtClass), LBraceLoc(LB), RBraceLoc(RB) {
CompoundStmtBits.NumStmts = Stmts.size();
setStmts(Stmts);
- CompoundStmtBits.LBraceLoc = LB;
}
void CompoundStmt::setStmts(ArrayRef<Stmt *> Stmts) {
Index: clang/include/clang/AST/Stmt.h
===================================================================
--- clang/include/clang/AST/Stmt.h
+++ clang/include/clang/AST/Stmt.h
@@ -128,10 +128,7 @@
unsigned : NumStmtBits;
- unsigned NumStmts : 32 - NumStmtBits;
-
- /// The location of the opening "{".
- SourceLocation LBraceLoc;
+ unsigned NumStmts;
};
class LabelStmtBitfields {
@@ -1406,7 +1403,10 @@
friend class ASTStmtReader;
friend TrailingObjects;
- /// The location of the closing "}". LBraceLoc is stored in CompoundStmtBits.
+ /// The location of the opening "{".
+ SourceLocation LBraceLoc;
+
+ /// The location of the closing "}".
SourceLocation RBraceLoc;
CompoundStmt(ArrayRef<Stmt *> Stmts, SourceLocation LB, SourceLocation RB);
@@ -1420,9 +1420,8 @@
// Build an empty compound statement with a location.
explicit CompoundStmt(SourceLocation Loc)
- : Stmt(CompoundStmtClass), RBraceLoc(Loc) {
+ : Stmt(CompoundStmtClass), LBraceLoc(Loc), RBraceLoc(Loc) {
CompoundStmtBits.NumStmts = 0;
- CompoundStmtBits.LBraceLoc = Loc;
}
// Build an empty compound statement.
@@ -1505,10 +1504,10 @@
return const_cast<CompoundStmt *>(this)->getStmtExprResult();
}
- SourceLocation getBeginLoc() const { return CompoundStmtBits.LBraceLoc; }
+ SourceLocation getBeginLoc() const { return LBraceLoc; }
SourceLocation getEndLoc() const { return RBraceLoc; }
- SourceLocation getLBracLoc() const { return CompoundStmtBits.LBraceLoc; }
+ SourceLocation getLBracLoc() const { return LBraceLoc; }
SourceLocation getRBracLoc() const { return RBraceLoc; }
static bool classof(const Stmt *T) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125635.430895.patch
Type: text/x-patch
Size: 2721 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220520/cbfa9e43/attachment-0001.bin>
More information about the cfe-commits
mailing list