method.c (make_thunk): Clear DECL_CLONED_FUNCTION.
cp: * method.c (make_thunk): Clear DECL_CLONED_FUNCTION. testsuite: * g++.old-deja/g++.other/crash40.C: New test. From-SVN: r41294
This commit is contained in:
parent
571a66c6c9
commit
bbb53468cc
|
@ -1,3 +1,7 @@
|
|||
2001-04-12 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* method.c (make_thunk): Clear DECL_CLONED_FUNCTION.
|
||||
|
||||
2001-04-11 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* optimize.c (maybe_clone_body): Copy DECL_NUM_STMTS from the
|
||||
|
|
|
@ -363,6 +363,8 @@ make_thunk (function, delta, vcall_index, generate_with_vtable_p)
|
|||
DECL_SAVED_FUNCTION_DATA (thunk) = NULL;
|
||||
DECL_DESTRUCTOR_P (thunk) = 0;
|
||||
DECL_CONSTRUCTOR_P (thunk) = 0;
|
||||
/* And neither is it a clone. */
|
||||
DECL_CLONED_FUNCTION (thunk) = NULL_TREE;
|
||||
DECL_EXTERNAL (thunk) = 1;
|
||||
DECL_ARTIFICIAL (thunk) = 1;
|
||||
/* Even if this thunk is a member of a local class, we don't
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2001-04-12 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* g++.old-deja/g++.other/crash40.C: New test.
|
||||
|
||||
2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* gcc.c-torture/execute/20010122-1.c: Fix declaration of alloca.
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
// Build don't link:
|
||||
// Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
// Contributed by Nathan Sidwell 11 April 2001 <nathan@codesourcery.com>
|
||||
// Origin: Theo Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
||||
|
||||
// Bug 1917. We were considering thunks to clones to be clones. and
|
||||
// hence getting confused.
|
||||
|
||||
struct A { virtual ~A(); };
|
||||
struct B { virtual ~B(); };
|
||||
|
||||
struct C: public A,B {};
|
||||
|
||||
template <class TYPE>
|
||||
inline TYPE
|
||||
sqr(const TYPE& x) {
|
||||
return 1;
|
||||
}
|
||||
int f(const int t) { return sqr(t); }
|
Loading…
Reference in New Issue