Commit Graph

4 Commits

Author SHA1 Message Date
Yuta Saito
c120c5a8e1 [test] Guard AVR test with CODEGENERATOR=AVR
This test is only relevant for the AVR target, so it should be guarded
with the CODEGENERATOR=AVR condition to avoid running it when the target
is not enabled in llvm-targets-to-build.
2024-07-18 15:44:48 +00:00
Carl Peto
39adecbfcb simplify standard library unit test to just check basic usage 2024-07-17 10:58:08 +01:00
Carl Peto
3c65c79def fix test 2024-07-16 22:30:34 +01:00
Carl Peto
3689427834 [AVR] standard library support for AVR
- when compiling embedded cross compile target standard libraries, include AVR
- add 16-bit pointer as a conditional compilation condition and get the void pointer size right for gyb sources
- attempt to fix clang importer not importing __swift_intptr_t correctly on 16 bit platforms
- changed the unit test target to avr-none-none-elf to match the cmake build

[AVR] got the standard library compiling in a somewhat restricted form:

General
- updated the Embedded Runtime
- tweaked CTypes.swift to fix clang import on 16 bit platforms

Strings
- as discussed in https://forums.swift.org/t/stringguts-stringobject-internals-how-to-layout-on-16-bit-platforms/73130, I went for just using the same basic layout in 16 bit as 32 bit but with 16 bit pointers/ints... the conversation is ongoing, I think something more efficient is possible but at least this compiles and will probably work (inefficiently)

Unicode
- the huge arrays of unicode stuff in UnicodeStubs would not compile, so I skipped it for AVR for now.

Synchronization
- disabled building the Synchronization library on AVR for now. It's arguable if it adds value on this platform anyway.
2024-07-16 12:28:27 +01:00