From 822e4e7c44a8b7e1d1d2e2172f34ac57aec6a06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Mon, 12 Oct 2020 00:27:54 +0200 Subject: [PATCH] Report error when aligning outside of a section --- src/asm/section.c | 1 + test/asm/align-pc-outside-section.asm | 1 + test/asm/align-pc-outside-section.err | 2 ++ test/asm/align-pc-outside-section.out | 0 4 files changed, 4 insertions(+) create mode 100644 test/asm/align-pc-outside-section.asm create mode 100644 test/asm/align-pc-outside-section.err create mode 100644 test/asm/align-pc-outside-section.out diff --git a/src/asm/section.c b/src/asm/section.c index ee5d5144..d2cbfd8f 100644 --- a/src/asm/section.c +++ b/src/asm/section.c @@ -378,6 +378,7 @@ uint32_t sect_GetOutputOffset(void) void sect_AlignPC(uint8_t alignment, uint16_t offset) { + checksection(); struct Section *sect = sect_GetSymbolSection(); if (sect->org != -1) { diff --git a/test/asm/align-pc-outside-section.asm b/test/asm/align-pc-outside-section.asm new file mode 100644 index 00000000..2fc56122 --- /dev/null +++ b/test/asm/align-pc-outside-section.asm @@ -0,0 +1 @@ +align 1 diff --git a/test/asm/align-pc-outside-section.err b/test/asm/align-pc-outside-section.err new file mode 100644 index 00000000..4640ff9f --- /dev/null +++ b/test/asm/align-pc-outside-section.err @@ -0,0 +1,2 @@ +FATAL: align-pc-outside-section.asm(1): + Code generation before SECTION directive diff --git a/test/asm/align-pc-outside-section.out b/test/asm/align-pc-outside-section.out new file mode 100644 index 00000000..e69de29b