diff options
Diffstat (limited to 'contrib/llvm/tools/clang/include/clang/AST/CharUnits.h')
-rw-r--r-- | contrib/llvm/tools/clang/include/clang/AST/CharUnits.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h b/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h index d7cbd08e6c2e..5be35826a964 100644 --- a/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h +++ b/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h @@ -125,6 +125,12 @@ namespace clang { /// isNegative - Test whether the quantity is less than zero. bool isNegative() const { return Quantity < 0; } + /// isPowerOfTwo - Test whether the quantity is a power of two. + /// Zero is not a power of two. + bool isPowerOfTwo() const { + return (Quantity & -Quantity) == Quantity; + } + // Arithmetic operators. CharUnits operator* (QuantityType N) const { return CharUnits(Quantity * N); |