Zack Weinberg [Mon, 7 Dec 1998 14:15:29 +0000 (14:15 +0000)]
cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM so it'll work on non-ASCII platforms.
1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
so it'll work on non-ASCII platforms. Always consider $ an
identifier character. Take no arguments.
(cpp_reader_init): Call initialize_char_syntax with no
arguments.
(cpp_start_read): Don't call initialize_char_syntax again.
Clear is_idchar['$'] and is_idstart['$'] if not
opts->dollars_in_ident.
* cpplib.h (struct cpp_reader): Replace void *data element by
cpp_options *opts. Rearrange elements to make gdb printout
less annoying (put buffer stack at end).
(CPP_OPTIONS): Get rid of now-unnecessary cast.
* cppmain.c: s/data/opts/ when initializing cpp_reader
structure.
* c-decl.c: Likewise.
* objc/objc-act.c: Likewise.
* fix-header.c: Likewise.
Zack Weinberg [Mon, 7 Dec 1998 13:35:20 +0000 (13:35 +0000)]
cpplib.h (struct cpp_buffer): Replace dir and dlen members with a struct file_name_list pointer.
1998-11-26 01:17 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cpplib.h (struct cpp_buffer): Replace dir and dlen members
with a struct file_name_list pointer.
(struct cpp_reader): Add pointer to chain of `actual
directory' include searchpath entries.
(struct file_name_list): Add *alloc pointer for the sake of
the actual-directory chain.
Move definition of HOST_WIDE_INT here.
(cpp_parse_escape): Change prototype to match changes in
cppexp.c.
* cppfiles.c (actual_directory): New function.
(finclude): Use it to initialize the buffer's actual_dir
entry.
(find_include_file): We don't need to fix up max_include_len
here.
* cpplib.c (do_include): Don't allocate a file_name_list on
the fly for current directory "" includes, use the one that's
been preallocated in pfile->buffer->actual_dir. Hoist out
duplicate code from the search_start selection logic.
(cpp_reader_init): Initialize pfile->actual_dirs.
Remove definition of HOST_WIDE_INT. Change calls
to cpp_parse_escape to match changes in cppexp.c (note
hardcoded MASK, which is safe since this is the source
character set).
* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
to handle wide character constants in #if directives. The
function now returns a HOST_WIDE_INT, and takes a third
argument which is a binary mask for all legal values (0x00ff
for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
Dave Brolley [Mon, 7 Dec 1998 12:42:21 +0000 (07:42 -0500)]
[multiple changes]
Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
Alexandre Oliva [Fri, 4 Dec 1998 12:57:50 +0000 (12:57 +0000)]
using5.C: usified using[567].C here
* g++.old-deja/g++.other/using5.C: usified using[567].C here
* g++.old-deja/g++.other/using6.C: removed
* g++.old-deja/g++.other/using7.C: Mark Mitchel removed it
Bernd Schmidt [Fri, 4 Dec 1998 12:55:59 +0000 (12:55 +0000)]
final.c (cleanup_subreg_operands): Delete some unused code.
* final.c (cleanup_subreg_operands): Delete some unused code.
* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
(struct insn_alternative): New structure definition.
(recog_op_alt): Declare variable.
(preprocess_constraints): Declare function.
* recog.c (recog_op_alt): New variable.
(extract_insn): Verify number of alternatives is in range.
(preprocess_constraints): New function.
* reg-stack.c: Include recog.h.
(constrain_asm_operands): Delete.
(get_asm_operand_lengths): Delete.
(get_asm_operand_n_inputs): New function.
(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
N_OUTPUTS args. All callers changed.
Compute number of inputs and outputs here by calling
get_asm_operand_n_inputs.
Instead of constrain_asm_operands, call extract_insn,
constrain_operands and preprocess_constaints. Use information
computed by these functions throughout.
(record_reg_life): Delete code that is unused due to changes in
record_asm_reg_life.
(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
N_INPUTS and N_OUTPUTS args. All callers changed.
Similar changes as in record_asm_reg_life.
(subst_stack_regs): Move n_operands declaration into the if statement
where it's used.
Delete code that is unused due to changes in subst_asm_stack_regs.
* stmt.c (expand_asm_operands): Verify number of alternatives is in
range.
* Makefile.in (reg-stack.o): Depend on recog.h.
Jason Merrill [Fri, 4 Dec 1998 11:14:21 +0000 (11:14 +0000)]
pt.c (check_template_shadow): New fn.
* pt.c (check_template_shadow): New fn.
* decl2.c (grokfield): Use it.
* decl.c (pushdecl): Likewise.
(pushdecl_class_level): Likewise.
(start_method): Likewise.
(xref_tag): Don't try to use 't' if we're defining.
Fixes Sec14/7/C14387.cm.
* call.c (check_dtor_name): Just return an error_mark_node.
* pt.c (lookup_template_class): Complain about using non-template here.
* parse.y (apparent_template_type): Not here.
Fixes Sec14/C14339.cm.
* pt.c (check_explicit_specialization): Complain about specialization
with C linkage.
Fixes Sec14/C14340.cm.
* lang-options.h: Add -f{no-,}implicit-inline-templates.
* pt.c (convert_nontype_argument): Don't assume that any integer
argument is intended to be a constant-expression.
Fixes Sec14/7/P14245.C.
Mike Stump [Fri, 4 Dec 1998 00:28:34 +0000 (00:28 +0000)]
gthr-vxworks.h (__ehdtor): Fix memory leak.
* gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
runs in the context of the deleter, not the deletee, so we must
use taskVarGet to find the correct memory to free.
(__gthread_key_create): Initialize the task
variable subsystem so that the task variable is still active when
the delete hook is run.
java-tree.h (java_layout_seen_class_methods): New function prototype.
Thu Dec 3 17:11:12 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* java-tree.h (java_layout_seen_class_methods): New function
prototype.
(LAYOUT_SEEN_CLASS_METHODS): Macro removed.
* jcf-parse.c (parse_class_file): Call java_layout_seen_class_methods.
* parse.h (PROMOTE_RECORD_IF_COMPLETE): New macro.
* parse.y (method_declarator:): Defined action.
(issue_warning_error_from_context): input_filename saved, set to
the appropriate value and restored after java_error is called.
(build_unresolved_array_type): Fixed comment.
(register_fields): Use PROMOTE_RECORD_IF_COMPLETE.
(method_header): Deal with return type the same way type are
handled for fields and method's parameters and local variables
types are handled.
(check_method_redefinition): Removed extra CR.
(declare_local_variables): Use PROMOTE_RECORD_IF_COMPLETE.
(java_layout_seen_class_methods): New function.
(java_layout_classes): Call java_layout_seen_class_methods.
Handles an obsolete way of declaring methods returning an array. Does
a better job at laying out class methods before code generation.
Mark Mitchell [Thu, 3 Dec 1998 16:58:03 +0000 (16:58 +0000)]
class.c (handle_using_decl): Fix comment.
* class.c (handle_using_decl): Fix comment. Don't lookup
constructors in base classes.
(validate_lhs): Fix typo in comment.
* search.c (lookup_field_1): Don't return a USING_DECL.
* cp-tree.h (DECL_ACCESS): Improve documentation.
* decl.c (expand_static_init): Don't set the initialization-done
flag until the initialization is done.
class.c (layout_class_method): Call build_java_argument_signature on constructors too.
Wed Dec 2 15:52:25 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (layout_class_method): Call build_java_argument_signature
on constructors too.
* parse.y (check_method_redefinition): Use TYPE_ARGUMENT_SIGNATURE.
(patch_method_invocation): Define a primary when resolving an
expression name. Augmented comment on code checking illegal `this'
usage. Loosened it test by accepting NEW_CLASS_EXPR.
* c-common.c (declare_function_name): Declare predefinied variable
`__func__'.
* c-decl.c (flag_isoc9x): Set to 1 by default.
(c_decode_option): Handle -std= option. Remove -flang-isoc9x.
(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
* c-parse.in: Allow constructors in ISO C 9x.
Rewrite designator list handling.
Allow [*] parameters.
Don't warn about comma at end of enum definition for ISO C 9x.
* cccp.c (c9x): New variable.
(rest_extension): New variable.
(print_help): Document new -std= option.
(main): Recognize -std= option. Set c9x appropriately.
(create_definition): Recognize ISO C 9x vararg macros.
* gcc.c (default_compilers): Adjust specs for -std options.
(option_map): Add --std.
(display_help): Document -std.
* toplev.c (documented_lang_options): Add -std and remove
-flang-isoc9x.
* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
or REAL_VALUE_HTOF based on base of the constants.
* fold-const.c (real_hex_to_f): New function. Replacement function
for hex FP conversion if REAL_ARITHMETIC is not defined.
* real.c (asctoeg): Add handling of hex FP constants.
* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
real_hex_to_f.
Co-Authored-By: Richard Henderson <rth@cygnus.com> Co-Authored-By: Stephen L Moshier <moshier@world.std.com>
From-SVN: r24049
Jeffrey A Law [Tue, 1 Dec 1998 14:36:51 +0000 (14:36 +0000)]
reload1.c (reload): Do not set reload_completed or split insns here.
* reload1.c (reload): Do not set reload_completed or split insns
here. Instead...
* toplev.c (rest_of_compilation): Set reload_completed after
reload returns. Split insns after reload_cse has run.
class.c (layout_class_method): Don't report error on non-static overriding static if the method is private.
Tue Dec 1 13:53:24 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (layout_class_method): Don't report error on non-static
overriding static if the method is private.
* java-tree.h (finish_class): Prototype added.
* lex.c (java_get_line_col): Handle col argument -2 value.
* parse.h: All static method declarations moved to parse.y.
* parse.y: Now contains all static method declarations previously
found in parse.h.
(find_expr_with_wfl, missing_return_error,
unreachable_stmt_error): New functions.
(java_get_real_method_name): Identify constructors bearing class
names in source code compiled classes only.
(java_complete_expand_methods): Call missing_return_error.
(invocation_mode): Private methods invoked as static methods.
(java_complete_tree): Call unreachable_stmt_error.
This patch corrects the way unreachable statement and missing return
statement errors are reported. It also fixes random bugs.
J"orn Rennecke [Tue, 1 Dec 1998 10:00:11 +0000 (10:00 +0000)]
local-alloc.c (function_invariant_p): New function.
* local-alloc.c (function_invariant_p): New function.
(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
to decide if an equivalence should be recorded.
* reload1.c (num_eliminable_invariants): New static variable.
(reload): Set it. Use function_invariant_p instead of CONSTANT_P
to decide if an equivalence should be recorded.
Unshare PLUS.
(calculate_needs_all_insns): Skip insns that only set an equivalence.
Take num_eliminable_invariants into account when deciding
if register elimination should be done.
(reload_as_needed): Take num_eliminable_invariants into account
when deciding if register elimination should be done.
(eliminate_regs): Handle non-constant reg_equiv_constant.
* rtl.h (function_invariant_p): Declare.
Jeff Law [Mon, 30 Nov 1998 01:38:10 +0000 (18:38 -0700)]
Fix cvs?
Fix cvs? lossage. Somehow the previous checkin scrogged this file. The
lossage caused the snapshot diff + patch sanity check to fail due to a bogus
.diff file.