------- Comment #3 from pinskia at gcc dot gnu dot org 2007-05-22 23:17 -------
(In reply to comment #2)
> Confirmed. Possibly another missing has_volatile_ops.
Yes in the inliner :)
Here is a testcase for -O2:
struct shparam
{
char **p;
};
static inline void freeparam (volatile struct shparam *param)
{
char **ap;
for (ap = param->p; *ap; ap++)
free ((void *) (param->p));
}
struct shparam shellparam;
setparam (void)
{
freeparam (&shellparam);
}
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32032