Commit Graph

21365 Commits

Author SHA1 Message Date
Mark Mitchell
d6479fe772 cp-tree.h (flag_access_control): Declare.
* cp-tree.h (flag_access_control): Declare.
	(TREE_VIA_PPUBLIC): Document.
	(DECL_NONSTATIC_MEMBER_P): New macro.
	(enforce_access): Return an indication of whether or not access
	was permitted.
	(build_self_reference): Change prototype.
	(compute_access): Replace with ...
	(accessible_p): New function.
	(dfs_walk): Change prototype.
	(dfs_unmark): Likewise.
	(markedp): Likewise.
	* call.c (enforce_access): Use accessible_p.
	* class.c (build_self_reference): Insert the declaration into the
	list of members for this type, and make it public.
	* decl.c (xref_basetypes): Avoid ill-timed recursion.
	* init.c (build_offset_ref): Use lookup_member, not three separate
	name-lookups.  Call enforce_access rather than checking for
	illegal accesses here.
	(resolve_offset_ref): Likewise.
	* lex.c (do_identifier): Likewise.
	* method.c (hack_identifier): Likewise.
	* parse.y (self_reference): Remove.
	(opt_component_decl_list): Don't use it.
	* parse.c: Regenerated.
	* pt.c (print_candidates): Generalize to handle lists of
	overloaded functions.
	(instantiate_class_template): Don't rely on TREE_VIA_PRIVATE; it's
	not set.
	(get_template_base): Use new calling convention for dfs_walk.
	* search.c: Include varray.h.  Add prototypes.
	(dfs_walk): Accept a data pointer to pass to the work functions.
	All callers changed.  All work functions changed.
	(breadth_first_search): Rename to bfs_walk, and make consistent
	with dfs_walk.
	(dfs_walk_real): New function.
	(canonical_binfo): New function.
	(context_for_name_lookup): Likewise.
	(shared_marked_p): Likewise.
	(shared_unmarked_p): Likewise.
	(lokup_field_queue_p): Likewise.
	(lookup_field_r): Generalize to handle both functions and fields.
	(lookup_field): Just call lookup_member.
	(lookup_fnfields): Likewise.
	(lookup_member): Move body of lookup_field here and generalize.
	(dfs_accessible_queue_p): Likewise.
	(dfs_accessible_p): Likewise.
	(dfs_access_in_type): Likewise.
	(access_in_type): Likewise.
	(compute_access): Remove, and replace with ...
	(accessible_p): New function.
	(vbase_types): Remove.
	(vbase_decl_ptr_intermediate): Likewise.
	(vbase_decl_ptr): Likewise.
	(vbase_init_result): Likewise.
	(closed_envelopes): Likewise.
	(bvtable): Likewise.

From-SVN: r25661
1999-03-09 23:02:42 +00:00
Jason Merrill
8f96c7ac27 call.c (add_function_candidate): Check for proper number of args before checking the validity of those args.
* call.c (add_function_candidate): Check for proper number of args
	before checking the validity of those args.

From-SVN: r25660
1999-03-09 14:37:02 -05:00
Jason Merrill
19f019c25c new
From-SVN: r25659
1999-03-09 14:34:51 -05:00
Jeffrey A Law
21a3b98301 calls.c (load_register_parameters): New function.
* calls.c (load_register_parameters): New function.
        (expand_call): Use it.

From-SVN: r25658
1999-03-09 09:40:30 -07:00
J"orn Rennecke
43f854cf48 reload1.c (reload_combine_note_store): Fix calculation of number of affected registers.
* reload1.c (reload_combine_note_store): Fix calculation of number
	of affected registers.

From-SVN: r25657
1999-03-09 16:05:48 +00:00
Richard Henderson
86a1db6049 flow.c (tidy_fallthru_edge): Be more careful finding the last BARRIER of a list.
* flow.c (tidy_fallthru_edge): Be more careful finding the last
BARRIER of a list.  Delete the cc0 setter as well as a cond jump.

