* gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
are never assigned, volatile entities are not constant for code
generation purposes.
* gnat.dg/volatile3.adb: New test.
From-SVN: r140545
+2008-09-22 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
+ are never assigned, volatile entities are not constant for code
+ generation purposes.
+
2008-09-21 Laurent Guerby <laurent@guerby.net>
PR ada/5911
bool const_flag
= ((kind == E_Constant || kind == E_Variable)
&& Is_True_Constant (gnat_entity)
+ && !Treat_As_Volatile (gnat_entity)
&& (((Nkind (Declaration_Node (gnat_entity))
== N_Object_Declaration)
&& Present (Expression (Declaration_Node (gnat_entity))))
+2008-09-22 Olivier Hainque <hainque@adacore.com>
+
+ * gnat.dg/volatile3.adb: New test.
+
2008-09-22 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/37482
--- /dev/null
+-- { dg-do compile }
+-- { dg-options "-O2" }
+
+procedure volatile3 is
+
+ v1 : Integer := 0;
+ v2 : Integer := 0;
+ pragma Volatile (v1);
+ pragma Volatile (v2);
+begin
+ if v1 /= v2 then
+ raise Program_Error;
+ end if;
+end;
+
+-- { dg-final { scan-assembler "__gnat_rcheck" } }