File gpc-fix1.patch of Package gcc3
--- p/predef.c 4 Sep 2007 06:02:58 -0000 1.20
+++ p/predef.c 22 Nov 2007 23:37:32 -0000
@@ -422,7 +422,10 @@
actual_set_parameters (tree val, int reference)
{
tree domain = TYPE_DOMAIN (TREE_TYPE (val)), addr;
- int addressable = mark_addressable (val);
+ unsigned long save_pascal_dialect = co->pascal_dialect;
+ int addressable = mark_addressable2 (val, 1);
+ co->pascal_dialect = ANY_PASCAL;
+
gcc_assert (addressable);
/* Callers now handle the constant empty set. */
@@ -435,6 +438,7 @@
addr = build_pascal_unary_op (ADDR_EXPR, val);
else
addr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (val)), val);
+ co->pascal_dialect = save_pascal_dialect;
return tree_cons (NULL_TREE, addr,
tree_cons (NULL_TREE, convert (pascal_integer_type_node, TYPE_MIN_VALUE (domain)),
build_tree_list (NULL_TREE, convert (pascal_integer_type_node, TYPE_MAX_VALUE (domain)))));