aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2001-05-17 18:12:27 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2001-05-17 18:12:27 +0000
commite6855a2d2906226cbaaa5f8653e44e42596771c9 (patch)
treeea2ee85a1a8e761513f6ee751bb994a2aeee2dd0 /gcc/varasm.c
parent8979edec07977e922f0534a4a29e720a5b983fa6 (diff)
downloadgcc-e6855a2d2906226cbaaa5f8653e44e42596771c9.zip
gcc-e6855a2d2906226cbaaa5f8653e44e42596771c9.tar.gz
gcc-e6855a2d2906226cbaaa5f8653e44e42596771c9.tar.bz2
except.h (protect_cleanup_actions): Remove it.
* except.h (protect_cleanup_actions): Remove it. (lang_protect_cleanup_actions): Declare it. * except.c (protect_cleanup_actions): Remove it. (lang_protect_cleanup_actions): New variable. (init_eh): Don't make protect_cleanup_actions a GC root. (expand_eh_region_and_cleanup): Call lang_protect_cleanup_actions. (output_function_exception_table): Remove unused `align' variable. * varasm.c (assemble_external): Abort if we have not yet opened the assembly output file. * except.c (cp_protect_cleanup_actions): New function. (init_exception_processing): Don't set protect_cleanup_actions here. Do set lang_protect_cleanup_actions. From-SVN: r42218
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 9b2744a..3e7b295 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1625,6 +1625,13 @@ void
assemble_external (decl)
tree decl ATTRIBUTE_UNUSED;
{
+ /* Because most platforms do not define ASM_OUTPUT_EXTERNAL, the
+ main body of this code is only rarely exercised. To provide some
+ testing, on all platforms, we make sure that the ASM_OUT_FILE is
+ open. If it's not, we should not be calling this function. */
+ if (!asm_out_file)
+ abort ();
+
#ifdef ASM_OUTPUT_EXTERNAL
if (DECL_P (decl) && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl))
{