From-SVN: r25656
1999-03-09 07:49:53 -08:00
Jeffrey A Law
39842893a1 * calls.c (expand_call): Slightly reorganize code.
From-SVN: r25655
1999-03-09 08:49:12 -07:00
Hans-Peter Nilsson
89b21b680c * i386.md (ashlsi3 splitter): Fix typo in last change.
From-SVN: r25654
1999-03-09 07:27:57 -07:00
Jeffrey A Law
a45bdd02f5 calls.c (compute_argument_addresses): New function.
* calls.c (compute_argument_addresses): New function.
        (rtx_for_function_call): New function.
        (expand_call): Use them.

From-SVN: r25653
1999-03-09 07:05:13 -07:00
Richard Henderson
91e1a7f5aa reg-stack.c (stack_reg_life_analysis): Use returnjump_p instead of an explicit test for RETURN.
* reg-stack.c (stack_reg_life_analysis): Use returnjump_p
        instead of an explicit test for RETURN.

From-SVN: r25652
1999-03-09 03:36:25 -08:00
Kaveh R. Ghazi
b1eeb24348 Warning fix:
* Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
        * toplev.c: Include basic-block.h.

From-SVN: r25651
1999-03-09 06:40:49 +00:00
Jeffrey A Law
d626200a86 i386.md (zero_extendhisi2): Split into an expander and anonymous pattern.
* i386.md (zero_extendhisi2): Split into an expander and anonymous
        pattern.  Add new anonymous pattern for use when optimizing for
        size or for the PPro.
        (zero_extendqihi2, zero_extendqisi2): Likewise.

From-SVN: r25650
1999-03-08 18:09:52 -07:00
Jeff Law
4abcd5db62 Daily bump.
From-SVN: r25649
1999-03-08 17:45:35 -07:00
Richard Henderson
7399257b1e haifa-sched.c (sched_analyze_1): Fix last change -- add clobber dependancies to sets in the non-hard-reg case too.
* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
        dependancies to sets in the non-hard-reg case too.

From-SVN: r25648
1999-03-08 15:45:12 -08:00
Jeffrey A Law
24883a4a12 i386.md (ashlsi3): Revise comments.
* i386.md (ashlsi3): Revise comments.  Provide new anonymous
        pattern for Pentium and PPro/PII.  Reverse constraints in
        generic ashlsi3 anonymous pattern.

From-SVN: r25647
1999-03-08 16:31:28 -07:00
Jeffrey A Law
959f3a0667 calls.c (initialize_argument_info): Accept a pointer to CUMULATIVE_ARGS.
* calls.c (initialize_argument_info): Accept a pointer to
        CUMULATIVE_ARGS.
        (expand_call): Pass the address of CUMULATIVE_ARGS.

From-SVN: r25646
1999-03-08 14:57:56 -07:00
Jeff Law
e4cbe00203 openbsd.h (HANDLE_SYSV_PRAGMA): Define.
* config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
        * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
        * mn10300.h (CASE_DROPS_THROUGH): Delete.
        * mn10200.h (CASE_DROPS_THROUGH): Delete.
        * h8300.h (CASE_DROPS_THROUGH): Delete.

From-SVN: r25645
1999-03-08 13:40:08 -07:00
Jim Wilson
49071ddced Fix performance problem on SH with unnecessary move instructions.
* local-alloc.c (combine_regs): Don't combine if we have a hard reg
	for which CLASS_LIKELY_SPILLED_P is true.

From-SVN: r25644
1999-03-08 09:50:37 -08:00
Jim Wilson
66830675f2 Fix cygwin toolchain build failure reported by Geoffrey Noer.
* unroll.c (loop_iterations): Only call loop_find_equiv_value if we
	have a REG or SUBREG.

