Skip to content

Commit 998434f

Browse files
committed
Add a -disable-invalid-ephemeralness-as-error flag
Currently this does nothing, as we're warning by default, but once we error by default, this will downgrade the diagnostic to a warning.
1 parent e7fe2a7 commit 998434f

File tree

6 files changed

+11
-7
lines changed

6 files changed

+11
-7
lines changed

include/swift/Option/FrontendOptions.td

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,10 +431,14 @@ def solver_enable_operator_designated_types :
431431
Flag<["-"], "solver-enable-operator-designated-types">,
432432
HelpText<"Enable operator designated types in constraint solver">;
433433

434-
def diagnose_invalid_ephemeralness_as_error :
435-
Flag<["-"], "diagnose-invalid-ephemeralness-as-error">,
434+
def enable_invalid_ephemeralness_as_error :
435+
Flag<["-"], "enable-invalid-ephemeralness-as-error">,
436436
HelpText<"Diagnose invalid ephemeral to non-ephemeral conversions as errors">;
437437

438+
def disable_invalid_ephemeralness_as_error :
439+
Flag<["-"], "disable-invalid-ephemeralness-as-error">,
440+
HelpText<"Diagnose invalid ephemeral to non-ephemeral conversions as warnings">;
441+
438442
def switch_checking_invocation_threshold_EQ : Joined<["-"],
439443
"switch-checking-invocation-threshold=">;
440444

lib/Frontend/CompilerInvocation.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
278278
Args.hasArg(OPT_enable_operator_designated_types);
279279

280280
Opts.DiagnoseInvalidEphemeralnessAsError |=
281-
Args.hasArg(OPT_diagnose_invalid_ephemeralness_as_error);
281+
Args.hasArg(OPT_enable_invalid_ephemeralness_as_error);
282282

283283
// Always enable operator designated types for the standard library.
284284
Opts.EnableOperatorDesignatedTypes |= FrontendOpts.ParseStdlib;

test/IDE/infer_import_as_member.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -import-objc-header %S/Inputs/custom-modules/CollisionImportAsMember.h -I %t -I %S/Inputs/custom-modules -print-module -source-filename %s -module-to-print=InferImportAsMember -always-argument-labels -enable-infer-import-as-member -skip-unavailable > %t.printed.A.txt
2-
// RUN: %target-swift-frontend -typecheck -import-objc-header %S/Inputs/custom-modules/CollisionImportAsMember.h -I %t -I %S/Inputs/custom-modules %s -enable-infer-import-as-member -verify -diagnose-invalid-ephemeralness-as-error
2+
// RUN: %target-swift-frontend -typecheck -import-objc-header %S/Inputs/custom-modules/CollisionImportAsMember.h -I %t -I %S/Inputs/custom-modules %s -enable-infer-import-as-member -verify -enable-invalid-ephemeralness-as-error
33
// RUN: %FileCheck %s -check-prefix=PRINT -strict-whitespace < %t.printed.A.txt
44

55
// REQUIRES: objc_interop

test/Sema/diag_non_ephemeral.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// RUN: %target-swift-frontend -emit-module -enable-library-evolution -parse-as-library -o %t -module-name=ModuleA %S/Inputs/diag_non_ephemeral_module1.swift
33
// RUN: %target-swift-frontend -emit-module -enable-library-evolution -parse-as-library -o %t -module-name=ModuleB %S/Inputs/diag_non_ephemeral_module2.swift
44
// RUN: cp %s %t/main.swift
5-
// RUN: %target-swift-frontend -typecheck -verify -diagnose-invalid-ephemeralness-as-error -I %t %t/main.swift %S/Inputs/diag_non_ephemeral_globals.swift
5+
// RUN: %target-swift-frontend -typecheck -verify -enable-invalid-ephemeralness-as-error -I %t %t/main.swift %S/Inputs/diag_non_ephemeral_globals.swift
66

77
import ModuleA
88
import ModuleB

test/stdlib/AutoreleasingUnsafeMutablePointerDiagnostics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -diagnose-invalid-ephemeralness-as-error
1+
// RUN: %target-typecheck-verify-swift -enable-invalid-ephemeralness-as-error
22
// REQUIRES: objc_interop
33

44
func unsafePointerInitEphemeralConversions() {

test/stdlib/UnsafePointerDiagnostics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -diagnose-invalid-ephemeralness-as-error
1+
// RUN: %target-typecheck-verify-swift -enable-invalid-ephemeralness-as-error
22

33
// Test availability attributes on UnsafePointer initializers.
44
// Assume the original source contains no UnsafeRawPointer types.

0 commit comments

Comments
 (0)