[Sema] Diagnose unsound pointer conversions

Diagnose ephemeral conversions that are passed to @_nonEphemeral
parameters. Currently, this defaults to a warning with a frontend flag
to upgrade to an error. Hopefully this will become an error by default
in a future language version.
This commit is contained in:
Hamish Knight
2019-10-03 17:00:02 -07:00
parent 92c42ec791
commit 7077a68b83
19 changed files with 1510 additions and 4 deletions

View File

@@ -276,7 +276,10 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.EnableOperatorDesignatedTypes |=
Args.hasArg(OPT_enable_operator_designated_types);
Opts.DiagnoseInvalidEphemeralnessAsError |=
Args.hasArg(OPT_diagnose_invalid_ephemeralness_as_error);
// Always enable operator designated types for the standard library.
Opts.EnableOperatorDesignatedTypes |= FrontendOpts.ParseStdlib;