Martin v. Löwis [Thu, 23 Sep 1999 22:20:08 +0000 (22:20 +0000)]
cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
(RECORD_OR_UNION_TYPE_CHECK, LANG_IDENTIFIER_CAST): Likewise.
(DEFARG_NODE_CHECK): Remove; replace with DEFAULT_ARG_CHECK.
* cp-tree.h: Add tree checking macros to various tree access
macros.
* ptree.c (print_lang_decl): Test for function or variable
before accessing template info.
Jason Merrill [Thu, 23 Sep 1999 21:04:10 +0000 (21:04 +0000)]
lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
* lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
* lang-specs.h: If -fshort-wchar, override __WCHAR_TYPE__.
* decl2.c (lang_f_options): Add -fshort-wchar.
* cp-tree.h: Declare flag_short_wchar.
* decl.c (init_decl_processing): If -fshort-wchar, use 'short unsigned
int' for wchar_t.
* alpha/alpha.c (print_operand): Fix type of `code'.
(alpha_output_filename): Constify.
* alpha/alpha.h: Move all function declarations ...
* alpha/alpha-protos.h: ... here. New file.
* alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
(SECTION_FUNCTION_TEMPLATE): Likewise.
Mark Mitchell [Thu, 23 Sep 1999 02:04:33 +0000 (02:04 +0000)]
decl.c (pushdecl): Do create a binding for extern "C" functions...
* decl.c (pushdecl): Do create a binding for extern "C" functions,
but not for their DECL_ASSEMBLER_NAMEs.
(lookup_name_current_level): Fix formatting.
(xref_tag): Likewise.
* decl2.c (start_objects): Mark static constructors and
destructors as used.
Stan Cox [Thu, 23 Sep 1999 01:03:13 +0000 (01:03 +0000)]
mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large register offsets; let LEGITIMIZE_ADDRESS load it into a register.
* mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
register offsets; let LEGITIMIZE_ADDRESS load it into a register.
(LEGITIMIZE_ADDRESS): Use plus_constant to avoid (plus (reg) (const_int 0))
* mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
David Edelsohn [Wed, 22 Sep 1999 22:27:58 +0000 (22:27 +0000)]
rs6000.c (expand_block_move): DImode loads and stores require word-aligned displacements.
* rs6000.c (expand_block_move): DImode loads and stores require
word-aligned displacements. Increment address registers with
adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT.
Jeffrey A Law [Wed, 22 Sep 1999 20:50:44 +0000 (20:50 +0000)]
pa.c (hppa_legitimize_address): Handle full offsets for PA2.0 FP loads and stores.
* pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
FP loads and stores.
(following_call): Always return zero for the PA8000.
* pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
FP loads and stores.
(LEGITIMIZE_RELOAD_ADDRESS): Similarly.
Jeffrey A Law [Wed, 22 Sep 1999 20:11:22 +0000 (20:11 +0000)]
pa.md (subsi3): Turn into an expander.
* pa.md (subsi3): Turn into an expander. Create two anonymous
patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
* pa.h (EXTRA_CONSTRAINT): Handle 'S'.
Andrew MacLeod [Wed, 22 Sep 1999 15:44:57 +0000 (15:44 +0000)]
basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
Wed Sep 22 11:34:08 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
* flow.c (remove_edge): Remove extra whitespace.
(remove_fake_edges): Fix comment.
(add_noreturn_fake_exit_edges): Use the correct name.
Jim Kingdon [Wed, 22 Sep 1999 12:58:30 +0000 (06:58 -0600)]
c-parse.in: save and restore warn_pointer_arith on __extension__ along with pedantic.
* c-parse.in: save and restore warn_pointer_arith on __extension__
along with pedantic.
(SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
Set the type of extension to itype rather than $<itype>1 kludge.
* extend.texi (Alternate Keywords): Adjust documentation.
* c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
Alex Samuel [Wed, 22 Sep 1999 05:51:44 +0000 (05:51 +0000)]
Various fixes for problems discovered stress-testing GC.
* config/i386/i386.c (pic_label_name): Change to char pointer.
(global_offset_table): New variable.
(load_pic_register): Fill global_offset_table if it hasn't
already been done. Allocate pic_label_name dynamically.
* ggc.h (empty_string): New variable.
* ggc-simple.c (empty_string): Likewise.
(init_ggc): Allocate empty_string and add as root.
* stmt.c (digit_strings): New variable.
(init_stmt): Add last_block_end_note as root. Allocate and
initialize digit_strings.
(expand_asm_operands): Use empty_string and digit_string instead
of string constants.
* profile.c (init_arc_profiler): Allocate with ggc_alloc_string
instead of xmalloc.
(output_func_start_profiler): Likewise.
* c-typeck.c (digest_init): Check if init is error_mark_node.
MessageFormat.java (MessageFormat(String)): Set the default locale.
1999-09-16 Bryce McKinlay <bryce@albatross.co.nz>
* java/text/MessageFormat.java (MessageFormat(String)): Set the
default locale.
* java/text/NumberFormat.java: Check that object is a Number. If
not, throw IllegialArgumentException.
Tom Tromey [Tue, 21 Sep 1999 21:35:41 +0000 (21:35 +0000)]
OutputStreamWriter.java (OutputStreamWriter): Reverted previous patch; it too was incorrect.
* java/io/OutputStreamWriter.java (OutputStreamWriter): Reverted
previous patch; it too was incorrect.
* java/io/PrintStream.java (PrintStream): Likewise.
Martin v. Löwis [Tue, 21 Sep 1999 19:49:04 +0000 (19:49 +0000)]
typeck.c (get_member_function_from_ptrfunc): Allow extraction of function pointer from pmfs with no object given.
* typeck.c (get_member_function_from_ptrfunc): Allow extraction of
function pointer from pmfs with no object given.
(convert_for_assignment): Do not return error when converting
pmfs.
Andrew MacLeod [Tue, 21 Sep 1999 18:54:34 +0000 (18:54 +0000)]
flow.c (remove_edge): New function to remove an edge from the flow graph.
Tue Sep 21 14:51:23 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* flow.c (remove_edge): New function to remove an edge from the
flow graph.
(remove_fake_successors): New function to remove fake successor edges.
(remove_fake_edges): New function to remove all fake edges from the
flow graph.
(add_fake_exit_edges): New function to add fake edges from all blocks
with no successors to the exit block.
* basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
prototypes for new functions.
Alex Samuel [Tue, 21 Sep 1999 18:14:26 +0000 (18:14 +0000)]
Replace string const "<internal>" with dynamic allocation.
* lex.c (internal_filename): New variable.
(INTERNAL_FILENAME): New macro.
(init_parse): Allocate internal_filename and mark as root. Use it
instead of a string constant.
Alex Samuel [Tue, 21 Sep 1999 18:09:54 +0000 (18:09 +0000)]
Replace string const "<built-in>" with dynamic allocation.
* tree.c (built_in_filename): New variable.
(BUILT_IN_FILENAME): New macro.
(init_tree_codes): Allocate built_in_filename.
(make_node): Use built_in_filename instead of string constant.
* g++.old-deja/g++.other/dyncast1.C: New test.
* g++.old-deja/g++.other/dyncast2.C: New test.
* g++.old-deja/g++.other/dyncast3.C: New test.
* g++.old-deja/g++.other/dyncast4.C: New test.
* g++.old-deja/g++.other/dyncast5.C: New test.
* g++.old-deja/g++.eh/catch3.C: New test.
* g++.old-deja/g++.eh/catch3p.C: New test.
* g++.old-deja/g++.eh/catch4.C: New test.
* g++.old-deja/g++.eh/catch4p.C: New test.
* g++.old-deja/g++.eh/catch5.C: New test.
* g++.old-deja/g++.eh/catch5p.C: New test.
* g++.old-deja/g++.eh/catch6.C: New test.
* g++.old-deja/g++.eh/catch6p.C: New test.
* g++.old-deja/g++.eh/catch7.C: New test.
* g++.old-deja/g++.eh/catch7p.C: New test.
* g++.old-deja/g++.eh/catch8.C: New test.
* g++.old-deja/g++.eh/catch8p.C: New test.
* g++.old-deja/g++.eh/catch9.C: New test.
* g++.old-deja/g++.eh/catch9p.C: New test.