Skip to content

Commit d1a51d5

Browse files
committed
Fix assignment operator errors on newer clang
Causes errors on android ndk r22
1 parent d71c46c commit d1a51d5

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

processor/r65816/registers.hpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ struct flag_t {
66
+ (d << 3) + (i << 2) + (z << 1) + (c << 0);
77
}
88

9-
inline unsigned operator=(uint8 data) {
9+
inline unsigned assign(uint8 data) {
1010
n = data & 0x80; v = data & 0x40; m = data & 0x20; x = data & 0x10;
1111
d = data & 0x08; i = data & 0x04; z = data & 0x02; c = data & 0x01;
1212
return data;
1313
}
1414

15-
inline unsigned operator|=(unsigned data) { return operator=(operator unsigned() | data); }
16-
inline unsigned operator^=(unsigned data) { return operator=(operator unsigned() ^ data); }
17-
inline unsigned operator&=(unsigned data) { return operator=(operator unsigned() & data); }
15+
inline unsigned operator =(unsigned data) { return assign(data); }
16+
inline unsigned operator|=(unsigned data) { return assign(operator unsigned() | data); }
17+
inline unsigned operator^=(unsigned data) { return assign(operator unsigned() ^ data); }
18+
inline unsigned operator&=(unsigned data) { return assign(operator unsigned() & data); }
1819

1920
flag_t() : n(0), v(0), m(0), x(0), d(0), i(0), z(0), c(0) {}
2021
};

0 commit comments

Comments
 (0)