diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-05-06 21:56:12 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-05-06 21:56:12 +0000 |
commit | b7a2879677990e7bbbfb3c7fa8f0228639af1ff3 (patch) | |
tree | 73d3106353037d5ba81ae8a88267cfbaca69a318 /clang/lib/AST/ASTContext.cpp | |
parent | 2e116a4491405980cb447e1cecdbe1c5f46dc5ff (diff) | |
download | bcm5719-llvm-b7a2879677990e7bbbfb3c7fa8f0228639af1ff3.tar.gz bcm5719-llvm-b7a2879677990e7bbbfb3c7fa8f0228639af1ff3.zip |
Establish a new alignment for an ms_struct bitfield following
a non-bitfield if size of their types differ.
llvm-svn: 131023
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 07823e04081..5271c90bb89 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -558,6 +558,18 @@ bool ASTContext::BitfieldFollowsBitfield(const FieldDecl *FD, LastFD->getBitWidth()-> EvaluateAsInt(*this).getZExtValue()); } +bool ASTContext::NoneBitfieldFollowsBitfield(const FieldDecl *FD, + const FieldDecl *LastFD) const { + return (!FD->isBitField() && LastFD && LastFD->isBitField() && + LastFD->getBitWidth()-> EvaluateAsInt(*this).getZExtValue()); +} + +bool ASTContext::BitfieldFollowsNoneBitfield(const FieldDecl *FD, + const FieldDecl *LastFD) const { + return (FD->isBitField() && LastFD && !LastFD->isBitField() && + FD->getBitWidth()-> EvaluateAsInt(*this).getZExtValue()); +} + ASTContext::overridden_cxx_method_iterator ASTContext::overridden_methods_begin(const CXXMethodDecl *Method) const { llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector>::const_iterator Pos |