summaryrefslogtreecommitdiffstats
path: root/lldb/examples/synthetic/bitfield/program.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/examples/synthetic/bitfield/program.cpp')
-rw-r--r--lldb/examples/synthetic/bitfield/program.cpp112
1 files changed, 47 insertions, 65 deletions
diff --git a/lldb/examples/synthetic/bitfield/program.cpp b/lldb/examples/synthetic/bitfield/program.cpp
index 5276824a2fb..1db4aa4e719 100644
--- a/lldb/examples/synthetic/bitfield/program.cpp
+++ b/lldb/examples/synthetic/bitfield/program.cpp
@@ -1,74 +1,56 @@
typedef unsigned int uint32_t;
-enum MaskingOperator
-{
- eMaskingOperatorDefault = 0,
- eMaskingOperatorAnd = 1,
- eMaskingOperatorOr = 2,
- eMaskingOperatorXor = 3,
- eMaskingOperatorNand = 4,
- eMaskingOperatorNor = 5
+enum MaskingOperator {
+ eMaskingOperatorDefault = 0,
+ eMaskingOperatorAnd = 1,
+ eMaskingOperatorOr = 2,
+ eMaskingOperatorXor = 3,
+ eMaskingOperatorNand = 4,
+ eMaskingOperatorNor = 5
};
-class MaskedData
-{
+class MaskedData {
private:
- uint32_t value;
- uint32_t mask;
- MaskingOperator oper;
+ uint32_t value;
+ uint32_t mask;
+ MaskingOperator oper;
+
public:
- MaskedData( uint32_t V = 0,
- uint32_t M = 0,
- MaskingOperator P = eMaskingOperatorDefault) :
- value(V),
- mask(M),
- oper(P)
- {
- }
-
- uint32_t apply()
- {
- switch(oper)
- {
- case eMaskingOperatorAnd:
- return value & mask;
- case eMaskingOperatorOr:
- return value | mask;
- case eMaskingOperatorXor:
- return value ^ mask;
- case eMaskingOperatorNand:
- return ~(value & mask);
- case eMaskingOperatorNor:
- return ~(value | mask);
- case eMaskingOperatorDefault: // fall through
- default:
- return value;
- }
- }
-
- void setValue(uint32_t V)
- {
- value = V;
- }
-
- void setMask (uint32_t M)
- {
- mask = M;
- }
-
- void setOperator(MaskingOperator P)
- {
- oper = P;
- }
+ MaskedData(uint32_t V = 0, uint32_t M = 0,
+ MaskingOperator P = eMaskingOperatorDefault)
+ : value(V), mask(M), oper(P) {}
+
+ uint32_t apply() {
+ switch (oper) {
+ case eMaskingOperatorAnd:
+ return value & mask;
+ case eMaskingOperatorOr:
+ return value | mask;
+ case eMaskingOperatorXor:
+ return value ^ mask;
+ case eMaskingOperatorNand:
+ return ~(value & mask);
+ case eMaskingOperatorNor:
+ return ~(value | mask);
+ case eMaskingOperatorDefault: // fall through
+ default:
+ return value;
+ }
+ }
+
+ void setValue(uint32_t V) { value = V; }
+
+ void setMask(uint32_t M) { mask = M; }
+
+ void setOperator(MaskingOperator P) { oper = P; }
};
-int main()
-{
- MaskedData data_1(0xFF0F,0xA01F,eMaskingOperatorAnd);
- MaskedData data_2(data_1.apply(),0x1AFC,eMaskingOperatorXor);
- MaskedData data_3(data_2.apply(),0xFFCF,eMaskingOperatorOr);
- MaskedData data_4(data_3.apply(),0xAABC,eMaskingOperatorAnd);
- MaskedData data_5(data_4.apply(),0xFFAC,eMaskingOperatorNor);
- MaskedData data_6(data_5.apply(),0x0000BEEF,eMaskingOperatorAnd);
- return data_6.apply(); // <-- what comes out of here?
+int main() {
+ MaskedData data_1(0xFF0F, 0xA01F, eMaskingOperatorAnd);
+ MaskedData data_2(data_1.apply(), 0x1AFC, eMaskingOperatorXor);
+ MaskedData data_3(data_2.apply(), 0xFFCF, eMaskingOperatorOr);
+ MaskedData data_4(data_3.apply(), 0xAABC, eMaskingOperatorAnd);
+ MaskedData data_5(data_4.apply(), 0xFFAC, eMaskingOperatorNor);
+ MaskedData data_6(data_5.apply(), 0x0000BEEF, eMaskingOperatorAnd);
+ return data_6.apply(); // <-- what comes out of here?
} \ No newline at end of file
OpenPOWER on IntegriCloud