From ffe1802ec687bd6abc86d252f294bef9bbed99ee Mon Sep 17 00:00:00 2001 From: mmitchel Date: Tue, 16 Apr 2002 03:17:57 +0000 Subject: [PATCH] * decl.c (register_dtor_fn): Pass the address of dso_handle, not dso_handle itself, to __cxa_atexit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52354 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2863b77..d19ea37 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2002-04-15 Mark Mitchell + + * decl.c (register_dtor_fn): Pass the address of dso_handle, not + dso_handle itself, to __cxa_atexit. + 2002-04-15 Gabriel Dos Reis * error.c (cxx_print_error_function): Adjust call to macros. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 721cd63..04c9799 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -8608,7 +8608,9 @@ register_dtor_fn (decl) cleanup = build_unary_op (ADDR_EXPR, cleanup, 0); if (flag_use_cxa_atexit) { - args = tree_cons (NULL_TREE, get_dso_handle_node (), NULL_TREE); + args = tree_cons (NULL_TREE, + build_unary_op (ADDR_EXPR, get_dso_handle_node (), 0), + NULL_TREE); args = tree_cons (NULL_TREE, null_pointer_node, args); args = tree_cons (NULL_TREE, cleanup, args); } -- 2.7.4