From-SVN: r25643
1999-03-08 08:09:05 -08:00
Jeffrey A Law
86879c21ac flow.c (merge_blocks_nomove): For HAVE_cc0 targets...
�
        * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
        to also delete the cc0 setter when deleting a conditional branch
        to the next block.

From-SVN: r25642
1999-03-08 07:40:47 -07:00
Per Bothner
30ca27b475 lex.c (java_parse_end_comment): Take extra parameter (next char).
�
	* lex.c (java_parse_end_comment):  Take extra parameter (next char).
	* class.c (build_utf8_ref):  Fix possible name class/ambiguity.
	* class.c (layout_class_method):  A static method in a base class
	is never overridden, so treat it like it doesn't exist.
	However, do complain about private non-static method overriding
	public static method.
	* parse.y:  Don't set unused INITIALIZED_P flag.
	* java-tree.h (INITIALIZED_P):  Removed no-longer needed flag.
	* parse.y (find_expr_with_wfl):  Optimize tail-calls.
	(build_array_from_name):  Re-order &index[string] to &string[index].
	* parse.y (java_complete_tree):  Don't call patch_assignment if rhs is
	error_mark (it might catch more errors, but it is more likely to lose).

From-SVN: r25641
1999-03-08 05:34:12 -08:00
Per Bothner
c0d87ff6f9 *** empty log message ***
From-SVN: r25640
1999-03-08 05:34:10 -08:00
J"orn Rennecke
78dd9906fe * regmove.c (copy_src_to_dest): New argument max_old_uid.
From-SVN: r25639
1999-03-08 10:51:28 +00:00
Bruce Korb
3c869bc5eb fixincl-branch merge
From-SVN: r25638
1999-03-08 08:26:56 +00:00
Craig Burley
3d1d35d66a Improve testiness
From-SVN: r25637
1999-03-08 01:34:47 -05:00
Craig Burley
fc370eff81 New tests
From-SVN: r25636
1999-03-08 01:30:51 -05:00
Jeff Law
460fb6158a Daily bump.
From-SVN: r25635
1999-03-07 17:45:03 -07:00
Craig Burley
7e0847f623 improve testiness
From-SVN: r25631
1999-03-07 19:14:12 -05:00
Craig Burley
3f18f777de move test from execute to compile
From-SVN: r25630
1999-03-07 13:09:27 -05:00
Richard Henderson
f4b9425602 haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
* haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
        (print_exp): Special case addition of a constant.
        (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.

From-SVN: r25629
1999-03-07 03:50:32 -08:00
Richard Henderson
28c95eff94 haifa-sched.c (reg_last_clobbers): New.
* haifa-sched.c (reg_last_clobbers): New.
        (reg_pending_clobbers, bb_reg_last_clobbers): New.
        (compute_block_backward_dependences): Allocate memory for them.
        (schedule_region): Likewise.
        (sched_analyze_1): Clobbers don't interfere with one another.
        They do interfere with sets ...
        (sched_analyze_2): ... and uses.
        (sched_analyze): Likewise.
        (sched_analyze_insn): Update reg_last_clobbers appropriately.

From-SVN: r25628
1999-03-07 03:22:10 -08:00
Kaveh R. Ghazi
3bb5de61eb gmon-sol2.c: Include config.h and system.h.
* gmon-sol2.c: Include config.h and system.h.  Don't redundantly
        include system header files.
        (sccsid): Remove.
        (moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
        (_mcleanup): Add the `const' keyword to a char*.
        (internal_mcount): Declare `etext' as a char[] not a function.
        Cast `etext' to char* when calling `monstartup'.
        * sparc.c (frame_base_name, save_regs, restore_regs,
        build_big_number, sparc_cmodel_string, sparc_align_loops_string,
        sparc_align_jumps_string, sparc_align_funcs_string, code_model,
        cpu_default, cpu_table, output_function_prologue,
        output_function_epilogue, output_return,
        sparc_flat_output_function_prologue, ultra_code_names,
        sparc_flat_output_function_epilogue): Constify a char*.
        (hypersparc_adjust_cost): Add a default case in a switch.
        * sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
        sparc_cpu_select, sparc_align_loops_string,
        sparc_align_jumps_string, sparc_align_funcs_string,
        output_return): Constify a char*.
        * sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
        so that we check "== 32", instead of "!= 64".  Cast a value to
        HOST_WIDE_INT when comparing against one.  Hide the declaration
        for variable `chain'.

From-SVN: r25627
1999-03-07 05:46:30 +00:00
Kaveh R. Ghazi
366453bf4b system.h (const, inline): Move the stage2 handling of these keywords-as-macros from here...
* system.h (const, inline): Move the stage2 handling of these
        keywords-as-macros from here...
        * gansidecl.h (const, inline): ...to here.
(This became necessary after using `const' in config directory headers,
which get included before system.h does.  If we're going to reset these
keywords, we must do so before absolutely any other header file.)

