Commit 1651647c by Andrew Pinski Committed by Andrew Pinski

+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu> + + * tree-flow-inline.h...

+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-flow-inline.h (var_can_have_subvars): 
+       Volatile variables should not have subvariables.
+

+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * gcc.c-torture/compile/volatile-1.c: New test.
+

From-SVN: r110796
parent 7dc32197
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
* tree-flow-inline.h (var_can_have_subvars):
Volatile variables should not have subvariables.
2006-02-09 Diego Novillo <dnovillo@redhat.com>
PR 26180
......
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.c-torture/compile/volatile-1.c: New test.
2006-02-09 Diego Novillo <dnovillo@redhat.com>
PR 26180
/* The problem here was that the statements that
loaded from exception.reason where not being
marked as having volatile behaviour which
caused load PRE on the tree level to go
into an infinite loop. */
struct gdb_exception
{
int reason;
};
int catch_exceptions_with_msg (int *gdberrmsg)
{
volatile struct gdb_exception exception;
exceptions_state_mc_init (&(exception));
if (exception.reason != 0)
foo ();
return exception.reason;
}
......@@ -1463,6 +1463,10 @@ get_subvar_at (tree var, unsigned HOST_WIDE_INT offset)
static inline bool
var_can_have_subvars (tree v)
{
/* Volatile variables should never have subvars. */
if (TREE_THIS_VOLATILE (v))
return false;
/* Non decls or memory tags can never have subvars. */
if (!DECL_P (v) || MTAG_P (v))
return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment