Commit 52ceb039 by Benjamin Kosnik Committed by Benjamin Kosnik

cxxabi.h: Remove duplicated and useless public and private keywords in class declarations.


2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/cxxabi.h: Remove duplicated and useless public and
        private keywords in class declarations. Format. Use
        stddef.h. Expose declarations to "C" compilation.
        * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
        assignment operator.
        (__dyncast_result): Same.
        * libsupc++/vec.cc (uncatch_exception): Same, use member
        initialization list.

From-SVN: r82147
parent 8e657c46
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/cxxabi.h: Remove duplicated and useless public and
private keywords in class declarations. Format. Use
stddef.h. Expose declarations to "C" compilation.
* libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
assignment operator.
(__dyncast_result): Same.
* libsupc++/vec.cc (uncatch_exception): Same, use member
initialization list.
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc: Add unistd.h.
2004-05-22 Paolo Carlini <pcarlini@suse.de>
......
......@@ -200,10 +200,28 @@ struct __class_type_info::__upcast_result
// if in vbase the __class_type_info of vbase
// if a non-virtual base then 1
// else NULL
public:
__upcast_result (int d)
:dst_ptr (NULL), part2dst (__unknown), src_details (d), base_type (NULL)
{}
explicit
__upcast_result(const __upcast_result& r)
: dst_ptr(r.dst_ptr), part2dst(r.part2dst), src_details(r.src_details),
base_type(r.base_type)
{ }
__upcast_result&
operator=(const __upcast_result& r)
{
if (&r != this)
{
dst_ptr = r.dst_ptr;
part2dst = r.part2dst;
src_details = r.src_details;
base_type = r.base_type;
}
return *this;
}
};
// __dyncast_result is used to hold information during traversal of a class
......@@ -216,12 +234,17 @@ struct __class_type_info::__dyncast_result
__sub_kind dst2src; // path from target to sub object
int whole_details; // details of the whole class hierarchy
public:
__dyncast_result (int details_ = __vmi_class_type_info::__flags_unknown_mask)
:dst_ptr (NULL), whole2dst (__unknown),
whole2src (__unknown), dst2src (__unknown),
whole_details (details_)
{}
protected:
__dyncast_result(const __dyncast_result&);
__dyncast_result&
operator=(const __dyncast_result&);
};
bool __class_type_info::
......
// New abi Support -*- C++ -*-
// Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
// Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
......@@ -42,13 +42,19 @@ namespace __cxxabiv1
{
struct uncatch_exception
{
uncatch_exception ();
uncatch_exception();
~uncatch_exception () { __cxa_begin_catch (&p->unwindHeader); }
__cxa_exception *p;
__cxa_exception* p;
private:
uncatch_exception&
operator=(const uncatch_exception&);
uncatch_exception(const uncatch_exception&);
};
uncatch_exception::uncatch_exception ()
uncatch_exception::uncatch_exception() : p(0)
{
__cxa_eh_globals *globals = __cxa_get_globals_fast ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment