build: # Build as default target
-CXXFLAGS := -std=c++20 -fno-strict-aliasing -Wall -Wextra -Werror \
+CXXFLAGS := -std=c++20 -fno-strict-aliasing -Wall -Wextra -pedantic -Werror \
-mgeneral-regs-only -fno-exceptions -fno-rtti -ffreestanding -O2 \
-I libcpp $(CXXFLAGS)
LDFLAGS := $(CXXFLAGS) $(LDFLAGS)
struct isr_info {
amy::ptr addr;
- enum class type_t { trap_gate = 0xF, interrupt_gate = 0xE };
+ enum class type_t : unsigned char { trap_gate = 0xF, interrupt_gate = 0xE };
type_t type : 4;
amy::u8 dpl: 2 = 0b00;
bool present : 1 = true;