Joseph Myers
b351c1d905
* doc/service.texi: Uncomment and update FAQ link.
...
From-SVN: r60648
2002-12-30 21:07:17 +00:00
Daniel Jacobowitz
b0e0b1f375
* gcc.c-torture/compile/20021230-1.c: New test.
...
From-SVN: r60645
2002-12-30 20:33:42 +00:00
Mark Mitchell
c838d82f7b
* parser.c (cp_parser_declaration_seq_opt): Handle pending_lang_change.
...
From-SVN: r60644
2002-12-30 20:18:38 +00:00
Mark Mitchell
afd9b9dd9d
parse.y: Remove.
...
* parse.y: Remove.
* spew.c: Likewise.
* Make-lang.in (gt-cp-spew.h): Remove.
* cp-tree.h (do_pending_lang_change): Remove.
(do_identifier): Change prototype.
(finish_id_expr): Remove.
* decl.c (lookup_name_real): Remove yylex variable.
* decl2.c (build_expr_from_tree): Adjust call to do_identifier.
* lex.c (init_cpp_parse): Remove.
(reduce_cmp): Likewise.
(token_cmp): Likewise.
(yychar): Likewise.
(lastiddecl): Likewise.
(token_count): Likewise.
(reduce_count): Likewise.
(yyhook): Likewise.
(print_parse_statistics): Likewise.
(do_pending_lang_change): Likewise.
(do_identifier): Remove parsing parameter.
* lex.h (lastiddecl): Remove.
(looking_for_typename): Remove.
(looking_for_template): Likewise.
(pending_lang_change): Likewise.
(yylex): Likewise.
* semantics.c (finish_id_expr): Remove.
From-SVN: r60642
2002-12-30 19:02:11 +00:00
Joseph Myers
a47a68100f
* gcc.pot: Regenerate.
...
From-SVN: r60641
2002-12-30 19:01:28 +00:00
Andreas Jaeger
47ab0cbb90
* unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
...
From-SVN: r60640
2002-12-30 19:22:36 +01:00
David Edelsohn
c73aecdfc0
parser.c (cp_parser_parameter_declaration_clause): Treat system header as extern "C" if NO_IMPLICIT_EXTERN_C undefined.
...
* parser.c (cp_parser_parameter_declaration_clause): Treat system
header as extern "C" if NO_IMPLICIT_EXTERN_C undefined.
From-SVN: r60639
2002-12-30 13:21:49 -05:00
Nathanael Nerode
b599b13591
config-lang.in, [...]: GCC, not GNU CC.
...
* config-lang.in, Make-lang.in, operators.def, cp-tree.def:
GCC, not GNU CC.
From-SVN: r60638
2002-12-30 18:06:39 +00:00
Mark Mitchell
946d5e4529
decl.c (grokdeclarator): Diagnost "extern thread" and "static thread" correctly.
...
* decl.c (grokdeclarator): Diagnost "extern thread" and "static
thread" correctly.
From-SVN: r60637
2002-12-30 17:47:15 +00:00
Nathanael Nerode
1c3139456d
decl.c, [...]: GCC, not GNU CC.
...
* decl.c, decl2.c, decl.h: GCC, not GNU CC. This is the C++ front
end, not the C front end.
From-SVN: r60636
2002-12-30 16:25:45 +00:00
Nathan Sidwell
8e268f721e
add missing Changelogs
...
From-SVN: r60635
2002-12-30 16:21:40 +00:00
Phil Edwards
645419c8bc
configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments, let the defaults work.
...
2002-12-30 Phil Edwards <pme@gcc.gnu.org>
* configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments,
let the defaults work.
* configure: Regenerate.
From-SVN: r60634
2002-12-30 15:50:52 +00:00
Kazu Hirata
3cc3e1cd36
* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
...
From-SVN: r60633
2002-12-30 15:35:20 +00:00
Kazu Hirata
a6e8d1139d
h8300.c (output_logical_op): Use extu.w if we are clearing the most significant byte.
...
* config/h8300/h8300.c (output_logical_op): Use extu.w if we
are clearing the most significant byte.
(compute_logical_op_length): Update to reflect the change in
output_logical_op.
(compute_logical_op_cc): Likewise.
From-SVN: r60632
2002-12-30 15:28:31 +00:00
Phil Edwards
37bc6ca264
acinclude.m4: Remove trailing whitespace.
...
2002-12-30 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4: Remove trailing whitespace.
(GLIBCPP_ENABLE_CXX_FLAGS): Fix.
* aclocal.m4, configure: Regenerate.
From-SVN: r60631
2002-12-30 14:54:45 +00:00
Nathan Sidwell
07fa487859
cp-tree.h (THUNK_TARGET): New macro.
...
cp:
* cp-tree.h (THUNK_TARGET): New macro.
(THUNK_VIRTUAL_OFFSET): For result thunks it is always a binfo.
(finish_thunk): Remove offset parms.
* class.c (find_final_overrider): Look through thunks.
(get_vcall_index): Use THUNK_TARGET.
(update_vtable_entry_for_fn): Look through thunks. Set covariant
fixed offset here. Adjust finish_thunk call.
(build_vtbl_initializer): Adjust finish_thunk calls.
* mangle.c (mangle_call_offset): Remove superfluous if.
(mangle_thunk): Adjust.
* method.c (make_thunk): Adjust.
(finish_thunk): Adjust.
(thunk_adjust): Remove assert.
(use_thunk): Use THUNK_TARGET
* dump1.c (cp_dump_tree): Adjust thunk dumping.
testsuite:
* g++.dg/inherit/covariant5.C: New test.
* g++.dg/inherit/covariant6.C: New test.
* g++.dg/inherit/covariant7.C: New test.
From-SVN: r60628
2002-12-30 13:39:48 +00:00
Nathan Sidwell
5a5cccaa4e
re PR c++/9054 (segfault on legal code with option -fdump-translation-unit)
...
PR c++/9054
* class.c (layout_class_type): Set DECL_CONTEXT of type for base.
* dump.c (cp_dump_tree, RECORD_TYPE): Deal with type for base types.
From-SVN: r60627
2002-12-30 12:46:13 +00:00
GCC Administrator
8b5d67e116
Daily bump.
...
From-SVN: r60626
2002-12-30 08:17:30 +00:00
Mark Wielaard
d2427b1d6e
Properties (formatForOutput): Don't fall through to default case after escaping character.
...
* java/util/Properties (formatForOutput): Don't fall through to
default case after escaping character.
From-SVN: r60618
2002-12-30 07:20:04 +00:00
Mark Wielaard
de2baf30bb
StringBuffer.java (getChars): Remove wrong dstOffset check against count.
...
* java/lang/StringBuffer.java (getChars): Remove wrong dstOffset check
against count.
From-SVN: r60616
2002-12-30 07:16:59 +00:00
Phil Edwards
70e12fb914
std_bitset.h: Better comments.
...
2002-12-29 Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Better comments.
From-SVN: r60614
2002-12-30 03:58:46 +00:00
Kazu Hirata
c85263d297
h8300.md: Give internal names to anonymous insns.
...
* config/h8300/h8300.md: Give internal names to anonymous
insns.
From-SVN: r60613
2002-12-29 22:25:39 +00:00
Kazu Hirata
fbcb02cd36
* config/h8300/h8300.md: Reorder some insns.
...
From-SVN: r60611
2002-12-29 21:33:18 +00:00
Gabriel Dos Reis
b626ec1b39
New test.
...
From-SVN: r60610
2002-12-29 21:28:25 +00:00
Gabriel Dos Reis
17db6bcc29
new test.
...
From-SVN: r60609
2002-12-29 21:13:10 +00:00
Gerald Pfeifer
695a8bcfbf
gcc_update (files_and_dependencies): Add gcc/intl/plural.c as depending on gcc/intl/plural.y.
...
* gcc_update (files_and_dependencies): Add gcc/intl/plural.c as
depending on gcc/intl/plural.y.
From-SVN: r60607
2002-12-29 19:34:53 +00:00
Alexandre Oliva
ade82b16ba
configure.in (host_configargs): Replace reference to no-longer-defined buildopts with --build=${build_alias}.
...
* configure.in (host_configargs): Replace reference to
no-longer-defined buildopts with --build=${build_alias}.
* configure: Rebuilt.
From-SVN: r60606
2002-12-29 19:04:40 +00:00
Kriang Lerdsuwanakij
f2551f3571
re PR c++/2739 (g++ allows accessing private members)
...
PR c++/2739
* g++.dg/other/access2.C: New test.
From-SVN: r60605
2002-12-29 17:01:45 +00:00
Gabriel Dos Reis
348d992107
New test.
...
From-SVN: r60604
2002-12-29 16:42:30 +00:00
Gabriel Dos Reis
5f77bfb5c7
new test.
...
From-SVN: r60603
2002-12-29 16:12:43 +00:00
Gabriel Dos Reis
53101fd1dd
anon-struct.C: No longer fails
...
* g++.dg/other/anon-struct.C: No longer fails
* g++.old-deja/g++.brendan/parse4.C: Likewise.
* g++.old-deja/g++.brendan/parse5.C: Likewise.
* g++.old-deja/g++.brendan/parse6.C: Likewise.
From-SVN: r60602
2002-12-29 15:13:12 +00:00
Gabriel Dos Reis
848eed9249
Remove traditional C constructs 4/n.
...
* decl2.c (grok_method_quals, warn_if_unknown_interface,
grok_x_components, cp_build_parm_decl, build_artificial_parm,
maybe_retrofit_in_chrg, grokclassfn, grok_array_decl,
delete_sanity, check_member_template, check_java_method,
check_classfn, finish_static_data_member_decl, grokfield,
grokbitfield, grokoptypename, grok_function_init,
cplus_decl_attributes, constructor_name, defer_fn,
build_anon_union_vars, finish_anon_union, coerce_new_type,
coerce_delete_type, comdat_linkage, maybe_make_one_only,
key_method, import_export_vtable, import_export_class,
output_vtable_inherit, import_export_decl, import_export_tinfo,
build_cleanup, get_guard, get_guard_bits, get_guard_cond,
set_guard, start_objects, finish_objects,
start_static_storage_duration_function,
finish_static_storage_duration_function, get_priority_info,
start_static_initialization_or_destruction,
finish_static_initialization_or_destruction,
do_static_initialization, do_static_destruction,
prune_vars_needing_no_initialization, write_out_vars,
reparse_decl_as_expr, finish_decl_parsing, namespace_ancestor,
add_using_namespace, merge_functions, ambiguous_decl,
lookup_using_namespace, lookup_using_namespace,
qualified_lookup_using_namespace, set_decl_namespace,
decl_namespace, current_decl_namespace, push_decl_namespace,
pop_decl_namespace, push_scope, pop_scope, add_function,
arg_assoc_namespace, arg_assoc_template_arg, arg_assoc,
lookup_arg_dependent, do_namespace_alias,
validate_nonmember_using_decl, do_nonmember_using_decl,
do_toplevel_using_decl, do_local_using_decl,
do_class_using_decl, do_using_directive, check_default_args,
mark_used, handle_class_head): Use C90 prototypings. Use booleans.
* parser.c (cp_parser_class_head): Use booleanss.
* decl.c (walk_globals, walk_vtables): Likewise.
* cp-tree.h (walk_globals_pred, walk_globals_fn, walk_vtables,
walk_globals): Change return type from 'int' to 'bool'.
* rtti.c (init_rtti_processing, build_headof, throw_bad_cast
throw_bad_typeid, get_tinfo_decl_dynamic, typeid_ok_p,
build_typeid, tinfo_name, get_tinfo_decl, get_tinfo_ptr,
get_typeid, ifnonnull, build_dynamic_cast_1, build_dynamic_cast,
qualifier_flags, tinfo_base_init, generic_initializer,
ptr_initializer, dfs_class_hint_mark, ptm_initializer,
dfs_class_hint_unmark, class_hint_flags, class_initializer,
typeinfo_in_lib_p, get_pseudo_ti_init, create_pseudo_type_info,
get_pseudo_ti_desc, create_tinfo_types, emit_support_tinfos,
unemitted_tinfo_decl_p, emit_tinfo_decl): Likewise.
* repo.c (repo_compile_flags, repo_template_declared,
repo_template_defined, repo_class_defined, repo_get_id,
repo_template_used, repo_vtable_used, repo_inline_used,
repo_tinfo_used, repo_template_instantiated, extract_string,
open_repo_file, afgets, init_repo, reopen_repo_file_for_write,
finish_repo): Likewise.
* ptree.c (cxx_print_decl, cxx_print_type, cxx_print_identifier,
cxx_print_xnode): Likewise..
* cp-lang.c (ok_to_generate_alias_set_for_type, cxx_get_alias_set,
cxx_warn_unused_global_decl, cp_expr_size): Likewise.
* cxxfilt.c (demangle_it, print_demangler_list, usage,
standard_symbol_characters, hp_symbol_characters, main, fatal):
Likewise.
(strip_underscore): Change type from 'int' to 'bool'.
(main): Use boolean constants.
From-SVN: r60601
2002-12-29 14:53:05 +00:00
Kazu Hirata
2873836bd9
h8300-protos.h: Add prototypes for const_int_qi_operand and const_int_hi_operand.
...
* config/h8300/h8300-protos.h: Add prototypes for
const_int_qi_operand and const_int_hi_operand.
* config/h8300/h8300.c (const_int_qi_operand): New.
(const_int_hi_operand): Likewise.
* config/h8300/h8300.md (three peepholes): New.
From-SVN: r60600
2002-12-29 14:36:35 +00:00
GCC Administrator
b63d28bf68
Daily bump.
...
From-SVN: r60597
2002-12-29 08:18:43 +00:00
Jason Merrill
65e7caddc9
change error to warning
...
From-SVN: r60590
2002-12-29 01:03:42 -05:00
Joseph Myers
bdefb2ab19
cpp.texi, [...]: Use @copying.
...
gcc:
* doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
Use @copying.
gcc/ada:
* gnat_rm.texi, gnat_ug.texi: Use @copying.
* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
gnat_ug_wnt.texi: Regenerate.
gcc/f:
* g77.texi: Use @copying.
gcc/java:
* gcj.texi: Use @copying.
gcc/treelang:
* treelang.texi: Use @copying.
libstdc++-v3:
* docs/html/17_intro/porting.texi: Use @copying.
* docs/html/17_intro/porting.html: Regenerate.
From-SVN: r60587
2002-12-28 21:38:55 +00:00
Joseph Myers
a38f87a9d2
configure.in: Increase makeinfo version requirement to 4.[2-9].
...
* configure.in: Increase makeinfo version requirement to 4.[2-9].
* configure: Regenerate.
* doc/install.texi: Update Texinfo version requirement.
From-SVN: r60583
2002-12-28 20:51:36 +00:00
Alexandre Oliva
903de29523
configure.in (host_configargs): Replace reference to no-longer-defined buildopts with --build=${build_alias}.
...
* configure.in (host_configargs): Replace reference to
no-longer-defined buildopts with --build=${build_alias}.
* configure: Rebuilt.
From-SVN: r60582
2002-12-28 17:57:14 +00:00
Alexandre Oliva
5888b7f20e
acx.m4: Name cache variables properly.
...
* acx.m4: Name cache variables properly.
(NCN_STRICT_CHECK_TOOL): If program is not found and
value-if-not-found is empty, use ${ncn_tool_prefix}$2 or $2,
depending on whether build != host or not.
(NCN_STRICT_CHECK_TARGET_TOOL): Ditto, with the target prefix.
From-SVN: r60581
2002-12-28 17:57:00 +00:00
Alexandre Oliva
e245b0ea6b
Makefile.tpl ($(NOTPARALLEL)): Move to the end.
...
* Makefile.tpl ($(NOTPARALLEL)): Move to the end. Bring uses of
program_transform_name to standard idiom.
(AUTOGEN, AUTOCONF): Define.
(Makefile.in): Use $(AUTOGEN).
(Makefile): Depend on config.status, and use autoconf-style rule to
build it. Move original commands to...
(config.status): ... this new target.
(configure): Add $(srcdir). Depend on config/acx.m4. Use
$(AUTOCONF).
* Makefile.in: Rebuilt.
From-SVN: r60580
2002-12-28 16:24:47 +00:00
Alexandre Oliva
e4029133c3
* gcc_update (configure): Depend on config/acx.m4 as well.
...
From-SVN: r60579
2002-12-28 16:24:33 +00:00
Gabriel Dos Reis
b746c5dc67
Remove traditional C constructs 3/n.
...
* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
build_up_reference, warn_ref_binding, convert_to_reference,
convert_from_reference, convert_lvalue, cp_convert, ocp_convert,
convert_to_void, convert, convert_force, build_type_conversion,
build_expr_type_conversion, type_promotes_to,
perform_qualification_conversions): Use C90 prototyping style.
* decl2.c (grok_array_decl): Use boolean constant.
(delete_sanity): Likewise.
* typeck.c (build_unary_op): Likewise.
* semantics.c (finish_switch_cond): Likewise.
* parser.c (cp_parser_direct_new_declarator): Likewise.
* init.c (build_new): Likewise.
From-SVN: r60574
2002-12-28 14:38:38 +00:00
Andreas Jaeger
b9b21a05ce
i386.c (x86_function_profiler): Mark labelno as possibly unused.
...
* config/i386/i386.c (x86_function_profiler): Mark labelno as
possibly unused.
From-SVN: r60573
2002-12-28 14:57:59 +01:00
Gabriel Dos Reis
c7ab2b4dbc
* g++.dg/parse/angle-bracket.C (main): No longer fails.
...
From-SVN: r60572
2002-12-28 13:48:54 +00:00
Alexandre Oliva
e1c1b6a5a5
* gcc_update (configure): Depend on configure.in.
...
From-SVN: r60571
2002-12-28 13:21:17 +00:00
Andreas Jaeger
c14bc6db67
c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for correct format.
...
* c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
correct format.
From-SVN: r60570
2002-12-28 11:51:18 +01:00
Nathanael Nerode
53fbfb580b
Makefile.tpl: Fix dramatic bustage due to change in program_transform_name.
...
* Makefile.tpl: Fix dramatic bustage due to change in
program_transform_name.
* Makefile.in: Regenerate.
* configure.in: Remove unnecessary PATH setting.
* configure: Regnerate.
* configure.in: Don't default to unprefixed tools unless
the native tools will work.
* configure: Regenerate.
From-SVN: r60568
2002-12-28 09:12:19 +00:00
GCC Administrator
1dd0faf394
Daily bump.
...
From-SVN: r60567
2002-12-28 08:17:42 +00:00
Mark Mitchell
a723baf1eb
Make-lang.in (po-generated): Remove parse.c.
...
* Make-lang.in (po-generated): Remove parse.c.
(CXX_OBJS): Remove parse.o and spew.o. Add parser.o.
($(srcdir)/cp/parse.h): Remove target.
($(srcdir)/cp/parse.c): Likewise.
(gt-cp-parse.h): Likewise.
(gt-cp-parser.h): New target.
(c++.distclean): Do not remove parse.output.
(c++.maintainer-clean): Do not remove parse.c or parse.h.
(cp/spew.o): Remove target.
(cp/lex.o): Adjust dependencies.
(cp/pt.o): Likewise.
(cp/parse.o): Likewise.
(cp/TAGS): Do not mention parse.c.
(cp/parser.o): New target.
* NEWS: Mention the new parser.
* call.c (build_scoped_method_call): Simplify.
(build_method_call): Likewise.
(build_new_function_call): Adjust calls to add_function_candidate
and add_template_candidate.
(build_new_op): Improve handling of erroroneous operands.
(convert_default_arg): Remove circular argument processing.
(name_as_c_string): New function.
(build_new_method_call): Use it.
(perform_implicit_conversion): Use error_operand_p.
* class.c (finish_struct_anon): Use constructor_name_p.
(check_field_decls): Likewise.
(pop_nested_class): Use OVL_NEXT, not OVL_CHAIN.
(resolve_address_of_overloaded_function): Likewise.
(instantiate_type): Tweak pointer-to-member handling.
(get_primary_binfo): Remove incorrect assertion.
* config-lang.in (gtfiles): Add parser.c, remove parse.c.
* cp-tree.h (DEFARG_TOKENS): New macro.
(default_arg): New structure.
(cp_tree_node_structure_enum): Add TS_CP_DEFAULT_ARG.
(lang_tree_node): Add default_arg.
(cp_tree_index): Add CPTI_TYPE_INFO_REF_TYPE.
(type_info_ref_type): New macro.
(saved_scope): Make processing_explicit_instantiation a boolean.
(check_access): New field.
(unparsed_text): Remove.
(language_function): Remove unparsed_inlines.
(error_operand_p): New macro.
(lang_decl): Adjust pending_inline_info.
(DEFARG_POINTER): Remove.
(tag_types): Add typenames.
(lookup_ualified_name): Declare.
(lookup_name_real): Likewise.
(shadow_tag): Adjust prototype.
(get_scope_of_declarator): Declare it.
(process_next_inline): Remove it.
(check_for_missing_semicolon): Likewise.
(maybe_get_template_decl_from_type_decl): Declare it.
(finish_label_stmt): Adjust prototype.
(finish_non_static_data_meber): Declare it.
(finish_pseudo_destructor_call_expr): Rename to ...
(finish_pseudo_destructor_expr): ... this.
(finish_compound_literal): Declare it.
(begin_inline_definitions): Remove it.
(init_spew): Remove.
(peekyylex): Likewise.
(arbitrate_lookup): Likewise.
(frob_opname): Likewise.
(maybe_snarf_defarg): Likewise.
(add_defarg_fn): Likewise.
(do_pending_defargs): Likewise.
(done_pending_defargs): Likewise.
(unprocessed_defarg_fn): Likewise.
(replace_defarg): Likewise.
(end_input): Likewise.
(get_overloaded_fn): Likewise.
* cvt.c (convert_to_reference): Improve error handling.
* decl.c (lookup_name_real): Do not declare it static.
(maybe_push_to_top_level): Set check_access.
(identifier_type_value): Adjust call to lookup_name_real.
(lookup_qualified_name): New method.
(lookup_name_real): Remove special-case parsing code.
(lookup_name-nonclass): Adjust call to lookup_name_real.
(lookup_name_namespace_only): Likewise.
(lookup_name): Likewise.
(check_tag_decl): Return the type declared.
(shadow_tag): Likewise.
(register_dtor_fn): Tweak check_access.
(grokfndecl): Use constructor_name_p.
(get_scope_of_declarator): New function.
(grokdeclarator): Obscure tweaks for slightly different declarator
representations.
(start_method): Return error_mark_node to indicate failure.
(cp_tree_node_structure_enum): Use TS_CP_DEFAULT_ARG for DEFAULT_ARGs.
* decl2.c (constructor_name_full): Simplify.
(constructor_name): Use it.
(build_expr_from_tree): Adjust for changes to do new parser.
(push_scope): Improve robustness.
(validate_nonmember_using_decl): Process declarations, not names.
(do_class_using_decl): Likewise.
(handle_class_head): Do not mess with CLASSTYPE_DECLARED_CLASS
here.
* error.c (dump_expr): Handle IDENTIFIER_NODEs and BASELINKs.
* expr.c (cxx_expand_expr): Handle BASELINKs.
* init.c (member_init_ok_or_else): Issue more errors.
(build_offset_ref): Tweak handling of FUNCTION_DECLs.
* lex.c: Do not include parse.h.
(yypring): Do not declare.
(yylval): Likewise.
(make_reference_declarator): Remove error-generating code.
(rid_to_yy): Remove.
(cxx_init): Do not call init_spew.
(yypring): Remove.
(check_for_missing_semicolon): Remove.
* lex.h (got_scope): Remove.
(got_object): Remove.
* method.c (hack_identifier): Use finish_non_static_data_member.
(implicitly_declare_fn): Adjust use of constructor_name.
* parser.c: New file.
* pt.c (parse.h): Do not include it.
(maybe_get_template_decl_from_template): Do not declare it.
(finish_member_template_decl): Tweak.
(begin_explicit_instantiation): Adjust for
processing_explicit_instantiation being boolean.
(end_explicit_instantiation): Likewise.
(maybe_process_partial_specialization): Tighten specialization
test.
(retrieve_local_specialization): Adjust ue of hash table.
(eq_local_specializations): New function.
(register_local_specialization): Likewise.
(push_template_decl_real): Remove unnecessary test.
(maybe_get_template_decl_from_type_decl): Don't make it static.
(for_each_template_parm_r): Handle TYPEOF_TYPE.
(tsubst_copy): Use retrieive_local_specialization to handle
PARM_DECL. Adjust handling of CONST_DECLs. Handle BASELINKs.
Handle COMPONENT_REFs with pseudo-destructor-expressions.
Simplify handling of CALL_EXPR and METHOD_CALL_EXPR.
(tsubst_expr): Pass decls, not names, to do_local_using_decl.
(unify): Tweak handling of CONST_DECLs.
(regenerate_decl_from_template): Use push_nested_class.
(template_for_substitution): New funciton.
(instantiate_decl): Use it. Register parameters as local
specializations.
* rtti.c (init_rtti_processing): Set type_info_ref_type.
(build_typeid): Use it.
(get_typeid): Likeise.
* search.c (accessible_p): Use check_access, not
flag_access_control.
(adjust_result_of_qualified_name_lookup): Pay attention to the
context_class.
* semantics.c (finish_asm_stmt): Adjust error handling.
(finish_label_stmt): Return the statement.
(finish_non_static_data_member): New function.
(finish_class_expr): Handle BASELINKs.
(finish_call_expr): Handle PSEUDO_DTOR_EXPR.
(finish_object_call_expr): Simplify handling during templates.
(finish_pseudo_destructor_call_expr): Rename to ...
(finish_pseudo_dtor_expr): ... this.
(finish_compound_literal): New function.
(begin_inline_definitions): Remove.
(finish_sizeof): Remove special template handling.
* spew.c: Do not include parse.h.
* tree.c (get_overloaded_fn): Remove.
* typeck.c (build_class_member_access_expr): Handle
PSEUDO_DTOR_EXPR. Adjust handling of static member functions.
(lookup_destructor): New function.
(finish_class_member_access_expr): Use it.
(convert_arguments): Simplify.
(build_unary_op): Handle BASELINKs.
From-SVN: r60560
2002-12-28 08:03:42 +00:00
Mark Mitchell
876200a8b7
spec4.C: Remove stray semicolon.
...
* g++.dg/eh/spec4.C: Remove stray semicolon.
* g++.dg/expr/pmf-1.C: Change error message.
* g++.dg/ext/asm1.C: Remove stray semicolon.
* g++.dg/ext/typename1.C: Add missing typenames.
* g++.dg/inherit/template-as-base.C: Change error message.
* g++.dg/lookup/scoped1.C: Likewise.
* g++.dg/lookup/scoped2.C: Likewise.
* g++.dg/lookup/using2.C: Likewise.
* g++.dg/other/component1.C: Remove stray semicolon.
* g++.dg/other/do1.C: Change error message.
* g++.dg/other/error2.C: Likewise.
* g++.dg/other/init1.C: Likewise.
* g++.dg/other/packed1.C: Remove stray semicolon.
* g++.dg/other/ptrmem2.C: Change error message.
* g++.dg/parse/parameter-declaration-1.C: Remove line number
marker.
* g++.dg/special/initp1.C: Remove invalid attribute usage.
* g++.dg/template/access3.C: Add typename keyword.
* g++.dg/template/access5.C: Remove stray semicolon.
* g++.dg/template/access6.C: Likewise.
* g++.dg/template/complit1.C: Likewise.
* g++.dg/template/crash1.C: Change error message.
* g++.dg/template/inherit2.C: Remove stray semicolon.
* g++.dg/template/instantiate2.C: Likewise.
* g++.dg/template/instantiate3.C: Change error message.
* g++.dg/template/qual1.C: Remove stray semicolon.
* g++.dg/template/qualttp18.C: Change error message.
* g++.dg/template/ref1.C: Remove stray semicolon.
* g++.dg/template/sizeof1.C (A::value): Declare it.
* g++.dg/template/spec4.C: Change error message.
* g++.dg/template/static1.C: Likewise.
* g++.dg/template/type1.C: Likewise.
* g++.dg/template/typename3.C: Likewise.
* g++.old-deja/g++.benjamin/13478.C: Change error message.
* g++.old-deja/g++.benjamin/15799.C: Remove stray semicolon.
* g++.old-deja/g++.benjamin/bool01.C: Likewise.
* g++.old-deja/g++.benjamin/bool02.C: Likewise.
* g++.old-deja/g++.benjamin/p13417.C: Now fails due to use of
named return value extension.
* g++.old-deja/g++.benjamin/tem06.C: Remove stray semicolon.
* g++.old-deja/g++.benjmain/warn01.C: Likewise.
* g++.old-deja/g++.bob/extern_C.C: Likewise.
* g++.old-deja/g++.bob/inherit2.C: Likewise.
* g++.old-deja/g++.brendan/complex1.C: Likewise.
* g++.old-deja/g++.brendan/copy5.C: Likewise.
* g++.old-deja/g++.brendan/crash13.C: Likewise.
* g++.old-deja/g++.brendan/crash15.C: Likewise.
* g++.old-deja/g++.brendan/crash18.C: Change error message.
* g++.old-deja/g++.brendan/crash37.C: Remove stray semicolon.
* g++.old-deja/g++.brendan/crash38.C: Likewise.
* g++.old-deja/g++.brendan/crash50.C: Likewise.
* g++.old-deja/g++.brendan/crash56.C: Likewise.
* g++.old-deja/g++.brendan/crash6.C: Use explicit specialization
syntax.
* g++.old-deja/g++.brendan/crash66.C: Remove stray semicolon.
* g++.old-deja/g++.brendan/crash8.C: Change error message.
* g++.old-deja/g++.brendan/ctors1.C: Remove stray semicolon.
* g++.old-deja/g++.brendan/ctors2.C: Likewise.
* g++.old-deja/g++.brendan/shadow1.C: Likewise.
* g++.old-deja/g++.brendan/template11.C: Likewise.
* g++.old-deja/g++.brendan/template26.C: Likewise.
* g++.old-deja/g++.brendan/template27.C: Use explicit
specialization syntax.
* g++.old-deja/g++.brendan/template30.C: Likewise.
* g++.old-deja/g++.brendan/template5.C: Remove stray semicolon.
* g++.old-deja/g++.brendan/visibility3.C: Account for use of
non-dependent names.
* g++.old-deja/g++.brendan/warnings4.C: Remove stray semicolon.
* g++.old-deja/g++.brendan/warnings7.C: Likewise.
* g++.old-deja/g++.bugs/900121_02.C: Likewise.
* g++.old-deja/g++.eh/catchptr1.C: Likewise.
* g++.old-deja/g++.ext/addrfunc4.C: Likewise.
* g++.old-deja/g++.ext/namedret1.C: Now fails due to use of
named return value extension.
* g++.old-deja/g++.ext/namedret2.C: Likewise.
* g++.old-deja/g++.ext/namedret3.C: Likewise.
* g++.old-deja/g++.ext/return1.C: Likewise.
* g++.old-deja/g++.ext/typename1.C: Add missing typename keywords.
* g++.old-deja/g++.jason/access17.C: Issue more error messages.
* g++.old-deja/g++.jason/access8.C: Likewise.
* g++.old-deja/g++.jason/bool.C: Remove stray semicolon.
* g++.old-deja/g++.jason/destruct.C: Remove incorrect
pseudo-destructor names.
* g++.old-deja/g++.jason/dtor3.C: Remove stray semicolon.
* g++.old-deja/g++.jason/dtor5.C: Remove incorrect
pseudo-destructor names.
* g++.old-deja/g++.jason/opeq3.C: Remove stray semicolon.
* g++.old-deja/g++.jason/overload19.C: Likewise.
* g++.old-deja/g++.jason/overload32.C: Likewise.
* g++.old-deja/g++.jason/parse11.C: Issue error messages about
stray semicolons.
* g++.old-deja/g++.jason/pmem2.C: Remove stray semicolon.
* g++.old-deja/g++.jason/return.C: Likewise.
* g++.old-deja/g++.jason/return2.C: Likewise.
* g++.old-deja/g++.jason/shadow1.C: Likewise.
* g++.old-deja/g++.jason/special.C: Use explicit specialization
syntax.
* g++.old-deja/g++.jason/template10.C: Account for use of
non-dependent names.
* g++.old-deja/g++.jason/template11.C: Use explicit specialization
syntax.
* g++.old-deja/g++.jason/template37.C: Likewise.
* g++.old-deja/g++.law/access4.C: Change error messages.
* g++.old-deja/g++.law/arm13.C: Remove incorrect
pseudo-destructor names.
* g++.old-deja/g++.law/code-gen5.C: Remove stray semicolon.
* g++.old-deja/g++.law/ctors9.C: Likewise.
* g++.old-deja/g++.law/cvt22.C: Likewise.
* g++.old-deja/g++.law/dtors5.C: Likewise.
* g++.old-deja/g++.law/global-init1.C: Likewise.
* g++.old-deja/g++.law/missed-error3.C: Likewise.
* g++.old-deja/g++.law/operators28.C: Likewise.
* g++.old-deja/g++.law/visibility28.C: Likewise.
* g++.old-deja/g++.martin/eval1.C: Likewise.
* g++.old-deja/g++.martin/pmf2.C: Remove qualifier in constructor
name.
* g++.old-deja/g++.mike/hog1.C: Remove stray semicolon.
* g++.old-deja/g++.mike/net34.C: Likewise.
* g++.old-deja/g++.mike/net36.C: Likewise.
* g++.old-deja/g++.mike/ns2.C: Likewise.
* g++.old-deja/g++.mike/p12306.C: Likewise.
* g++.old-deja/g++.mike/p646.C: Adjust for removal of named return
value extension.
* g++.old-deja/g++.mike/p700.C: Likewise.
* g++.old-deja/g++.mike/p701.C: Remove stray semicolon.
* g++.old-deja/g++.mike/p710.C: Likewise.
* g++.old-deja/g++.mike/p784.C: Adjust for removal of named return
value extension.
* g++.old-deja/g++.mike/pmf7.C: Remove stray semicolon.
* g++.old-deja/g++.mike/pmf9.C: Likewise.
* g++.old-deja/g++.ns/crash2.C: Likewise.
* g++.old-deja/g++.ns/crash3.C: Likewise.
* g++.old-deja/g++.ns/invalid1.C: Likewise.
* g++.old-deja/g++.ns/ns17.C: Likewise.
* g++.old-deja/g++.ns/template16.C: Likewise.
* g++.old-deja/g++.ns/template5.C: Remove invalid use of template
keyword.
* g++.old-deja/g++.ns/template6.C: Remove stray semicolon.
* g++.old-deja/g++.ns/using9.C: Remove stray semicolon.
* g++.old-deja/g++.oliva/nameret1.C: Now fails due to use of
named return value extension.
* g++.old-deja/g++.oliva/nameret2.C: Likewise.
* g++.old-deja/g++.other/access4.C: Issue additional error
messages.
* g++.old-deja/g++.other/array6.C: Remove stray semicolon.
* g++.old-deja/g++.other/crash1.C: Isue additional error messages.
* g++.old-deja/g++.other/crash11.C: Add missing class-key.
* g++.old-deja/g++.other/crash25.C: Change error message.
* g++.old-deja/g++.other/crash4.C: Change error message.
* g++.old-deja/g++.other/debug7.C: Remove stray semicolon.
* g++.old-deja/g++.other/decl5.C: Issue more error messages.
* g++.old-deja/g++.other/defarg7.C: Remove circular dependency
checks.
* g++.old-deja/g++.other/defarg8.C: Likewise.
* g++.old-deja/g++.other/dtor1.C: Remove stray semicolon.
* g++.old-deja/g++.other/dtor10.C: Likewise.
* g++.old-deja/g++.other/incomplete.C: Likewise.
* g++.old-deja/g++.other/linkage7.C: Likewise.
* g++.old-deja/g++.other/lookup19.C: Now fails due to corrected
lookup algorithm.
* g++.old-deja/g++.other/mangle2.C: Likewise.
* g++.old-deja/g++.other/refinit2.C: Likewise.
* g++.old-deja/g++.other/sizeof2.C: Change error messages.
* g++.old-deja/g++.other/std1.C: Remove stray semicolon.
* g++.old-deja/g++.pt/crash28.C: Likewise.
* g++.old-deja/g++.pt/crash29.C: Use explicit specialization
syntax.
* g++.old-deja/g++.pt/crash32.C: Change error message.
* g++.old-deja/g++.pt/crash43.C: Adjust error messages.
* g++.old-deja/g++.pt/crash58.C: Remove stray semicolon.
* g++.old-deja/g++.pt/crash65.C: Tweak to acount for change in
error message position.
* g++.old-deja/g++.pt/defarg5.C: Remove stray semicolon.
* g++.old-deja/g++.pt/defarg8.C: Change error message.
* g++.old-deja/g++.pt/eichin01.C: Use explicit specialization
syntax.
* g++.old-deja/g++.pt/eichin01a.C: Define static data members.
* g++.old-deja/g++.pt/eichin01b.C: Likewise.
* g++.old-deja/g++.pt/enum7.C: Remove stray semicolon.
* g++.old-deja/g++.pt/explicit12.C: Remove invalid use of template
keyword.
* g++.old-deja/g++.pt/explicit31.C: Likewise.
* g++.old-deja/g++.pt/explicit33.C: Remove stray semicolon.
* g++.old-deja/g++.pt/explicit35.C: Remove invalid use of template
keyword.
* g++.old-deja/g++.pt/explicit71.C: Change error message.
* g++.old-deja/g++.pt/explicit80.C: Use explicit specialization
syntax.
* g++.old-deja/g++.pt/friend28.C: Account for use of
non-dependent names.
* g++.old-deja/g++.pt/friend29.C: Likewise.
* g++.old-deja/g++.pt/friend46.C: Adjust for correct name lookup
rules.
* g++.old-deja/g++.pt/friend48.C: Remove stray semicolon.
* g++.old-deja/g++.pt/instantiate1.C: Use correct class-key.
* g++.old-deja/g++.pt/instantiate11.C: Adjust for correct name
lookup rules.
* g++.old-deja/g++.pt/instantiate8.C: Remove stray semicolon.
* g++.old-deja/g++.pt/instantiate9.C: Insert missing typename
keyword.
* g++.old-deja/g++.pt/memclass20.C: Likewise.
* g++.old-deja/g++.pt/memclass5.C: Likewise.
* g++.old-deja/g++.pt/memclass7.C: Remove invalid use of template
keyword.
* g++.old-deja/g++.pt/memtemp75.C: Likewise.
* g++.old-deja/g++.pt/memtemp81.C: Remove stray semicolon.
* g++.old-deja/g++.pt/memtemp87.C: Add missing access specifier.
* g++.old-deja/g++.pt/overload13.C: Correct error messages.
* g++.old-deja/g++.pt/parms2.C: Add missing typename keyword.
* g++.old-deja/g++.pt/ptrmem1.C: Remove invalid use of template
keyword.
* g++.old-deja/g++.pt/spec10.C: Likewise.
* g++.old-deja/g++.pt/spec28.C: Reorder declarations.
* g++.old-deja/g++.pt/t10.C: Add explicit specialization syntax.
* g++.old-deja/g++.pt/t32.C: Remove stray semicolon.
* g++.old-deja/g++.pt/t35a.C: Add explicit specialization syntax.
* g++.old-deja/g++.pt/ttp24.C: Remove stray semicolon.
* g++.old-deja/g++.pt/ttp62.C: Likewise.
* g++.old-deja/g++.pt/ttp64.C: Likewise.
* g++.old-deja/g++.pt/typename11.C: Add missing typename keyword.
* g++.old-deja/g++.pt/typename15.C: Likewise.
* g++.old-deja/g++.pt/typename22.C: Likewise.
* g++.old-deja/g++.pt/typename6.C: Change error messages.
* g++.old-deja/g++.pt/using1.C: Remove stray semicolon.
* g++.old-deja/g++.pt/virtual2.C: Likewise.
* g++.old-deja/g++.robertl/eb118.C: Add explicit specialization
syntax.
* g++.old-deja/g++.robertl/eb27.C: Now fails due to use of named
return value extension.
* g++.old-deja/g++.robertl/eb43.C: Remove stray semicolon.
* g++.old-deja/g++.robertl/eb79.C: Correct for new name lookup rules.
* g++.old-deja/g++.robertl/eb82.C: Remove stray semicolons.
* g++.old-deja/g++.robertl/eb86.C: Add missing forward declaration.
From-SVN: r60559
2002-12-28 07:48:15 +00:00