From-SVN: r25626
1999-03-07 05:21:41 +00:00
Martin v. Löwis
b26caacda9 List TREE_INDIRECT_USING as application of TREE_LANG_FLAG_0.
From-SVN: r25625
1999-03-07 04:39:44 +00:00
Richard Henderson
aeb7ff6879 * recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
From-SVN: r25624
1999-03-06 18:45:29 -08:00
Richard Henderson
9a794e5054 * cse.c (canon_hash): Never reject hard regs in CCmode.
From-SVN: r25623
1999-03-06 18:00:27 -08:00
Jeffrey A Law
fc095971f1 Bump for snapshot
From-SVN: r25621
1999-03-06 18:15:09 -07:00
Jeff Law
7b9d9f9c7e Daily bump.
From-SVN: r25620
1999-03-06 17:45:03 -07:00
Jason Merrill
a1ac6acca1 fix
From-SVN: r25619
1999-03-06 13:22:21 -05:00
Jason Merrill
0dd3962da5 cp-tree.h (struct lang_type): Add anon_union field.
* cp-tree.h (struct lang_type): Add anon_union field.
	(ANON_UNION_TYPE_P): Use it instead of examining type.
	(SET_ANON_UNION_TYPE_P): New macro.
	* decl.c (check_tag_decl): Use it.
	* search.c (compute_access): Handle non-type contexts earlier, and
	handle NULL_TREE.
	* tree.c (build_exception_variant): Use copy_to_permanent.

From-SVN: r25618
1999-03-06 12:41:36 -05:00
Richard Earnshaw
4b523fc495 flow.c (make_edges): Handle casesi that jump to default branch.
* flow.c (make_edges): Handle casesi that jump to default branch.
        If CASE_DROPS_THROUGH, force fallthru to block after casesi.

Co-Authored-By: Richard Henderson <rth@cygnus.com>

