+Tue Oct 23 19:00:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * misc.c (gnat_init, gnat_init_options, gnat_decode_option):
+ Now static.
+ (LANG_HOOKS_GET_ALIAS_SET): New macro.
+ (gnat_expand_expr, case NULL_EXPR): Always call set_mem_attributes.
+ (gnat_get_alias_set): Renamed from lang_get_alias_set.
+ * gigi.h (gnat_decode_option, gnat_init_option, gnat_init):
+ Delete declarations.
+ (gnat_get_alias_set): Likewise.
+
2001-10-22 Geert Bosh <bosch@gnat.com>
* Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
* *
* C Header File *
* *
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
* *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
/* Declare all functions and types used by gigi. */
-/* Decode all the language specific options that cannot be decoded by GCC. The
- option decoding phase of GCC calls this routine on the flags that it cannot
- decode. This routine returns 1 if it is successful, otherwise it
- returns 0. */
-extern int gnat_decode_option PARAMS ((int, char **));
-
-/* Perform all initialization steps for option processing. */
-extern void gnat_init_options PARAMS ((void));
-
-/* Perform all the initialization steps that are language-specific. */
-extern void gnat_init PARAMS ((void));
-
/* See if DECL has an RTL that is indirect via a pseudo-register or a
memory location and replace it with an indirect reference if so.
This improves the debugger's ability to display the value. */
here that a __builtin_setjmp was done to BUF. */
extern void update_setjmp_buf PARAMS ((tree));
-/* Get the alias set corresponding to a type or expression. */
-extern HOST_WIDE_INT gnat_get_alias_set PARAMS ((tree));
-
/* GNU_TYPE is a type. Determine if it should be passed by reference by
default. */
extern int default_pass_by_ref PARAMS ((tree));
* *
* C Implementation File *
* *
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
* *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
};
#undef DEFTREECODE
+static void gnat_init PARAMS ((void));
+static void gnat_init_options PARAMS ((void));
+static int gnat_decode_option PARAMS ((int, char **));
+static HOST_WIDE_INT gnat_get_alias_set PARAMS ((tree));
+
/* Structure giving our language-specific hooks. */
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT_OPTIONS gnat_init_options
#undef LANG_HOOKS_DECODE_OPTION
#define LANG_HOOKS_DECODE_OPTION gnat_decode_option
+#undef LANG_HOOKS_HONOR_READONLY
+#define LANG_HOOKS_HONOR_READONLY 1
+#undef LANG_HOOKS_GET_ALIAS_SET
+#define LANG_HOOKS_GET_ALIAS_SET gnat_get_alias_set
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
/* We aren't going to be doing anything with this memory, but allocate
it anyway. If it's variable size, make a bogus address. */
if (! host_integerp (TYPE_SIZE_UNIT (type), 1))
- return gen_rtx_MEM (BLKmode, virtual_stack_vars_rtx);
+ result = gen_rtx_MEM (BLKmode, virtual_stack_vars_rtx);
else
- return assign_temp (type, 0, TREE_ADDRESSABLE (exp), 1);
+ result = assign_temp (type, 0, TREE_ADDRESSABLE (exp), 1);
+
+ set_mem_attributes (result, exp, 1);
+ return result;
case ALLOCATE_EXPR:
return
/* Get the alias set corresponding to a type or expression. */
-HOST_WIDE_INT
-lang_get_alias_set (type)
+static HOST_WIDE_INT
+gnat_get_alias_set (type)
tree type;
{
/* If this is a padding type, use the type of the first field. */