[CPU] Misc GCC build fixes

This commit is contained in:
Joel Linn 2021-05-05 16:06:35 +02:00 committed by Rick Gibbed
parent 86722be9ca
commit 5284075cf9
2 changed files with 5 additions and 9 deletions

View File

@ -105,8 +105,7 @@ struct Op : OpBase {
struct VoidOp : Op<VoidOp, KEY_TYPE_X> { struct VoidOp : Op<VoidOp, KEY_TYPE_X> {
protected: protected:
template <typename T, KeyType KEY_TYPE> friend struct Op<VoidOp, KEY_TYPE_X>;
friend struct Op;
template <hir::Opcode OPCODE, typename... Ts> template <hir::Opcode OPCODE, typename... Ts>
friend struct I; friend struct I;
void Load(const Instr::Op& op) {} void Load(const Instr::Op& op) {}
@ -116,8 +115,7 @@ struct OffsetOp : Op<OffsetOp, KEY_TYPE_O> {
uint64_t value; uint64_t value;
protected: protected:
template <typename T, KeyType KEY_TYPE> friend struct Op<OffsetOp, KEY_TYPE_O>;
friend struct Op;
template <hir::Opcode OPCODE, typename... Ts> template <hir::Opcode OPCODE, typename... Ts>
friend struct I; friend struct I;
void Load(const Instr::Op& op) { this->value = op.offset; } void Load(const Instr::Op& op) { this->value = op.offset; }
@ -127,8 +125,7 @@ struct SymbolOp : Op<SymbolOp, KEY_TYPE_S> {
Function* value; Function* value;
protected: protected:
template <typename T, KeyType KEY_TYPE> friend struct Op<SymbolOp, KEY_TYPE_S>;
friend struct Op;
template <hir::Opcode OPCODE, typename... Ts> template <hir::Opcode OPCODE, typename... Ts>
friend struct I; friend struct I;
bool Load(const Instr::Op& op) { bool Load(const Instr::Op& op) {
@ -141,8 +138,7 @@ struct LabelOp : Op<LabelOp, KEY_TYPE_L> {
hir::Label* value; hir::Label* value;
protected: protected:
template <typename T, KeyType KEY_TYPE> friend struct Op<LabelOp, KEY_TYPE_L>;
friend struct Op;
template <hir::Opcode OPCODE, typename... Ts> template <hir::Opcode OPCODE, typename... Ts>
friend struct I; friend struct I;
void Load(const Instr::Op& op) { this->value = op.label; } void Load(const Instr::Op& op) { this->value = op.label; }

View File

@ -39,7 +39,7 @@ enum class ExportCategory : uint8_t {
}; };
struct ExportTag { struct ExportTag {
typedef uint32_t type; using type = uint32_t;
// packed like so: // packed like so:
// ll...... cccccccc ........ ..bihssi // ll...... cccccccc ........ ..bihssi