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