Commit Graph

23369 Commits

Author SHA1 Message Date
Mark Mitchell
1b12a13e40 cp-tree.h (back_end_hook): New variable.
* cp-tree.h (back_end_hook): New variable.
	* decl2.c (back_end_hook): Define it.
	(finish_file): If it's non-NULL, call it.

From-SVN: r28741
1999-08-17 23:07:54 +00:00
Rainer Orth
47359a8efa gc_priv.h: Merged IRIX thread changes from include/private/gc_priv.h.
Tue Aug 10 00:08:29 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gc_priv.h: Merged IRIX thread changes from
	include/private/gc_priv.h.

From-SVN: r28740
1999-08-17 22:46:02 +00:00
Mark Mitchell
cfe507bee8 decl.c (add_decl_to_level): New function.
* decl.c (add_decl_to_level): New function.
	(push_local_binding): Use it.
	(find_binding): Fix typo in comment.
	(pushdecl): Use add_decl_to_level.  Put templates on the
	corresponding namespace-scope binding levels.
	* dump.c (dequeue_and_dump): Print the specializations of a
	template.
	* pt.c (push_template_decl_real): Don't push a template multiple
	times.

From-SVN: r28738
1999-08-17 22:35:19 +00:00
Tom Tromey
db4b04f1f4 From Bryce McKinlay:
* libjava.lang/Array_2.java: New file.
	* libjava.lang/Array_2.out: New file.

From-SVN: r28737
1999-08-17 22:05:56 +00:00
Andrew MacLeod
57ad447995 flow.c (create_edge_list): Use xmalloc, not malloc.
Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>

	* flow.c (create_edge_list): Use xmalloc, not malloc.

From-SVN: r28736
1999-08-17 21:44:26 +00:00
Loren J. Rittle
c78896f083 Do not trash single-line C-style comments
From-SVN: r28735
1999-08-17 18:32:32 +00:00
Jeff Law
6baa5e2921 Daily bump.
From-SVN: r28734
1999-08-17 01:45:09 -06:00
Mark Mitchell
43f887f9f6 cp-tree.h (CALL_DECLARATOR_PARMS): New macro.
* cp-tree.h (CALL_DECLARATOR_PARMS): New macro.
	(CALL_DECLARATOR_QUALS): Likewise.
	(CALL_DECARATOR_EXCEPTION_SPEC): Likewise.
	* decl.c (grokdeclarator): Adjust to use them.
	* decl2.c (grokfield): Likewise.
	(reparse_absdcl_as_casts): Likewise.
	* lex.c (make_call_declarator): Likewise.
	(set_quals_and_spec): Likewise.
	* pt.c (tsubst): Likewise.
	* tree.c (mapcar): Remove special hack to handle third operand of
	a CALL_EXPR.

