Commit Graph

8 Commits

Author SHA1 Message Date
Alejandro Alonso
a9da08ccb6 Add option for raw layout to move as its like type 2024-05-28 14:34:22 -07:00
Alastair Houghton
230bf6a365 [Test][IRGen] Add missing EOL. 2024-03-02 13:54:45 +00:00
Alastair Houghton
d0c35cf2d5 [IRGen] Don't call objc_retainAutoreleasedReturnValue() without interop.
When ObjC interop is not enabled, we shouldn't be emitting calls to
`objc_retainAutoreleasedReturnValue()` as that function might not exist.

Call `swift_retain()` instead, to balance the `swift_release()` of the
returned value.

Fixes #47846, #45359.

rdar://23335318
2024-03-01 20:34:43 +00:00
Meghana Gupta
901c279bea Add IRGen support for reads and writes to imported __ptrauth qualified field function pointers
Access to such pointers are protected by begin_access [signed]/end_access.
Generate code to auth/sign them before access.
2023-01-25 14:03:19 -08:00
Alastair Houghton
62f54019af [IRGen] Rearrange fix slightly and add a test case.
isDependentConformance() should always check for synthesized conformances,
so do that further up the function.

Also add a test.

rdar://97290618
2022-08-23 09:50:06 +01:00
Varun Gandhi
56f9c89c7e [NFC] Add crash test case for _Atomic(_Bool) IRGen. 2021-01-19 12:55:01 -08:00
Yuta Saito
20bc0af42b [LTO] Support LLVM LTO for IRGen and frontend
This commit adds -lto flag for frontend to enable LTO at LLVM level.
When -lto=llvm given, compiler emits LLVM bitcode file instead of object
file and adds index summary for LTO.
In addition for ELF format, emit llvm.dependent-libraries section to
embed auto linking information
2020-07-01 23:30:58 +00:00
Martin Boehme
6bf0f26ecd Emit /DEFAULTLIB directive for #pragma comment(lib, ...) in a C module.
This is important, for example, for linking correctly to the C++
standard library on Windows, which uses `#pragma comment(lib, ...)` in
its headers to specify the correct library to link against.
2020-05-20 15:28:12 +02:00