------- 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

Reply via email to