mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
08c004d674
A common use of `ChangeStatus` is as follows: ``` ChangeStatus Changed = ChangeStatus::UNCHANGED; Changed |= foo(); ``` where `foo` returns `ChangeStatus` as well. Currently `ChangeStatus` doesn't support compound assignment, we have to write as ``` Changed = Changed | foo(); ``` which is not that convenient. This patch add the support for compound assignment for `ChangeStatus`. Compound assignment is usually implemented as a member function, and binary arithmetic operator is therefore implemented using compound assignment. However, unlike regular C++ class, enum class doesn't support member functions. As a result, they can only be implemented in the way shown in the patch. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106109 |
||
---|---|---|
.. | ||
AggressiveInstCombine | ||
Coroutines | ||
InstCombine | ||
Instrumentation | ||
IPO | ||
Scalar | ||
Utils | ||
Vectorize | ||
CFGuard.h | ||
Coroutines.h | ||
Instrumentation.h | ||
IPO.h | ||
ObjCARC.h | ||
Scalar.h | ||
Utils.h | ||
Vectorize.h |