diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2016-06-30 00:07:17 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2016-06-30 00:07:17 +0000 |
commit | 3a94477625f35465e44b4cee160f7acadd21067f (patch) | |
tree | e5af83992eea9daaefa157e921f1130cb15e5681 /clang/lib/AST/ExprConstant.cpp | |
parent | 9cfc75c214d42eebd74f9f5f5d20d453404d5db4 (diff) | |
download | bcm5719-llvm-3a94477625f35465e44b4cee160f7acadd21067f.tar.gz bcm5719-llvm-3a94477625f35465e44b4cee160f7acadd21067f.zip |
Use the same type for adjacent bit field members.
MSVC doesn't pack the bit field members if different types are used.
This came up in a patch review.
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160627/163107.html
llvm-svn: 274190
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
-rw-r--r-- | clang/lib/AST/ExprConstant.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index e44cb1d23cf..48c0695a1da 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -158,13 +158,13 @@ namespace { /// True if the subobject was named in a manner not supported by C++11. Such /// lvalues can still be folded, but they are not core constant expressions /// and we cannot perform lvalue-to-rvalue conversions on them. - bool Invalid : 1; + unsigned Invalid : 1; /// Is this a pointer one past the end of an object? - bool IsOnePastTheEnd : 1; + unsigned IsOnePastTheEnd : 1; /// Indicator of whether the most-derived object is an array element. - bool MostDerivedIsArrayElement : 1; + unsigned MostDerivedIsArrayElement : 1; /// The length of the path to the most-derived object of which this is a /// subobject. @@ -1058,7 +1058,7 @@ namespace { struct LValue { APValue::LValueBase Base; CharUnits Offset; - bool InvalidBase : 1; + unsigned InvalidBase : 1; unsigned CallIndex : 31; SubobjectDesignator Designator; |