Jason Eckhardt [Thu, 16 Mar 2000 14:56:55 +0000 (14:56 +0000)]
flow.c: Move all basic block reordering code into its own file.
* flow.c: Move all basic block reordering code into its own file.
(create_basic_block): Externalize.
* bb-reorder.c: New file. Copy all basic block reordering code from
flow.c to this file.
(reorder_basic_blocks): Fix fencepost error in for-loop.
(reorder_basic_blocks): Remove braces from single statement for-loops.
* basic-block.h: Add declaration for create_basic_block.
* Makefile.in: Add rules for bb-reorder.o.
From-SVN: r32585
Neil Booth [Thu, 16 Mar 2000 14:15:17 +0000 (14:15 +0000)]
cppinit.c (handle_option): Implement #unassert directive as -A- command line option.
2000-03-16 Neil Booth <NeilB@earthling.net>
* cppinit.c (handle_option): Implement #unassert directive
as -A- command line option.
(print_help): Update.
* cpptexi.c: Update.
From-SVN: r32584
Hans-Peter Nilsson [Thu, 16 Mar 2000 12:18:18 +0000 (12:18 +0000)]
* md.texi (Standard Names): Document `jump'.
From-SVN: r32583
Nathan Sidwell [Thu, 16 Mar 2000 10:13:28 +0000 (10:13 +0000)]
* decl2.c (grokfield): Bail out if type is error_mark_node.
From-SVN: r32582
Jeff Law [Thu, 16 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32581
Jeffrey A Law [Thu, 16 Mar 2000 08:37:47 +0000 (08:37 +0000)]
* Makefile.in (partition.o): Depend on config.h
From-SVN: r32580
Jason Merrill [Thu, 16 Mar 2000 07:44:30 +0000 (07:44 +0000)]
calls.c (emit_call_1): Nothrow functions can still have nonlocal gotos.
* calls.c (emit_call_1): Nothrow functions can still have nonlocal
gotos.
From-SVN: r32579
Zack Weinberg [Thu, 16 Mar 2000 04:25:12 +0000 (04:25 +0000)]
Regenerate
From-SVN: r32578
Geoffrey Keating [Thu, 16 Mar 2000 03:28:44 +0000 (03:28 +0000)]
Add self as rs6000 maintainer.
From-SVN: r32577
Geoff Keating [Thu, 16 Mar 2000 03:16:41 +0000 (03:16 +0000)]
See the ChangeLog on the branch for more details.
* configure.in: Merge in changes from newppc-branch.
* configure: Regenerate.
* config/rs6000/*: Merge in changes from newppc-branch.
Also correct copyright notices.
From-SVN: r32575
Jeffrey A Law [Thu, 16 Mar 2000 01:58:14 +0000 (01:58 +0000)]
acconfig.h (HAVE_GAS_WEAK): New define.
* acconfig.h (HAVE_GAS_WEAK): New define.
* configure.in (assembler weak support): Check for .weak support.
* config.in, configure: Rebuilt.
* pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if
HAVE_GAS_WEAK is defined.
From-SVN: r32573
Tom Tromey [Thu, 16 Mar 2000 01:32:12 +0000 (01:32 +0000)]
decl.c (init_decl_processing): Set type of `sync_info' to be pointer to Object.
* decl.c (init_decl_processing): Set type of `sync_info' to be
pointer to Object.
* boehm.c (get_boehm_type_descriptor): Correctly compute `bits'.
Correctly compute bit number for current slot. Zero `high' and
`low' in DS_LENGTH case. Don't skip inherited fields. Use
mark_reference_fields.
(mark_reference_fields): New function.
From-SVN: r32572
Nick Clifton [Wed, 15 Mar 2000 22:06:16 +0000 (22:06 +0000)]
Fix gcc tescase compile/990527-1.c by not passing %c to asm_fprintf
From-SVN: r32569
Zack Weinberg [Wed, 15 Mar 2000 22:03:37 +0000 (22:03 +0000)]
cppfiles.c (open_include_file): New function.
* cppfiles.c (open_include_file): New function.
(find_include_file, cpp_read_file): Use it.
From-SVN: r32568
Tom Tromey [Wed, 15 Mar 2000 22:03:19 +0000 (22:03 +0000)]
[multiple changes]
2000-03-15 Tom Tromey <tromey@cygnus.com>
* java/io/natFileDescriptorWin32.cc (winerr): Now static.
* prims.cc (win32_exception_handler): Reformatted.
* include/win32-threads.h (_Jv_HaveCondDestroy): New define.
(_Jv_HaveMutexDestroy): Likewise.
2000-03-15 Jon Beniston <jb7216@bristol.ac.uk>
* java/io/natFileDescriptorWin32.cc: New file.
* java/io/natFileWin32.cc: New file.
* java/net/natInetAddress.cc: Added conditional inclusion of
Windows / Winsock headers.
* java/net/natPlainDatagramSocketImpl.cc: Added conditional
inclusion of Windows / Winsock headers.
* java/net/natPlainSocketImpl.cc: Added conditional inclusion of
Windows / Winsock headers.
* include/win32-signal.h: New file.
* include/win32-threads.h: New file.
* win32-threads.cc: New file.
* exception.cc (win32_get_restart_frame): New function.
* prims.cc (win32_exception_handler): New function.
(main_init) Performs Winsock initialisation.
(main_init) Installs exeception handler.
From-SVN: r32567
Jason Merrill [Wed, 15 Mar 2000 21:54:47 +0000 (21:54 +0000)]
* cpphash.c (dump_hash_helper): Take the slot, not the element.
From-SVN: r32566
Jason Eckhardt [Wed, 15 Mar 2000 20:24:35 +0000 (20:24 +0000)]
* flow.c (verify_flow_info): Check for unconditional return.
From-SVN: r32565
Jim Wilson [Wed, 15 Mar 2000 19:35:26 +0000 (19:35 +0000)]
Patches to make libobjc build.
* config/ia64/ia64.md (restore_stack_nonlocal): New.
* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop.
(__ia64_restore_stack_nonlocal): New.
* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal.
From-SVN: r32564
Alexandre Oliva [Wed, 15 Mar 2000 18:46:09 +0000 (18:46 +0000)]
cpphash.c (collect_formal_parameters): Do not complain about parameter names that just start with `__VA_ARGS__'.
* cpphash.c (collect_formal_parameters): Do not complain about
parameter names that just start with `__VA_ARGS__'.
From-SVN: r32563
Nathan Sidwell [Wed, 15 Mar 2000 17:17:45 +0000 (17:17 +0000)]
tinfo2.cc (__ptr_to_member_data): Rename to ...
* tinfo2.cc (__ptr_to_member_data): Rename to ...
(__pointer_to_member_data): ... here. Adjust.
* rtti.c (create_tinfo_types): Adjust.
From-SVN: r32562
Tom Tromey [Wed, 15 Mar 2000 16:36:44 +0000 (16:36 +0000)]
* libjava.compile/pr176.java: New file, for PR gcj/176.
From-SVN: r32561
Jan Hubicka [Wed, 15 Mar 2000 12:34:40 +0000 (13:34 +0100)]
i386.md (movhi_1): Promote movw imm...
* i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and
movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines.
* i386.c (pentiumpro_cost): Set mul cost to 4.
(x86_use_movx): Set for PPro.
From-SVN: r32560
Jan Hubicka [Wed, 15 Mar 2000 12:10:59 +0000 (13:10 +0100)]
i386.md (ix86_compute_frame_size): stack_alignment_needed is STACK_BOUNDARY for empty frames now.
* i386.md (ix86_compute_frame_size): stack_alignment_needed is
STACK_BOUNDARY for empty frames now.
From-SVN: r32559
Nathan Sidwell [Wed, 15 Mar 2000 10:40:27 +0000 (10:40 +0000)]
cp-tree.h (CPTI_REF_DESC_TYPE, [...]): Remove.
* cp-tree.h (CPTI_REF_DESC_TYPE, ref_desc_type_node): Remove.
* decl.c (ref_desc_type_node): Undocument.
* rtti.c (ptr_ref_initializer): Rename to ...
(ptr_initializer): ... here. Adjust comments.
(ptmd_initializer): Fix comment thinko.
(synthesize_tinfo_var): Remove REFERENCE_TYPE case.
(create_tinfo_types): Remove ref_desc_type_node init.
* tinfo2.cc (__reference_type_info): Remove.
From-SVN: r32558
Nathan Sidwell [Wed, 15 Mar 2000 09:45:39 +0000 (09:45 +0000)]
decl.c (cp_finish_decl): Remove obsolete comment.
* decl.c (cp_finish_decl): Remove obsolete comment.
* typeck.c (build_ptrmemfunc1): Kill uninitialized warning.
From-SVN: r32557
Alexandre Petit-Bianco [Wed, 15 Mar 2000 09:30:39 +0000 (09:30 +0000)]
re GNATS gcj/172 (compiler rejects inner-class argument to inner-class constructor)
Tue Mar 14 17:15:41 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_incomplete_type): Fixed initialization of
JDEP_ENCLOSING.
(This is a fix to the gcj PR #172:
http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00169.html)
From-SVN: r32556
Jeff Law [Wed, 15 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32555
Bryce McKinlay [Wed, 15 Mar 2000 03:23:04 +0000 (03:23 +0000)]
* libjava.compile/PR140.xfail: New file.
From-SVN: r32553
Bryce McKinlay [Wed, 15 Mar 2000 03:14:24 +0000 (03:14 +0000)]
pr172.java: Correct classname to match file name.
2000-03-15 Bryce McKinlay <bryce@albatross.co.nz>
* libjava.compile/pr172.java: Correct classname to match file name.
* libjava.compile/pr174.java: ditto. Remove superfluous main()
method.
From-SVN: r32552
Tom Tromey [Wed, 15 Mar 2000 01:45:10 +0000 (01:45 +0000)]
* libjava.compile/PR140.java: New file, for PR gcj/140.
From-SVN: r32551
Mark Mitchell [Wed, 15 Mar 2000 00:46:47 +0000 (00:46 +0000)]
cp-tree.h: Tweak documentation.
* cp-tree.h: Tweak documentation.
* class.c (build_vbase_pointer_fields): Layout the fields, too.
(avoid_overlap): Remove.
(get_binfo_offset_as_int): New function.
(dfs_serach_base_offsets): Likewise.
(layout_nonempty_base_or_field): Likewise.
(build_base_field): Layout fields here. Avoid placing two objects
of the same type at the same address, under the new ABI.
(build_base_fields): Adjust accordingly.
(create_vtable_ptr): Return the new field, but don't attach it to
TYPE_FIELDS.
(remove_base_field): Remove.
(remove_base_fields): Remove.
(layout_basetypes): Adjust accordingly.
(layout_class_type): Call layout_field for each field, rather than
just making a wholesale call to layout_type.
From-SVN: r32550
Mark Mitchell [Wed, 15 Mar 2000 00:16:21 +0000 (00:16 +0000)]
cp-tree.h: Tweak documentation.
* cp-tree.h: Tweak documentation.
* class.c (build_vbase_pointer_fields): Layout the fields, too.
(avoid_overlap): Remove.
(get_binfo_offset_as_int): New function.
(dfs_serach_base_offsets): Likewise.
(layout_nonempty_base_or_field): Likewise.
(build_base_field): Layout fields here. Avoid placing two objects
of the same type at the same address, under the new ABI.
(build_base_fields): Adjust accordingly.
(create_vtable_ptr): Return the new field, but don't attach it to
TYPE_FIELDS.
(remove_base_field): Remove.
(remove_base_fields): Remove.
(layout_basetypes): Adjust accordingly.
(layout_class_type): Call layout_field for each field, rather than
just making a wholesale call to layout_type.
From-SVN: r32549
Mark Mitchell [Wed, 15 Mar 2000 00:12:37 +0000 (00:12 +0000)]
stor-layout.c (layout_union): Remove.
* stor-layout.c (layout_union): Remove.
(layout_union_field): New function, split out from layout_union.
(finish_union_layout): Likewise.
(layout_field): Handle unions by calling layout_union_field.
(finish_record_layout): Handle unions.
(layout_type): Combine RECORD_TYPE, UNION_TYPE, and
QUAL_UNION_TYPE handling.
From-SVN: r32548
Jan Hubicka [Tue, 14 Mar 2000 22:50:19 +0000 (23:50 +0100)]
flow.c (fixup_reorder_chain): Avoid double labels in the basic block...
* flow.c (fixup_reorder_chain): Avoid double labels in the basic block;
end of basic block is jump_insn, not barrier; use create_basic_block
instead of creating basic block by hand.
From-SVN: r32547
Tom Tromey [Tue, 14 Mar 2000 21:59:54 +0000 (21:59 +0000)]
jni.cc (mangled_name): Fixed assertion.
* jni.cc (mangled_name): Fixed assertion.
(JNI_GetCreatedJavaVMs): Don't comment out `buf_len' argument;
turned assert into actual failure.
From-SVN: r32546
Jason Eckhardt [Tue, 14 Mar 2000 21:21:18 +0000 (21:21 +0000)]
flow.c (reorder_basic_blocks): Account for barriers when writing over NEXT_INSN (last_bb->end).
* flow.c (reorder_basic_blocks): Account for barriers when writing
over NEXT_INSN (last_bb->end).
(verify_flow_info): Add check for missing barriers.
From-SVN: r32545
Zack Weinberg [Tue, 14 Mar 2000 21:18:29 +0000 (21:18 +0000)]
Delete useless, generated texinfo index
From-SVN: r32544
Andrew Haley [Tue, 14 Mar 2000 20:54:55 +0000 (20:54 +0000)]
check-init.c (check_init): Add new cases for unary and binary tree nodes.
2000-02-14 Andrew Haley <aph@cygnus.com>
* check-init.c (check_init): Add new cases for unary and binary
tree nodes.
From-SVN: r32543
Jeffrey A Law [Tue, 14 Mar 2000 20:30:10 +0000 (20:30 +0000)]
* gcc.c-torture/execute/
20000314-3.c: New test.
From-SVN: r32542
Greg McGary [Tue, 14 Mar 2000 19:54:04 +0000 (19:54 +0000)]
c-parse.y, [...]: Regenerate.
* c-parse.y, c-parse.c, c-parse.h: Regenerate.
* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
From-SVN: r32541
Greg McGary [Tue, 14 Mar 2000 19:42:11 +0000 (19:42 +0000)]
c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.
* c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.
* c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED.
* c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__,
__ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__,
__unbounded, __unbounded__): New keywords.
* c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens.
From-SVN: r32540
Tom Tromey [Tue, 14 Mar 2000 18:37:18 +0000 (18:37 +0000)]
* libjava.compile/pr172.java: New file, for PR gcj/172.
From-SVN: r32539
Bernd Schmidt [Tue, 14 Mar 2000 18:36:18 +0000 (18:36 +0000)]
Add cselib; use it in loop and reload_cse_regs
From-SVN: r32538
Tom Tromey [Tue, 14 Mar 2000 18:35:02 +0000 (18:35 +0000)]
* libjava.compile/pr174.java: New file, for PR gcj/174.
From-SVN: r32537
Bernd Schmidt [Tue, 14 Mar 2000 18:28:45 +0000 (18:28 +0000)]
Some cleanups/additions for hashtables
From-SVN: r32536
Nick Clifton [Tue, 14 Mar 2000 18:08:35 +0000 (18:08 +0000)]
Fix spec string parsing bugs
From-SVN: r32535
Richard Earnshaw [Tue, 14 Mar 2000 17:48:48 +0000 (17:48 +0000)]
function.c (prepare_function_start): Correctly initialize cfun->stack_alignment_needed.
* function.c (prepare_function_start): Correctly initialize
cfun->stack_alignment_needed.
From-SVN: r32534
Zack Weinberg [Tue, 14 Mar 2000 17:25:24 +0000 (17:25 +0000)]
cppfiles.c (find_include_file): Don't assume nshort is a substring of name.
* cppfiles.c (find_include_file): Don't assume nshort is a
substring of name.
From-SVN: r32533
Jeffrey A Law [Tue, 14 Mar 2000 16:49:03 +0000 (16:49 +0000)]
* gcc.c-torture/execute/
20000314-2.c: New test.
From-SVN: r32532
Jeffrey A Law [Tue, 14 Mar 2000 16:28:08 +0000 (16:28 +0000)]
* gcc.c-torture/compile/
20000314-2.c: New test.
From-SVN: r32531
Jeffrey A Law [Tue, 14 Mar 2000 16:10:27 +0000 (16:10 +0000)]
* gcc.c-torture/execute/
2000314-1.c: New test.
From-SVN: r32530
Jeffrey A Law [Tue, 14 Mar 2000 16:06:24 +0000 (16:06 +0000)]
New test.
From-SVN: r32529
Jeffrey A Law [Tue, 14 Mar 2000 15:47:24 +0000 (15:47 +0000)]
configure.in (hppa configurations): Add pa32-regs.h to the list of tm files as appropriate.
* configure.in (hppa configurations): Add pa32-regs.h to the
list of tm files as appropriate.
* configure: Rebuilt.
* pa.c (compute_frame_size): Remove explicit knowledge about FP
register numbering.
(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
(fmpyaddoperands, fmpysuboperands): Likewise.
* pa.h: Remove various definitions which depend on knowing
how registers are numbered.
* pa32-regs.h: New file with PA32 register numbering specific
definitions.
From-SVN: r32527
Richard Henderson [Tue, 14 Mar 2000 14:38:52 +0000 (06:38 -0800)]
regmove.c (combine_stack_adjustments): New.
* regmove.c (combine_stack_adjustments): New.
(stack_memref_p, single_set_for_csa): New.
(free_csa_memlist, record_one_stack_memref): New.
(try_apply_stack_adjustment): New.
(combine_stack_adjustments_for_block): New.
* rtl.h (combine_stack_adjustments): Declare.
* toplev.c (rest_of_compilation): Call it.
* i386.md: Revert 2000-01-16 change.
From-SVN: r32526
Martin v. Löwis [Tue, 14 Mar 2000 09:50:58 +0000 (09:50 +0000)]
* gccbug.in: Add web category, gcc specific classes.
From-SVN: r32525
Nathan Sidwell [Tue, 14 Mar 2000 09:36:03 +0000 (09:36 +0000)]
* stor-layout.c (finalize_record_size): Fix typo.
From-SVN: r32524
Jeff Law [Tue, 14 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32523
Stan Shebs [Tue, 14 Mar 2000 08:24:21 +0000 (08:24 +0000)]
c-typeck.c (c_alignof): Error on incomplete types.
* c-typeck.c (c_alignof): Error on incomplete types.
* extend.texi (Alignment): Document this.
From-SVN: r32522
Jeff Sturm [Tue, 14 Mar 2000 08:11:38 +0000 (08:11 +0000)]
Jeff Sturm <jsturm@sigma6.com>
* except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw.
From-SVN: r32521
Alexandre Petit-Bianco [Tue, 14 Mar 2000 07:51:42 +0000 (07:51 +0000)]
parse.y (resolve_package): Set `next' once a type name has been progressively discovered.
2000-03-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_package): Set `next' once a type name has been
progressively discovered.
(resolve_qualified_expression_name): Propagate resolution only if
there are remaining qualifiers. Take into account `q' might have
been cleared after re-qualification.
* parse.y (patch_method_invocation): New local `resolved'.
Section dealing with qualified expression rewritten to use
resolve_field_access.
From-SVN: r32520
Zack Weinberg [Tue, 14 Mar 2000 06:34:11 +0000 (06:34 +0000)]
cppfiles.c: Include mkdeps.h.
* cppfiles.c: Include mkdeps.h.
(find_include_file, read_include_file): Remove _cpp_ prefix
from name, make static.
(_cpp_execute_include): New function, broken out of
do_include.
* cpplib.c: Don't include mkdeps.h.
(struct directive): Remove type field. Reorder entries. The
function takes only one argument.
(struct if_stack): Make type field an int.
(directive_table): Rename to dtable. Generate it, the
prototypes of the directive handlers, and the enum for the
directive numbers, from a template macro.
(do_ifndef, do_include_next, do_import): New functions.
(do_define, do_include, do_endif, do_ifdef, do_if, do_else,
do_undef, do_line, do_elif, do_error, do_pragma, do_warning,
do_ident, do_assert, do_unassert, do_sccs): Take only one
argument.
(do_sccs): Define always, but alter behavior based on
SCCS_DIRECTIVE.
(_cpp_handle_directive, consider_directive_while_skipping):
Restructure for new directive table layout.
(pass_thru_directive): Take a directive number, not a pointer
to a struct directive.
(parse_include): New function, broken out of do_include.
(do_include, do_import, do_include_next): Use parse_include
and _cpp_execute_include.
(do_elif, do_else): Test for T_ELSE specifically when checking
for #elif/#else after #else.
(parse_ifdef): New function, broken out of do_ifdef.
(validate_else): Expect a name arg without a leading #.
(if_directive_name): Delete.
(cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call
directive handlers with only one argument.
* cpphash.h: Update prototypes.
(enum node_type): Remove entries for directives.
* Makefile.in: Update dependencies.
From-SVN: r32519
Zack Weinberg [Tue, 14 Mar 2000 06:10:27 +0000 (06:10 +0000)]
cpphash.c (dump_hash_helper): Only dump nodes of type T_MACRO.
* cpphash.c (dump_hash_helper): Only dump nodes of type
T_MACRO. Emit a newline after each definition.
From-SVN: r32518
Alexandre Petit-Bianco [Tue, 14 Mar 2000 05:01:05 +0000 (21:01 -0800)]
Added Java 1.1 language features.
From-SVN: r32517
Martin v. Löwis [Mon, 13 Mar 2000 23:51:26 +0000 (23:51 +0000)]
gccbug.in: New file.
* gccbug.in: New file.
* configure.in (all_outputs): Add gccbug.
* Makefile.in (install-common): Install gccbug.
(GCCBUG_INSTALL_NAME): New variable.
* configure: Rebuilt.
From-SVN: r32515
Jason Merrill [Mon, 13 Mar 2000 22:54:03 +0000 (22:54 +0000)]
function.c (put_var_into_stack): Use type_for_mode to calculate part_type.
* function.c (put_var_into_stack): Use type_for_mode to calculate
part_type. Use MEM_SET_IN_STRUCT_P.
* expr.c (store_field): Handle CONCAT.
(store_constructor): Use fields_length.
* tree.c (fields_length): New fn.
* tree.h: Declare it.
From-SVN: r32514
Zack Weinberg [Mon, 13 Mar 2000 22:01:08 +0000 (22:01 +0000)]
Makefile.in (LIBCPP_OBJS): Add cpplex.o.
* Makefile.in (LIBCPP_OBJS): Add cpplex.o.
(cpplex.o): New target.
* po/POTFILES.in: Add cpplex.c.
* cpplex.c (_cpp_grow_token_buffer, null_cleanup,
cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer,
cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer,
skip_block_comment, skip_line_comment, skip_comment,
copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line,
_cpp_parse_name, skip_string, parse_string,
_cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token,
_cpp_get_directive_token, find_position,
_cpp_read_and_prescan, _cpp_init_input_buffer): Move here.
(maybe_macroexpand, _cpp_lex_token): New functions.
* cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark,
parse_goto_mark): Delete.
(_cpp_handle_eof): New function.
(_cpp_handle_directive): Rename from handle_directive.
(_cpp_output_line_command): Rename from output_line_command.
(do_if, do_elif): Call _cpp_parse_expr directly.
* cppfiles.c (_cpp_read_include_file): Don't call
init_input_buffer here.
* cpphash.c (quote_string): Move here, rename _cpp_quote_string.
* cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive
here; pop the token_buffer and skip the rest of the line here.
* cppinit.c (cpp_start_read): Call _cpp_init_input_buffer
here.
* cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P):
Define here.
(CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK,
CPP_GOTO_MARK): New macros.
(_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line,
_cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token,
_cpp_read_and_prescan, _cpp_init_input_buffer,
_cpp_grow_token_buffer, _cpp_get_directive_token,
_cpp_handle_directive, _cpp_handle_eof,
_cpp_output_line_command): Prototype them here.
* cpplib.h (enum cpp_token): Add CPP_MACRO.
(CPP_RESERVE, get_directive_token, cpp_grow_buffer,
quote_string, output_line_command): Remove.
From-SVN: r32513
Hans Boehm [Mon, 13 Mar 2000 21:36:09 +0000 (21:36 +0000)]
typeck.c (build_prim_array_type): Correctly set the high word too.
Mon Mar 13 11:36:51 2000 Hans Boehm <boehm@acm.org>
* typeck.c (build_prim_array_type): Correctly set the high word too.
From-SVN: r32512
Bernd Schmidt [Mon, 13 Mar 2000 19:35:38 +0000 (19:35 +0000)]
Fix recently introduced error in expand_end_case.
From-SVN: r32511
Jason Merrill [Mon, 13 Mar 2000 19:23:34 +0000 (19:23 +0000)]
decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P.
* decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P.
* except.c (dtor_nothrow): New fn.
(do_pop_exception): Use it. Take type parm.
(push_eh_cleanup): Take type parm.
(expand_start_catch_block): Pass it.
(build_eh_type_type_ref): Accept null type.
From-SVN: r32510
Zack Weinberg [Mon, 13 Mar 2000 17:41:35 +0000 (17:41 +0000)]
New test; for ia32 codegen bug.
Reported by Daniel Lauer <daniel@informatik.uni-bonn.de>
From-SVN: r32509
Jakub Jelinek [Mon, 13 Mar 2000 17:34:57 +0000 (18:34 +0100)]
sparc.md: Remove all traces of TARGET_LIVE_G0.
* config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0.
(movsi_zero_liveg0): Remove.
(movsf_insn_novis_liveg0): Remove.
(negsi2): Remove.
(negsi2_not_liveg0): Rename to negsi2.
(one_cmplsi2): Remove.
(one_cmplsi2_not_liveg0): Rename to one_cmplsi2.
(one_cmplsi2_liveg0): Remove.
* config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE,
MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove.
(CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if.
(PREDICATE_CODES): Remove zero_operand.
* config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and
TARGET_BROKEN_SAVERESTORE.
(zero_operand): Remove.
* config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0,
-mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore
options.
(SUBTARGET_OVERRIDE_OPTIONS): Remove.
* config/sparc/linux-aout.h (TARGET_LIVE_G0,
TARGET_BROKEN_SAVERESTORE): Remove.
* config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
Remove.
* config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
Remove.
* config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
Remove.
* config/sparc/sparc.md (return_df_no_fpu): New pattern.
From-SVN: r32508
Zack Weinberg [Mon, 13 Mar 2000 17:25:36 +0000 (17:25 +0000)]
cpplib.c (do_pragma_implementation): Fix off-by-one error truncating a string.
* cpplib.c (do_pragma_implementation): Fix off-by-one error
truncating a string. Don't assume tokens are nul terminated.
Problem noted by Andreas Jaeger <aj@suse.de>
From-SVN: r32507
Jason Merrill [Mon, 13 Mar 2000 15:09:49 +0000 (15:09 +0000)]
dwarf2out.c (add_name_and_src_coords_attributes): Only add DW_AT_MIPS_linkage_name for TREE_PUBLIC decls.
* dwarf2out.c (add_name_and_src_coords_attributes): Only add
DW_AT_MIPS_linkage_name for TREE_PUBLIC decls.
(ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline.
From-SVN: r32506
Richard Earnshaw [Mon, 13 Mar 2000 13:24:54 +0000 (13:24 +0000)]
stor-layout.c (new_record_layout_info): Fix typo inside ifdef STRUCTURE_SIZE_BOUNDARY.
* stor-layout.c (new_record_layout_info): Fix typo inside ifdef
STRUCTURE_SIZE_BOUNDARY.
From-SVN: r32505
Nathan Sidwell [Mon, 13 Mar 2000 11:12:13 +0000 (11:12 +0000)]
* g++.old-deja/g++.warn/inline.C: New test.
From-SVN: r32504
Mark Mitchell [Mon, 13 Mar 2000 09:12:50 +0000 (09:12 +0000)]
tree.h (record_layout_info_s): New structure.
* tree.h (record_layout_info_s): New structure.
(record_layout_info): New type.
(new_record_layout_info): New function.
(layout_field): Likewise.
(finish_record_layout): Likewise.
* stor-layout.c (layout_record): Remove.
(new_record_layout_info): New function.
(layout_field): New function, broken out from layout_record.
(finalize_record_size): Likewise.
(compute_record_mode): Likewise.
(finalize_type_size): New function, broken out from layout_type.
(finish_record_layout): Likewise.
(layout_type): Use them.
From-SVN: r32503
Jeff Law [Mon, 13 Mar 2000 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32502
Mark Mitchell [Mon, 13 Mar 2000 04:54:39 +0000 (04:54 +0000)]
cp-tree.h (revert_static_member_fn): Change prototype.
* cp-tree.h (revert_static_member_fn): Change prototype.
* decl.c (grokfndecl): Adjust call to revert_static_member_fn.
(grok_op_properties): Likewise.
(start_function): Likewise.
(revert_static_member_fn): Simplify.
* pt.c (check_explicit_specialization): Adjust call to
revert_static_member_fn.
From-SVN: r32501
Zack Weinberg [Mon, 13 Mar 2000 03:43:19 +0000 (03:43 +0000)]
toon forgot to check in configure
From-SVN: r32500
Zack Weinberg [Mon, 13 Mar 2000 00:10:13 +0000 (00:10 +0000)]
cpphash.c: Don't include version.h.
* cpphash.c: Don't include version.h.
(special_symbol) [case T_VERSION]: Look for the string in
hp->value.cpval; don't use version_string.
* cppinit.c (initialize_builtins): Set hp->value.cpval for
__VERSION__ to version_string.
* Makefile.in (cpphash.o): Update deps.
From-SVN: r32499
Zack Weinberg [Sun, 12 Mar 2000 23:46:05 +0000 (23:46 +0000)]
Convert cpplib to use libiberty/hashtab.c.
* cpplib.h (struct cpp_reader): Make hashtab and
all_include_files of type 'struct htab *'. Delete HASHSIZE
and ALL_INCLUDE_HASHSIZE macros.
* cpphash.h: Update prototypes.
(struct hashnode): Remove next, prev, and bucket_hdr members.
Make length a size_t. Add hash member.
(struct ihash): Remove next member. Add hash member. Make
name a flexible array member.
* cppfiles.c: Include hashtab.h.
(include_hash): Delete.
(IHASHSIZE): New macro.
(hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions.
(cpp_included): Do the hash lookup here.
(_cpp_find_include_file): Rewrite.
(cpp_read_file): Put the "fake" hash entry into the hash
table. Honor the control_macro, if it turns out we've seen
the file before. Don't push the buffer here.
(_cpp_read_include_file): Push the buffer here.
(OMODES): New macro. Use it whenever we call open(2).
* cpphash.c: Include hashtab.h.
(hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper,
_cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode,
_cpp_lookup_slot): New functions.
(HASHSIZE): new macro.
(hashf, _cpp_install, _cpp_delete_macro): Delete.
(_cpp_lookup): Use hashtab.h routines.
* cppinit.c: Include hashtab.h.
(cpp_reader_init): Call _cpp_init_macro_hash and
_cpp_init_include_hash. Don't allocate hashtab directly.
(cpp_cleanup): Just call htab_delete on pfile->hashtab and
pfile->all_include_files.
(initialize_builtins): Use _cpp_make_hashnode and
htab_find_slot to add hash entries.
(cpp_finish): Just call _cpp_dump_macro_hash.
* cpplib.c: Include hashtab.h.
(do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to
create hash entries.
(do_pragma_poison, do_assert): Likewise.
(do_include): Don't push the buffer here. Don't increment
system_include_depth unless _cpp_read_include_file succeeds.
(do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot
or htab_remove_elt.
(do_pragma_implementation): Use alloca to create copy.
* Makefile.in: Update dependencies.
From-SVN: r32497
Toon Moene [Sun, 12 Mar 2000 19:20:47 +0000 (19:20 +0000)]
configure.in: Define IEEE_COMPLEX_DIVIDE.
* libF77/configure.in: Define IEEE_COMPLEX_DIVIDE.
* libF77/[cz]_div.c: Arrange for compilation under
-DIEEE_COMPLEX_DIVIDE to make these routines
avoid calling sig_die when the denominator vanishes.
* libF77/s_rnge.c: Add casts for the case of
sizeof(ftnint) == sizeof(int) < sizeof(long).
* libI77/endfile.c: Set state to writing (b->uwrt = 1) when an
endfile statement requires copying the file
Also, supply a missing (long) cast in the sprintf call.
* libI77/sfe.c: Add #ifdef ALWAYS_FLUSH logic, for formatted I/O.
From-SVN: r32496
Gabriel Dos Reis [Sun, 12 Mar 2000 19:03:13 +0000 (19:03 +0000)]
Revert previous checkin
From-SVN: r32495
Mark Mitchell [Sun, 12 Mar 2000 18:47:52 +0000 (18:47 +0000)]
cp-tree.h (scope_kind): New type.
* cp-tree.h (scope_kind): New type.
(tmpl_spec_kind): Likewise.
(declare_pseudo_global_level): Remove.
(pseudo_global_level_p): Rename to template_parm_scope_p.
(pushlevel): Remove declaration.
(begin_scope): New function.
(finish_scope): Likewise.
(current_tmpl_spec_kind): Likewise.
* decl.c (struct binding_level): Shorten parm_flag to 2 bits.
Shorten keep to 2 bits. Rename pseudo_global to template_parms_p.
Add template_spec_p.
(toplevel_bindings_p): Adjust.
(declare_pseudo_global_level): Remove.
(pseudo_global_level_p): Rename to template_parm_scope_p.
(current_tmpl_spec_kind): New function.
(begin_scope): Likewise.
(finish_scope): Likewise.
(maybe_push_to_top_level): Adjust.
(maybe_process_template_type_declaration): Likewise.
(pushtag): Likewise.
(pushdecl_nonclass_level): Likewise.
(lookup_tag): Likewise.
(grokfndecl): Handle member template specializations. Share
constructor and non-constructor code.
* decl2.c (check_classfn): Handle member template specializations.
* pt.c (begin_template_parm_list): Use begin_scope.
(begin_specialization): Likewise.
(end_specialization): Likewise.
(check_explicit_specialization): Use current_tmpl_spec_kind.
Handle member template specializations.
(end_template_decl): Use finish_scope. Remove call to
get_pending_sizes.
(push_template_decl_real): Remove bogus error message.
(tsubst_decl): Fix typo in code contained in comment.
(instantiate_template): Handle member template specializations.
(most_general_template): Likewise.
From-SVN: r32494
Toon Moene [Sun, 12 Mar 2000 17:24:42 +0000 (18:24 +0100)]
* MAINTAINERS: Added myself for write-after-approval.
From-SVN: r32493
Gabriel Dos Reis [Sun, 12 Mar 2000 17:19:22 +0000 (17:19 +0000)]
lex.c (whitespace_cr): Compress consecutive calls to warning().
2000-03-11 Gabriel Dos Reis <gdr@codesourcery.com>
* lex.c (whitespace_cr): Compress consecutive calls to warning().
(do_identifier): Ditto for error().
* pt.c (convert_nontype_argument): Ditto for cp_error().
(convert_template_argument): Ditto for cp_pedwarn().
From-SVN: r32492
Kaveh R. Ghazi [Sun, 12 Mar 2000 13:55:52 +0000 (13:55 +0000)]
* cppinit.c (cl_directive_handler): More K&R fixing.
From-SVN: r32490
Jeff Law [Sun, 12 Mar 2000 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32489
Jim Wilson [Sun, 12 Mar 2000 08:24:23 +0000 (08:24 +0000)]
* MAINTAINERS: Add self as ia64 port maintainer.
From-SVN: r32488
Jim Wilson [Sun, 12 Mar 2000 08:00:08 +0000 (08:00 +0000)]
Fix bug found by make bootstrap failure. Eliminate some warnings.
* config/ia64/ia64.c (ia64_compute_frame_size): Align size to
STACK_BOUNDARY.
* config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses.
From-SVN: r32487
Kaveh R. Ghazi [Sun, 12 Mar 2000 04:33:26 +0000 (04:33 +0000)]
cppinit.c (no_arg, [...]): Change from char[] to macros.
* cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth):
Change from char[] to macros.
From-SVN: r32486
Neil Booth [Sun, 12 Mar 2000 00:32:01 +0000 (00:32 +0000)]
cppinit.c (cpp_start_read): Update indirect function call to K&R C.
2000-03-12 Neil Booth <NeilB@earthling.net>
* cppinit.c (cpp_start_read): Update indirect function
call to K&R C.
From-SVN: r32485
Jim Wilson [Sun, 12 Mar 2000 00:28:18 +0000 (00:28 +0000)]
ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 entry.
* config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79
entry.
From-SVN: r32484
Jim Wilson [Sun, 12 Mar 2000 00:20:06 +0000 (00:20 +0000)]
ia64-protos.h, [...]: Fix copyright messages.
* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages.
From-SVN: r32483
Jason Merrill [Sat, 11 Mar 2000 10:14:13 +0000 (05:14 -0500)]
oops
From-SVN: r32482
Neil Booth [Sat, 11 Mar 2000 09:13:00 +0000 (09:13 +0000)]
cppinit.c (struct pending option): Replace undef with a pointer to a directive handling routine.
2000-03-11 Neil Booth <NeilB@earthling.net>
* cppinit.c (struct pending option): Replace undef with a
pointer to a directive handling routine.
(struct cpp_pending): Replace separate assert_ and define_
lists with one directive_ list.
(new_pending_define): Rename new_pending_directive. Extra
argument is the directive's handling routine.
(handle_option): Update to use new_pending_directive.
From-SVN: r32481
Jason Merrill [Sat, 11 Mar 2000 09:00:13 +0000 (09:00 +0000)]
exception.cc (__check_null_eh_spec): New fn.
* exception.cc (__check_null_eh_spec): New fn.
* except.c (expand_end_eh_spec): Call it if the spec is throw().
From-SVN: r32480
Jeff Law [Sat, 11 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32479
Jason Merrill [Sat, 11 Mar 2000 08:27:17 +0000 (03:27 -0500)]
tweak formatting
From-SVN: r32478
Neil Booth [Sat, 11 Mar 2000 00:49:44 +0000 (00:49 +0000)]
cppfiles.c (file_cleanup, [...]): Replace bcopy(), index() etc calls.
* cppfiles.c (file_cleanup, _cpp_find_include_file,
remap_filename, _cpp_read_include_file, actual_directory,
hack_vms_include_specification): Replace bcopy(), index() etc
calls. Add casts to some allocations. Make some variables
pointers to const [unsigned] char.
* cpphash.c (_cpp_install, macro_cleanup, collect_expansion,
collect_formal_parameters): Similarly.
* cppinit.c (struct pending_option, append_include_chain,
cpp_options_init, cpp_reader_init, initialize_standard_includes,
cpp_start_read, new_pending_define, handle_option): Similarly.
* cpplib.c (cpp_define, copy_comment, do_define, do_include,
do_undef, do_error, do_warning, do_pragma, do_pragma_once,
do_pragma_implementation, detect_if_not_defined,
do_ifdef, skip_if_group, cpp_get_token, parse_string,
do_assert, do_unassert): Similarly.
* cpplib.h (cpp_buffer, cpp_options): Update types. Update
function prototypes.
* mkdeps.c (deps_add_target, deps_add_dep): cast allocations.
From-SVN: r32477