This bug:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33272

is about a situation in which -fargument-noalias works better than
putting "restrict" on all pointer arguments to a function, even though
that should be logically equivalent.  Using "restrict" for all arguments
to a function is probably one of the most common cases of "restrict";
that's what you want for things like the test case I posted, and for
other Fortran-ish code.

I have a prototype hack which changes checks of flag_argument_noalias !=
0 to also check for the presence of "restrict" on all pointer arguments.
 This fixes the test case, modulo a C front-end bug which Joseph has
volunteered to fix.

To make that a real patch, here's what I plan to do:

(1) Add a flag to "struct function" to say "all pointer arguments are
restrict".

(2) Lazily set it, when something wants to check it.

(3) Change checks of flag_argument_noalias to call a function
argument_noalias() which will return an "int" with the same meaning as
flag_argument_noalias.

Does that plan sound OK to folks?

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Reply via email to