[PATCH] D115982: [clang][AVR] Implement '__flashN' for variables on different flash banks
Ben Shi via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 19 02:27:58 PST 2022
benshi001 marked 2 inline comments as done.
benshi001 added inline comments.
================
Comment at: clang/test/Sema/avr-flash.c:10
+ static __flash5 const int a5[] = {4, 6}; // expected-error {{unknown type name '__flash5'}}
+ // TODO: It would be better to report "'__flash5' is not supported on at908515".
+ return a0[n] + a1[n];
----------------
aykevl wrote:
> I think this can be implemented by always setting the `__flash*` defines and checking whether they are valid for the current device in `getGlobalVarAddressSpace`.
Maybe it is better to do in `getGlobalVarAddressSpace` for reporting the exact source position.
```
a.c:1:20: error: variable βarrβ located in address space β__flash5β beyond flash of 64 KiB
__flash5 int const arr[8];
```
I will try it in the next patch.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115982/new/
https://reviews.llvm.org/D115982
More information about the cfe-commits
mailing list