+2000-01-02 Mark Mitchell <mark@codesourcery.com>
+
+ * integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
+ copied LABEL_DECLs.
+
Mon Jan 3 02:54:40 2000 Hans-Peter Nilsson <hp@bitrange.com>
* config/i386/i386.c (ix86_expand_unary_operator): Function
/* Procedure integration for GNU CC.
- Copyright (C) 1988, 91, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1988, 91, 93-98, 1999, 2000 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
copy = copy_node (decl);
if (DECL_LANG_SPECIFIC (copy))
copy_lang_decl (copy);
+
+ /* TREE_ADDRESSABLE isn't used to indicate that a label's
+ address has been taken; it's for internal bookkeeping in
+ expand_goto_internal. */
+ if (TREE_CODE (copy) == LABEL_DECL)
+ TREE_ADDRESSABLE (copy) = 0;
}
/* Set the DECL_ABSTRACT_ORIGIN so the debugging routines know what
--- /dev/null
+// Build don't link:
+// Origin: Mark Mitchell <mark@codesourcery.com>
+// Special g++ Options: -O2
+
+inline void f ()
+{
+ return;
+}
+
+inline void g ();
+
+void (*gp)() = &g;
+
+inline void g ()
+{
+ f ();
+}
+
+extern int array_size;
+
+void h ()
+{
+ int lookup_array[array_size];
+ g ();
+}