Skip to content

Commit f801858

Browse files
Merge pull request #61490 from aschwaighofer/transfer_opaque_ptr_option
Transfer code gen option OpaquePointers to LLVMContext
2 parents 1ae446e + 92edb70 commit f801858

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/IRGen/IRGenModule.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ static clang::CodeGenerator *createClangCodeGenerator(ASTContext &Context,
103103
auto &ClangContext = Importer->getClangASTContext();
104104

105105
auto &CGO = Importer->getClangCodeGenOpts();
106+
if (CGO.OpaquePointers)
107+
LLVMContext.setOpaquePointers(true);
108+
106109
CGO.OptimizationLevel = Opts.shouldOptimize() ? 3 : 0;
107110

108111
CGO.DebugTypeExtRefs = !Opts.DisableClangModuleSkeletonCUs;

test/IRGen/opaque-pointer-llvm.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// RUN: %target-swift-frontend -Xcc -Xclang -Xcc -opaque-pointers -primary-file %s -emit-ir | %FileCheck %s --check-prefix=CHECK
2+
// RUN: %target-swift-frontend -Xcc -Xclang -Xcc -no-opaque-pointers -primary-file %s -emit-ir | %FileCheck %s --check-prefix=CHECK-NO
3+
4+
// CHECK: define{{.*}} @main({{.*}} %0, ptr %1)
5+
// CHECK-NO: define{{.*}} @main({{.*}} %0, i8** %1)
6+
public func test() {}

0 commit comments

Comments
 (0)