http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54561
--- Comment #4 from Mikael Pettersson <mikpelinux at gmail dot com> --- (In reply to Matthieu Patou from comment #3) > volatile proto_tree *tmptree = NULL; Try proto_tree * volatile tmptree = NULL; It's the variable itself that needs to be volatile, not the memory it points to.