From-SVN: r28733
1999-08-17 07:20:23 +00:00
Andrew MacLeod
410538ea80 basic-block.h (struct edge_list): Stucture to maintain a vector of edges.
* basic-block.h (struct edge_list): Stucture to maintain a vector
	of edges.
	(EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
	 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
	(create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
	New function prototypes.
	* flow.c (create_edge_list): Function to create an edge list.
	(free_edge_list): Discards memory used by an edge list.
	(print_edge_list): Debug output showing an edge list.
	(verify_edge_list): Internal consistency check for an edge list.

From-SVN: r28732
1999-08-16 22:14:51 +00:00
Mark Mitchell
b0d065155d cp-tree.h (CAN_HAVE_FULL_LANG_DECL_P): New macro.
* cp-tree.h (CAN_HAVE_FULL_LANG_DECL_P): New macro.
	* class.c (build_vtable): Use build_lang_field_decl to build the
	VAR_DECLs for vtables.
	(prepare_fresh_vtable): Likewise.
	* decl.c (duplicate_decls): Only copy DECL_SAVED_TREE if
	CAN_HAVE_FULL_LANG_DECL_P.
	(push_using_decl): Use build_lang_decl to build USING_DECLs.
	(grokdeclarator): Use build_lang_decl to build TYPE_DECLs.
	* lex.c (retrofit_lang_decl): Check CAN_HAVE_FULL_LANG_DECL_P.
	(build_lang_field_decl): Likewise.
	(copy_lang_decl): Use CAN_HAVE_FULLLANG_DECL_P to decide how much
	to copy.

From-SVN: r28731
1999-08-16 22:08:42 +00:00
Gavin Romig-Koch
58e787081d make me the mips maintainer, fix my name
From-SVN: r28730
1999-08-16 21:43:19 +00:00
Mark Mitchell
558475f07c cp-tree.def (STMT_EXPR): New tree node.
* cp-tree.def (STMT_EXPR): New tree node.
	* cp-tree.h (STMT_EXPR_STMT): New macro.
	(store_return_init): Change prototype.
	(finish_named_return_value): New function.
	(expand_stmt): Likewise.
	(expand_body): Likewise.
	(begin_stmt_tree): Likewise.
	(finish_stmt_tree): Likewise.
	(expanding_p): New variable.
	(last_expr_type): Likewise.
	(building_stmt_tree): New macro.
	* decl.c (start_function): Use building_stmt_tree, not
	processing_template_decl, where appropriate.
	(store_parm_decls): Likewise.
	(store_return_init): Move most of the body to semantics.c.
	(finish_function): Use building_stmt_tree.
	(finish_stmt): Clear last_expr_type here.
	(cp_function): Add expanding_p, last_tree, last_expr_type.
	(push_cp_function_context): Save them.
	(pop_cp_function_context): Restore them.
	* decl2.c (setup_vtbl_ptr): Move to semantics.c.
	* error.c (dump_expr): Handle STMT_EXPR.
	* except.c (expand_start_catch_block): Use building_stmt_tree.
	Use add_decl_stmt.
	* expr.c (cplus_expand_expr): Handle STMT_EXPR.
	(do_case): Move add_tree call to semantics.c.
	* parse.y (return_init): Use finish_named_return_value.
	(for.init.statement): Use finish_expr_stmt.
	* parse.c: Regenerated.
	* pt.c (do_pushlevel): Move to semantics.c.
	(do_poplevel): Likewise.
	(tsubst_copy): Handle STMT_EXPR instead of BIND_EXPR.
	(tsubst_expr): Don't expand all the way to RTL here.  Handle
	RETURN_INIT and CTOR_INITIALIZER.
	(instantiate_decl): Call expand_body after tsubst'ing into
	DECL_SAVED_TREE.
	* semantics.c (expand_stmts): New function.
	(expanding_p): New variable.
	(last_expr_type): Likewise.
	(finish_expr_stmt): Use building_stmt_tree.
	(begin_if_stmt): Likewise.
	(finish_if_stmt_cond): Likewise.
	(finish_then_clause): Likewise.
	(begin_else_clause): Likewise.
	(finish_else_clause): Likewise.
	(begin_while_stmt): Likewise.
	(finish_while_stmt_cond): Likewise.
	(finish_while_stmt): Likewise.
	(finish_do_body): Likewise.
	(finish_do_stmt): Likewise.
	(finish_return_stmt): Likewise.
	(begin_for_stmt): Likewise.
	(fnish_for_init_stmt): Likewise.
	(finish_for_cond): Likewise.
	(finish_for_expr): Likewise.
	(finish_for_stmt): Likewise.
	(finish_break_stmt): Likewise.
	(finish_continue_stmt): Likewise.
	(finish_switch_cond): Likewise.
	(finish_switch_stmt): Likewise.
	(finish_case_label): Call add_tree here if necessary.
	(finish_goto_statement): Use building_stmt_tree.
	(begin_try_block): Likewise.
	(begin_function_try_block): Likewise.
	(finish_try_block): Likewise.
	(finish_function_try_block): Likewise.
	(finish_handler_sequence): Likewise.
	(finish_function_handler_sequence): Likewise.
	(begin_handler): Likewise.
	(finish_handler_parms): Likewise.
	(finish_handler): Likewise.
	(begin_compound_stmt): Likewise.
	(finish_compound_stmt): Likewise.
	(finish_asm_stmt): Likewise.
	(finish_label_stmt): Likewise.
	(finish_named_return_value): New function.
	(setup_vtbl_ptr): Moved here from decl2.c.
	(do_pushlevel): Moved here from pt.c.
	(do_poplevel): Likewise.
	(begin_stmt_expr): Use building_stmt_tree.
	(finish_stmt_expr): Likewise.  Build a STMT_EXPR, not a BIND_EXPR,
	when building_stmt_tree.
	(begin_stmt_tree): New function.
	(finish_stmt_tree): Likewise.
	(expand_stmt): Likewise.
	(expand_body): Likewise.
	* tree.c (build_cplus_method_type): Make sure the argument types
	end up on the same obstack as the METHOD_TYPE.
	(search_tree): Handle COMPOUND_EXPR, MODIFY_EXPR,
	THROW_EXPR, STMT_EXPR.
	(mapcar): Break out common cases.  Handle COMPOUND_EXPR,
	MODIFY_EXPR, THROW_EXPR, STMT_EXPR, RTL_EXPR.  Abort, rather than
	sorry, if an unsupported node is encountered.
	* typeck.c (require_complete_type_in_void): Handle BIND_EXPR.
	(c_expand_return): Don't call add_tree here.

From-SVN: r28729
1999-08-16 19:01:36 +00:00
Mark Mitchell
63ebc27560 tree.c (type_hash_add): Use permalloc to allocate nodes in the hashtable.
* tree.c (type_hash_add): Use permalloc to allocate nodes in the
	hashtable.

From-SVN: r28728
1999-08-16 18:53:23 +00:00
Tom Tromey
086920c39f configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Set DIVIDESPEC to empty string if compiler does
	not support -fuse-divide-subroutine.

From-SVN: r28727
1999-08-16 17:01:52 +00:00
Gerald Pfeifer
ecdea017a4 gcc_update: New file.
* gcc_update: New file.
	* egcs_update: Renamed to gcc_update.

From-SVN: r28726
1999-08-16 16:49:21 +00:00
J"orn Rennecke
87d9d86059 * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
From-SVN: r28725
1999-08-16 17:05:47 +01:00
Gerald Pfeifer
861313f2d4 * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
From-SVN: r28724
1999-08-16 15:56:44 +00:00
Nick Clifton
88924698f1 Allow machine dependent reorganisation pass to place information into the RTL
dump file if it so wishes.

From-SVN: r28723
1999-08-16 10:06:19 +00:00
Jeff Law
6c26cda2b5 Daily bump.
From-SVN: r28719
1999-08-16 01:45:12 -06:00
Mark Mitchell
497fa9d355 Fix typo in last change
From-SVN: r28718
1999-08-16 00:59:19 +00:00
Jim Wilson
0c61f5414d Fix misuses of MAX_MACHINE_MODE that can result in an infinite loop.
* explow.c (hard_function_value): Use VOIDmode instead of
	MAX_MACHINE_MODE.
	* stmt.c (expand_return): Likewise.
	* stor-layout.c (get_best_mode): Likewise.

From-SVN: r28717
1999-08-15 13:08:12 -07:00
Jim Wilson
d3ca5cdd6c Fix bug preventing use of match_par_dup in a call insn pattern.
* genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
	emit call instead of emit_insn call.

From-SVN: r28716
1999-08-15 12:45:38 -07:00
Mark Mitchell
e0942dcd7e pt.c (check_default_tmpl_args): Don't check in local scopes.
* pt.c (check_default_tmpl_args): Don't check in local scopes.
	(tsubst_decl): Make sure the declaration is on a saveable
	obstack.  Clear DECL_DEAD_FOR_LOCAL when making a copy of a local
	variable.
	(tsubst_expr): Adjust now that DECL_STMTs really contain DECLs.

From-SVN: r28715
1999-08-15 16:59:17 +00:00
Anthony Green
66e064294f expr.c (java_lang_expand_expr): Mark static array data as referenced.
* expr.c (java_lang_expand_expr): Mark static array data as
        referenced.

From-SVN: r28714
1999-08-15 08:31:56 +00:00
Jeff Law
7ede7de669 Daily bump.
From-SVN: r28713
1999-08-15 01:45:09 -06:00
Mumit Khan
f4ab28e3c6 Mumit Khan <khan@xraylith.wisc.edu>
* configure.in: Handle --disable/enable-win32-registry.
        * install.texi: Document --disable/enable-win32-registry.
        * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
        (WIN32_REGISTRY_KEY): New macro.
        * prefix.c: Use to enable/disable win32-specific code.
        (lookup_key): Use versioned key.
        * configure: Regenerate.
        * config.in: Likewise.

From-SVN: r28712
1999-08-14 15:04:44 -07:00
Per Bothner
efc3b511cb resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
1999-08-14  Per Bothner  <per@bothner.com>

	* resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
	* java/lang/natClass.cc (initializeClass): Likewise.
	* java/lang/ClassLoader.java (resolveClass0): New static method.
	(resolveClass): Call resolveClass0.
	(findSystemClass): No longer static.

From-SVN: r28711
1999-08-14 19:49:06 +00:00
Jason Merrill
2c169babb6 Speed up Koenig lookup.
* decl.c (unqualified_namespace_lookup): Nonstatic.  Add spacep parm
	to return namespaces we've looked at.
	* decl2.c (lookup_using_namespace): Likewise.
	(add_function): Don't call ovl_member.
	(lookup_arg_dependent): Initialize k.namespaces to the list of
	namespaces seen in unqualified lookup.
	* call.c (equal_functions): Move here from tree.c.
	(joust): Use it to handle duplicate candidates.
	* tree.c (ovl_member): Use ==.

From-SVN: r28710
1999-08-14 07:08:53 -04:00
Mark Mitchell
9188c36364 cp-tree.def (DECL_STMT): Make it smaller.
* cp-tree.def (DECL_STMT): Make it smaller.
	* cp-tree.h (lang_decl_flags): Move saved_tree to ...
	(lang_decl): ... here.  Add next.
	(DECL_SAVED_TREE): Adjust accordingly.
	(DECL_IMPLICIT_TYPEDEF_P): New macro.
	(SET_DECL_IMPLICIT_TYPEDEF_P): Likewise.
	(DECL_STMT_DECL): Likewise.
	(create_implicit_typedef): New function.
	(maybe_push_decl): Likewise.
	(tsubst_default_argument): New function.
	(at_function_scope_p): Likewise.
	(add_decl_stmt): Likewise.
	(push_permanent_obstack): Likewise.
	* call.c (convert_default_arg): Use tsubst_default_argument.
	* class.c (add_method): Use push_permanent_obstack.
	(build_self_reference): Create a TEMPLATE_DECL for the
	self-reference, if necessary.
	* decl.c (pseudo_global_level_p): Only look at the current binding
	level.
	(push_binding): Use push_permanent_obstack.
	(create_implicit_typedef): New function.
	(pushtag): Use it.
	(duplicate_decls): Use push_permanent_obstack.
	(maybe_push_decl): New function.
	(start_decl): Use it.  Remove dead code.  Use add_decl_stmt.
	(start_decl_1): Remove dead code.
	(cp_finish_decl): Remove DECL_STMT handling here.  Don't use
	pseudo_global_level_p.
	(grokvardecl): Create DECL_LANG_SPECIFIC for a VAR_DECL in a
	template.
	(grokdeclarator): Likewise, for TYPE_DECLs.  Don't use
	pseudo_global_level_p.
	* decl2.c (grokfield): Call push_template_decl for a TYPE_DECL in
	a template.
	(get_sentry): Use push_permanent_obstack.
	* dump.c (dequeue_and_dump): Enable DECL_STMT.
	* except.c (call_eh_info): Use push_permanent_obstack.
	(build_eh_type_ref): Likewise.
	(do_pop_exception): Likewise.
	(expand_eh_spec): Likewise.
	(alloc_eh_object): Likewise.
	(expand_throw): Likewise.
	* init.c (build_java_class_ref): Likewise.
	* lex.c (get_time_identifier): Likewise.
	(free_lang_decl_chain): Correct type.
	(retrofit_lang_decl): Adjust accordingly.
	(build_lang_field_decl): Likewise.
	* lex.h (free_lang_decl_chain): Likewise.
	* parse.y (lang_extdef): Don't use pseudo_global_level_p.
	* parse.c: Regenerated.
	* pt.c (tsubst_default_arguments): New function.
	(retrieve_local_specialization): Likewise.
	(register_local_specialization): Likewise.
	(push_template_decl_real): Use DECL_IMPLICIT_TYPEDEF_P.  Just use
	pseudo_global_level_p to determine whether or not a template is
	primary.
	(lookup_template_class): Likewise.  Use create_implicit_typedef.
	(instantiate_class_template): Call tsubst_default_arguments for
	member functions, if appropriate.
	(tsubst_default_argument): New function.
	(tsubst_decl): Use it.  Change TYPE_DECL handling to match VAR_DECLs.
	* search.c (at_function_scope_p): New function.
	* semantics.c (finish_asm_stmt): Use push_permanent_obstack.
	(finish_label_stmt): Likewise.
	(add_decl_stmt): New function.
	(begin_class_definition): Likewise.
	(finish_typeof): Likewise.
	* tree.c (copy_template_template_parm): Likewise.
	(copy_to_permanent): Likewise.
	(push_permanent_obstack): Define.
	(mark_addressable): Use it.
	* typeck.c (mark_addressable): Likewise.

From-SVN: r28709
1999-08-14 09:23:49 +00:00
Jeff Law
0d4255d1f6 Daily bump.
From-SVN: r28708
1999-08-14 01:45:10 -06:00
Jason Merrill
d3a34a0a7e cpplib.c (read_line_number): New fn, split out of...
* cpplib.c (read_line_number): New fn, split out of...
	(do_line): Here.

From-SVN: r28707
1999-08-13 20:42:07 -04:00
Mark Mitchell
8dd3f57a9e Fix incorrect commit on previous change.
From-SVN: r28706
1999-08-13 20:49:57 +00:00
Gavin Romig-Koch
0a818f84ce For gcc:
tree.c (lang_unsave_expr_now) : New.
	(unsave_expr_now): Call lang_unsave_expr_now.
	tree.h (lang_unsave_expr_now) : New.

For gcc/cp:
	cp-tree.h (init_cplus_unsave): New.
	(cplus_unsave_expr_now): New.
	lex.c (init_parse): Call init_cplus_unsave.
	tree.c (init_cplus_unsave): New.
	(cplus_unsave_expr_now): New.

From-SVN: r28705
1999-08-13 18:22:59 +00:00
Jeff Law
e3beae8c3c Back out accidental change
From-SVN: r28704
1999-08-13 11:17:37 -06:00
Jason Merrill
6e487a4947 * toplev.c (flag_new_exceptions): On by default.
From-SVN: r28703
1999-08-13 04:23:35 -04:00
Mark Mitchell
63a51aaa2c pt.c (tsubst): Back out 1999-08-06 patch.
* pt.c (tsubst): Back out 1999-08-06 patch.  Use fold and
	decl_constant_value to simplify array bounds.

From-SVN: r28702
1999-08-13 08:17:14 +00:00
Jason Merrill
80dabe332a remove obsolete destructors and goto node
From-SVN: r28701
1999-08-13 03:48:44 -04:00
Michael Meissner
afe60c51ed * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
From-SVN: r28700
1999-08-13 01:47:18 -06:00
Jeff Law
c6d582b33a Daily bump.
From-SVN: r28698
1999-08-13 01:45:07 -06:00
Alexandre Oliva
e139d29653 dwarfout.c (fundamental_type_code): Return FT_boolean for INTEGER_TYPE with precision==1, it's __java_boolean.
* dwarfout.c (fundamental_type_code): Return FT_boolean for
        INTEGER_TYPE with precision==1, it's __java_boolean.

From-SVN: r28696
1999-08-13 01:40:04 -06:00
Martin v. Löwis
9ba8c7330e Renamed
From-SVN: r28695
1999-08-13 07:36:36 +00:00
Martin v. Löwis
a9729c43a0 New test case
From-SVN: r28693
1999-08-13 07:25:31 +00:00
J"orn Rennecke
ea1637e9e5 global.c (prune_preferences): Move some invariants out of the inner loop.
* global.c (prune_preferences): Move some invariants out of the
	inner loop.

From-SVN: r28691
1999-08-12 23:53:28 +01:00
Jesse Perry
7bc699731b * configure.in (alpha*-dec-osf*): Add osf5.
From-SVN: r28690
1999-08-12 15:31:16 -07:00
Alexandre Oliva
cb339d0278 javaprims.h (TRUE, FALSE): Redefine as themselves.
1999-08-12  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* include/javaprims.h (TRUE, FALSE): Redefine as themselves.

From-SVN: r28689
1999-08-12 17:31:34 +00:00
Philip Blundell
402fd87362 Oops - omitted from previouys delta
From-SVN: r28688
1999-08-12 10:01:07 +00:00
Philip Blundell
078e19a409 Apply Phillip Blundell's patch to distinguish between new and old binutils.
From-SVN: r28687
1999-08-12 09:41:02 +00:00
Andreas Schwab
305f30038b rtl.texi: Fix typo.
Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>

	* rtl.texi: Fix typo.

From-SVN: r28686
1999-08-12 08:24:56 +00:00
Jeff Law
355e775c7e Daily bump.
From-SVN: r28685
1999-08-12 01:45:09 -06:00
Jason Merrill
d2c192ad64 lang-options.h: Add -fms-extensions.
* lang-options.h: Add -fms-extensions.
	* cp-tree.h: Declare flag_ms_extensions.
	* decl2.c: Define it.
	* class.c (instantiate_type): Don't complain about taking the address
	of a bound member function if -fms-extensions.
	* typeck.c (build_unary_op): Likewise.
	* decl.c (grokdeclarator): Or about implicit int.
	* init.c (resolve_offset_ref): Or about implicit '&'.

From-SVN: r28684
1999-08-12 02:52:30 -04:00