mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 05:39:02 +08:00
decl.c (grokdeclarator): Amend comment.
* decl.c (grokdeclarator): Amend comment. * except.c (expand_start_catch_block): Call push_template_decl for catch-block parameters. * method.c (synthesize_method): Build an empty compound statement for the body of a constructor. From-SVN: r28888
This commit is contained in:
parent
b06167fcc4
commit
f18a14bcc1
@ -1,3 +1,11 @@
|
||||
1999-08-25 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* decl.c (grokdeclarator): Amend comment.
|
||||
* except.c (expand_start_catch_block): Call push_template_decl for
|
||||
catch-block parameters.
|
||||
* method.c (synthesize_method): Build an empty compound statement
|
||||
for the body of a constructor.
|
||||
|
||||
1999-08-25 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* tree.c (cp_build_qualified_type_real): If we're asking for the
|
||||
|
@ -11067,10 +11067,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
|
||||
|
||||
if (staticp)
|
||||
{
|
||||
/* C++ allows static class members.
|
||||
All other work for this is done by grokfield.
|
||||
This VAR_DECL is built by build_lang_decl.
|
||||
All other VAR_DECLs are built by build_decl. */
|
||||
/* C++ allows static class members. All other work
|
||||
for this is done by grokfield. */
|
||||
decl = build_lang_decl (VAR_DECL, declarator, type);
|
||||
TREE_STATIC (decl) = 1;
|
||||
/* In class context, 'static' means public access. */
|
||||
|
@ -524,6 +524,8 @@ expand_start_catch_block (declspecs, declarator)
|
||||
{
|
||||
decl = grokdeclarator (declarator, declspecs, CATCHPARM,
|
||||
1, NULL_TREE);
|
||||
if (processing_template_decl)
|
||||
decl = push_template_decl (decl);
|
||||
pushdecl (decl);
|
||||
add_decl_stmt (decl);
|
||||
}
|
||||
|
@ -2386,7 +2386,13 @@ synthesize_method (fndecl)
|
||||
if (arg_chain != void_list_node)
|
||||
do_build_copy_constructor (fndecl);
|
||||
else if (TYPE_NEEDS_CONSTRUCTING (current_class_type))
|
||||
setup_vtbl_ptr ();
|
||||
{
|
||||
tree compound_stmt;
|
||||
|
||||
setup_vtbl_ptr ();
|
||||
compound_stmt = begin_compound_stmt (/*has_no_scope=*/0);
|
||||
finish_compound_stmt (/*has_no_scope=*/0, compound_stmt);
|
||||
}
|
||||
}
|
||||
|
||||
finish_function (lineno, 0, nested);
|
||||
|
11
gcc/testsuite/g++.old-deja/g++.eh/tmpl4.C
Normal file
11
gcc/testsuite/g++.old-deja/g++.eh/tmpl4.C
Normal file
@ -0,0 +1,11 @@
|
||||
// Build don't link:
|
||||
// Origin: Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
template <class T> void test(){
|
||||
try {
|
||||
}
|
||||
catch(int x){
|
||||
}
|
||||
}
|
||||
|
||||
template void test<int>();
|
Loading…
Reference in New Issue
Block a user