aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
authorEckhart Köppen <eck@40hz.org>2023-03-01 16:49:12 +0200
committerVeikka Tuominen <git@vexu.eu>2023-03-03 15:20:31 +0200
commit6be5946ed8026f2a7ae990aced9572f229acecf4 (patch)
tree01692e153e9d4cd79358a54f7a2c9c16b4cc8080 /src/target.zig
parentfdee558e45e4587aa5345b0de531a9b56a8682fd (diff)
downloadzig-6be5946ed8026f2a7ae990aced9572f229acecf4.tar.gz
zig-6be5946ed8026f2a7ae990aced9572f229acecf4.zip
sema: Place functions on AVR in flash addrspace
- Use .flash as the default address space for functions on AVR - Return .flash as the address space for function pointers on AVR without explicit address space
Diffstat (limited to 'src/target.zig')
-rw-r--r--src/target.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/target.zig b/src/target.zig
index 6d6933e9e7..f1c9a4056f 100644
--- a/src/target.zig
+++ b/src/target.zig
@@ -644,8 +644,9 @@ pub fn defaultAddressSpace(
function,
},
) AddressSpace {
- _ = target;
- _ = context;
+ // The default address space for functions on AVR is .flash to produce
+ // correct fixups into progmem.
+ if (context == .function and target.cpu.arch == .avr) return .flash;
return .generic;
}