diff --git a/Sources/SWBUniversalPlatform/Specs/Clang LLVM 1.0.xcspec b/Sources/SWBUniversalPlatform/Specs/Clang LLVM 1.0.xcspec index 5b3326ac..f7ce248e 100644 --- a/Sources/SWBUniversalPlatform/Specs/Clang LLVM 1.0.xcspec +++ b/Sources/SWBUniversalPlatform/Specs/Clang LLVM 1.0.xcspec @@ -2925,12 +2925,12 @@ DefaultValue = compiler-default; CommandLineArgs = { compiler-default = (); - YES = ("-ftyped-cxx-new-delete"); - NO = ("-fno-typed-cxx-new-delete"); + YES = ("-ftyped-cxx-new-delete", "-ftyped-cxx-delete"); + NO = ("-fno-typed-cxx-new-delete", "-fno-typed-cxx-delete"); }; AdditionalLinkerArgs = { compiler-default = (); - YES = ("-ftyped-cxx-new-delete"); + YES = ("-ftyped-cxx-new-delete", "-ftyped-cxx-delete"); NO = (); }; }, diff --git a/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift b/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift index 570aed47..5a0603cc 100644 --- a/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift +++ b/Tests/SWBTaskConstructionTests/TaskConstructionTests.swift @@ -8478,12 +8478,14 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { } } else if let val = overrides[typedMemoryOperationsCXX] { if val == "YES" { - task.checkCommandLineContains(["-ftyped-cxx-new-delete"]) + task.checkCommandLineContains(["-ftyped-cxx-new-delete", "-ftyped-cxx-delete"]) } else if val == "NO" { - task.checkCommandLineContains(["-fno-typed-cxx-new-delete"]) + task.checkCommandLineContains(["-fno-typed-cxx-new-delete", "-fno-typed-cxx-delete"]) } else if val == "compiler-default" { task.checkCommandLineDoesNotContain("-ftyped-cxx-new-delete") + task.checkCommandLineDoesNotContain("-ftyped-cxx-delete") task.checkCommandLineDoesNotContain("-fno-typed-cxx-new-delete") + task.checkCommandLineDoesNotContain("-fno-typed-cxx-delete") } } } @@ -8501,6 +8503,11 @@ fileprivate struct TaskConstructionTests: CoreBasedTests { await tester.checkBuild(BuildParameters(configuration: "Debug", overrides: override), runDestination: .macOS, fs: fs) { results -> Void in results.checkTarget("AppTarget") { target -> Void in results.checkTask(.matchTarget(target), .matchRuleType("CompileC"), body: {task in test(task: task, overrides: override)}) + if let val = override[typedMemoryOperationsCXX], val == "YES" { + results.checkTask(.matchTarget(target), .matchRuleType("Ld"), body: {task in + task.checkCommandLineContains(["-ftyped-cxx-new-delete", "-ftyped-cxx-delete"]) + }) + } } } }