From-SVN: r25617
1999-03-06 09:19:39 -08:00
Kaveh R. Ghazi
8e1f2d4c56 Makefile.in (jcf-parse.o): Depend on $(PARSE_H).
* Makefile.in (jcf-parse.o): Depend on $(PARSE_H).
        (parse-scan.o): Depend on toplev.h.
        * class.c (make_method_value): Add prototype.  Make it static.
        Remove unused second argument, caller changed.
        * expr.c (java_lang_expand_expr): Remove unused variable
        `return_label'.
        * java-tree.h: Don't prototype find_in_current_zip.
        Add prototypes for verify_constant_pool, start_java_method,
        end_java_method, give_name_to_locals, expand_byte_code,
        open_in_zip, set_constant_value, find_constant1, find_constant2,
        find_utf8_constant, find_string_constant, find_class_constant,
        find_fieldref_index, find_methodref_index, write_constant_pool,
        count_constant_pool_bytes and encode_newarray_type.
        * jcf-dump.c: Remove unused variable `LONG_temp'.
        * jcf-parse.c: Include parse.h.
        (jcf_parse_source): Remove unused parameter, all callers changed.
        (jcf_figure_file_type): Add static prototype.
        (find_in_current_zip): Likewise.  Also remove unused parameter,
        all callers changed.
        (read_class): Initialize variable `saved_pos'.
        * jcf-reader.c (jcf_parse_preamble): Mark variables
        `minor_version' and `major_version' with ATTRIBUTE_UNUSED.
        * lex.c (java_is_eol): Wrap prototype and definition in !JC1_LITE.
        (java_init_lex): Wrap variable `java_lang_imported' in !JC1_LITE.
        (java_parse_doc_section): Initialize variable `seen_star'.
        (java_lex): Wrap variable `number_beginning' in !JC1_LITE.
        (java_lex_error): Mark parameters `msg' and `forward' with
        ATTRIBUTE_UNUSED.
        (java_get_line_col): Mark parameters `filename' and `line' with
        ATTRIBUTE_UNUSED.
        * parse-scan.y: Include toplev.h.
        (yyerror): Mark parameter `msg' with ATTRIBUTE_UNUSED.
        * parse.h: use `struct JCF', not plain `JCF'.
        (java_parser_context_save_global, java_expand_classes
        java_parser_context_restore_global, java_parse): Add prototypes.
        * typeck.c (convert_ieee_real_to_integer): Remove unused variable
        `node'.

From-SVN: r25616
1999-03-06 08:35:49 +00:00
Craig Burley
158281d7a3 New (old) tests, just started failing this past week
From-SVN: r25615
1999-03-06 02:16:13 -05:00
Kaveh R. Ghazi
dff01034e5 c-aux-info.c (data_type, [...]): Qualify a char* with the `const' keyword.
* c-aux-info.c (data_type, affix_data_type, gen_decl,
        gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
        Qualify a char* with the `const' keyword.
        * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
        declare_function_name, decl_attributes, format_char_info,
        check_format_info, binary_op_error): Likewise.
        * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
        * gcse.c (dump_hash_table): Likewise.
        * integrate.c (function_cannot_inline_p): Likewise
        * optabs.c: Include insn-config.h earlier.
        (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
        Qualify a char* with the `const' keyword.
        * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
        asctoeg, mtherr, ereal_atof): Likewise.
        * real.h (ereal_atof): Likewise.
        * sbitmap.c (dump_sbitmap_vector): Likewise.
        * sbitmap.h (dump_sbitmap_vector): Likewise.
        * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
        * toplev.c (rest_of_compilation): Likewise.
        * tree.h (function_cannot_inline_p, expand_start_case): Likewise.

From-SVN: r25614
1999-03-06 05:34:26 +00:00
Jason Merrill
3c2a009706 decl2.c (setup_initp): Give statics with no priority the default priority here.
* decl2.c (setup_initp): Give statics with no priority the default
	priority here.
	(do_dtors, do_ctors, finish_file): Remove special handling of
	non-prioritized statics.

From-SVN: r25613
1999-03-05 22:54:30 -05:00
Jeff Law
15d1c8cfe6 Daily bump.
From-SVN: r25612
1999-03-05 17:45:02 -07:00
Craig Burley
f177f8bfab [Nilsson] Add dependencies
From-SVN: r25611
1999-03-05 19:02:54 -05:00
Craig Burley
a9c509b345 Update NEWS derived file
From-SVN: r25610
1999-03-05 18:41:03 -05:00
Craig Burley
411d4e28f8 Warn about invoking non-Y2K-compliant intrinsics
From-SVN: r25609
1999-03-05 18:40:12 -05:00
David Edelsohn
40ae436b58 rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do not overwrite AIX link register save area.
* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
        not overwrite AIX link register save area.

From-SVN: r25608
1999-03-05 16:19:46 -05:00