On Wed, May 31, 2017 at 1:33 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Wed, May 31, 2017 at 01:24:47PM +0200, Martin Liška wrote: >> On 05/31/2017 10:35 AM, Jakub Jelinek wrote: >> > On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška wrote: >> >> diff --git a/gcc/common.opt b/gcc/common.opt >> >> index 13305558d2d..5e9942d5100 100644 >> >> --- a/gcc/common.opt >> >> +++ b/gcc/common.opt >> >> @@ -222,9 +222,13 @@ bool flag_opts_finished >> >> Variable >> >> unsigned int flag_sanitize >> >> >> >> +### >> >> +Common RejectNegative Joined UInteger Var(flag_no_sanitize_fn) >> >> PerFunction >> >> +No sanitize flags for a function >> > >> > This looks weird, you are redefining the -### option which is normally >> > a driver option. >> >> I know. I was thinking that it's also a 'dummy' value. > > It is not. > >> > I would have thought you just want a Variable, like the one right below >> > this. Aren't all "Variable"s per-function? >> >> Unfortunately not. Well, probably adding new type 'PerFunctionVariable' >> would be >> solution. Then optc-save-gen.awk needs to be learned how to save/restore >> these variables. >> >> Is it the way we want to go? > > Yes. We already have TargetVariable. Or allow specifying > Variable PerFunction > > CCing Joseph as option handling maintainer.
Just wanting to add that "ab-"using options/variables to implement what are really function attributes doesn't look very clean. Unless the plan is to get rid of function attributes in favor of per-function options. I'll also note that eventually global variables may want to be no-sanitized (for asan maybe). And we don't (yet) have per-variable options. Richard. > Jakub