1998-05-24 Mark Mitchell <mark@markmitchell.com>
* call.c (maybe_handle_implicit_object): Handle QUAL_CONVs. Make
sure the type of the REF_BIND is a reference type.
(maybe_handle_ref_bind, compare_ics): Rename reference_type* to
ref_to_type* for clarity.
Jason Merrill [Sun, 24 May 1998 22:37:10 +0000 (18:37 -0400)]
decl.c (push_namespace): Namespaces have type void.
* decl.c (push_namespace): Namespaces have type void.
* typeck2.c (incomplete_type_error): Complain about namespace
used as expression.
* typeck.c (decay_conversion): Likewise.
* error.c (dump_expr): Support namespaces.
Makefile.in (ENQUIRE_CFLAGS, [...]): Move down to the end of the Makefile.
* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
of the Makefile.
(FLOAT_H_TEST): Likewise.
(ENQUIRE): Likewise.
(float.h-nat): Likewise.
(float.h-cross): Likewise.
(enquire): Likewise.
(enquire.o): Likewise.
(stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
(stmp-headers): Move actions to stmp-int-hdrs, retaining only a
no-op.
(FLOAT_H): Remove old float.h-nat version; move current definition
to CROSS_FLOAT_H location.
(all.cross): Remove comments about enquire stuff.
* Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
(rest.encap): Likewise.
(libgcc2.ready): Depend upon $(STMP_FIXPROTO)
Andreas Schwab [Sat, 23 May 1998 23:14:57 +0000 (23:14 +0000)]
m68k.h: Declare more functions used in macros.
* m68k.h: Declare more functions used in macros.
(REG_CLASS_CONTENTS): Completely embrace initializer.
* m68k.md (adddi3, subdi3): Add abort call to avoid warning
about returning no value.
* cse.c (find_best_addr): Declare p and found_better only if
needed.
* dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
* dwarfout.c (string_length_attribute): #if 0 away.
* function.c (expand_function_end): Define varible blktramp only
if needed.
* jump.c (find_insert_position): Define only if !HAVE_cc0.
* loop.c (combine_givs_p): Define variable tem only if needed.
* real.c: Comment out unused functions eabs, eround,
e{24,53,64,113}toasc and eiinfin.
Sat May 23 06:32:52 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_finish_symbol_transform_): Don't transform
statement (nested) functions, to avoid gcc compiling them
and thus producing linker errors if they refer to undefined
exteral functions. But warn if they're unused and -Wunused.
Jason Merrill [Sat, 23 May 1998 02:18:33 +0000 (02:18 +0000)]
cp-tree.def: Add SRCLOC.
* cp-tree.def: Add SRCLOC.
* cp-tree.h: Add struct tree_srcloc and accessor macros.
* tree.c (build_srcloc, build_srcloc_here): New fns.
* pt.c (add_pending_template): Use build_srcloc_here.
(push_tinst_level): Update last_template_error_tick before erroring.
(instantiate_decl): Restore lineno and input_filename before
calling add_pending_template.
* decl2.c (finish_file): Set up lineno and input_filename for
pending templates.
Jason Merrill [Fri, 22 May 1998 23:13:28 +0000 (23:13 +0000)]
decl.c (lang_print_error_function): New fn.
* decl.c (lang_print_error_function): New fn.
(init_decl_processing): Set print_error_function to use it.
* errfn.c (cp_thing): Don't call maybe_print_template_context here.
* call.c (maybe_handle_ref_bind): Propagate ICS_USER_FLAG and
ICS_BAD_FLAG.
* cvt.c (ocp_convert): Don't set LOOKUP_NO_CONVERSION for
copy-initialization.
Jason Merrill [Fri, 22 May 1998 21:05:09 +0000 (21:05 +0000)]
class.c (build_vtable_entry): Use int_fits_type_p.
* class.c (build_vtable_entry): Use int_fits_type_p.
(build_vtable): Pass a signed offset to build_vtable_entry.
(prepare_fresh_vtable, modify_one_vtable, fixup_vtable_deltas1,
set_rtti_entry): Likewise.
Craig Burley [Fri, 22 May 1998 10:32:18 +0000 (06:32 -0400)]
Break up main() into separate .o's so making and linking against shared...
Tue May 19 12:50:27 1998 Craig Burley <burley@gnu.org>
Break up main() into separate .o's so making and
linking against shared libraries with non-Fortran
main() routines is easier:
* Makefile.in (MISC): Add setarg.o and setsig.o.
* libF77/Makefile.in (MISC): Ditto.
* libF77/setarg.c: New file, contains f_setarg().
* libF77/setsig.c: New file, contains f_setsig().
* libF77/getarg_.c: Rename xarg* to f__xarg*.
* libF77/iargc_.c: Ditto
Craig Burley [Fri, 22 May 1998 10:24:50 +0000 (10:24 +0000)]
com.c (ffecom_init_0): Rename xargc to f__xargc, in accord with same-dated change to f/runtime.
Tue May 19 12:56:54 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_init_0): Rename xargc to f__xargc,
in accord with same-dated change to f/runtime.
Jason Merrill [Fri, 22 May 1998 03:32:43 +0000 (03:32 +0000)]
pt.c (determine_specialization): Just return an error_mark_node.
* pt.c (determine_specialization): Just return an error_mark_node.
Also print the decl we want in error messages. If we complain,
return error_mark_node.
(tsubst_friend_function): Set lineno and input_filename so
error messages will be useful.
(instantiate_template): Just return an error_mark_node.
* pt.c (print_template_context): Add new argument.
(maybe_print_template_context): New fn.
(push_tinst_level): Increment tinst_level_tick.
(pop_tinst_level): Likewise.
* errfn.c (cp_thing): Call maybe_print_template_context. Use
xrealloc instead of xmalloc.
* typeck.c (build_unary_op, CONVERT_EXPR): Propagate TREE_CONSTANT.
John Wehle [Thu, 21 May 1998 19:12:20 +0000 (19:12 +0000)]
acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
* acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
* configure.in: Check for it.
* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
* final.c (uid_align, uid_shuid, label_align): Make static.
(label_align): Change type to struct label_alignment pointer.
(LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
(LABEL_TO_MAX_SKIP): Define.
(LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
(shorten_branches): Record the maximum bytes to skip when
aligning a label.
(final_scan_insn): Use the maximum bytes to skip when aligning a label
if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
* i386.h (LOOP_ALIGN_MAX_SKIP,
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
* i386.c (override_options): i386_align_jumps and i386_align_loops
default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
* invoke.texi: Document new i386 align-loops and align-jumps behavior.
Dave Brolley [Thu, 21 May 1998 08:56:16 +0000 (08:56 +0000)]
lex.c: (handle_sysv_pragma): FILE* parameter not used.
Thu May 21 11:54:44 1998 Dave Brolley <brolley@cygnus.com>
* lex.c: (handle_sysv_pragma): FILE* parameter not used.
(cpp_reader,parse_in): Add for cpplib.
(check_newline): Call handle_sysv_pragma with new interface.
(check_newline): Call GET_DIRECTIVE_LINE, not get_directive_line.
* input.c: (yy_cur,yy_lim,yy_get_token,GETC): Add for cpplib.
(sub_getch): Call GETC for cpplib.
* cp-tree.h: (get_directive_line): Different prototype for cpplib.
(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
* Makefile.in (CXX_OBJS): add @extra_cxx_objs@ for cpplib.
Dave Brolley [Thu, 21 May 1998 08:54:04 +0000 (08:54 +0000)]
configure.in (extra_c_objs): add prefix.o.
Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
* configure.in (extra_c_objs): add prefix.o.
(extra_cxx_objs): extra objects for C++ with cpplib.
* configure: Regenerate.
* c-tree.h: (get_directive_line): Different prototype for cpplib.
(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
* c-lex.h: (get_directive_line): Not needed here for cpplib.
* c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
�
* configure.in: Check for unistd.h as well.
* configure: Rebuild.
* config.in: Rebuild.
* getpagesize.c (GNU_OUR_PAGESIZE): Use sysconf only if _SC_PAGESIZE
is defined in unistd.h. Reformat conditional block for easier reading.
* config.table (shared): Default to no if ${enable_shared}
is unset or empty; this logic is used by the toplevel
configure scripts, too.
0
* configure.in: Check for unistd.h as well.
* configure: Rebuild.
* config.in: Rebuild.
* getpagesize.c (GNU_OUR_PAGESIZE): Use sysconf only if _SC_PAGESIZE
is defined in unistd.h. Reformat conditional block for easier reading.
* config.table (shared): Default to no if ${enable_shared}
is unset or empty; this logic is used by the toplevel
configure scripts, too.
�
* configure.in: Check for unistd.h as well.
* configure: Rebuild.
* config.in: Rebuild.
* getpagesize.c (GNU_OUR_PAGESIZE): Use sysconf only if _SC_PAGESIZE
is defined in unistd.h. Reformat conditional block for easier reading.
* config.table (shared): Default to no if ${enable_shared}
is unset or empty; this logic is used by the toplevel
configure scripts, too.
Kaveh R. Ghazi [Thu, 21 May 1998 06:29:55 +0000 (06:29 +0000)]
ANSI does not allow a prototype to specify an item smaller than an int if the function uses an old-style definition.
ANSI does not allow a prototype to specify an item smaller than an int
if the function uses an old-style definition. This only worked as a
GNUC extension, so stop doing it.
* gengenrtl.c (type_from_format, accessor_from_format): Change
type of parameter `c' from `char' to `int'.
Mark Mitchell [Wed, 20 May 1998 23:28:21 +0000 (23:28 +0000)]
class.c (delete_duplicate_fields_1): Use DECL_DECLARES_TYPE_P to look for type declarations.
* class.c (delete_duplicate_fields_1): Use DECL_DECLARES_TYPE_P
to look for type declarations.
(finish_struct): Deal with templates on the CLASSTYPE_TAGS list.
* cp-tree.h (DECL_DECLARES_TYPE_P): New macro.
(finish_member_class_template): Declare.
* decl.c (pushtag): Put member class templates on the
CLASSTYPE_TAGS list, just as for ordinary member classes.
(pushdecl_class_level): Use DECL_DECLARES_TYPE_P.
(lookup_tag): Look for IDENTIFIER_CLASS_VALUEs, just as with
IDENTIFIER_NAMESPACE_VALUEs.
* parse.y (component_decl): Move code to ...
* semantics.c (finish_member_class_template): New function.
Don't put member class templates on the list of components for a
class.
* pt.c (classtype_mangled_name): Don't try DECL_CONTEXT on types.
In fact, don't use DECL_CONTEXT at all here.
Jeffrey A Law [Tue, 19 May 1998 21:45:41 +0000 (21:45 +0000)]
Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR) exists.
* Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
exists.
(stmp-fixproto): Simlarly for running fixproto.
* cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
Jeffrey A Law [Tue, 19 May 1998 21:41:03 +0000 (21:41 +0000)]
Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR) exists.
* Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
exists.
* cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
Bring over from Cygnus sources.