Jason Merrill [Mon, 21 May 2001 15:55:40 +0000 (11:55 -0400)]
class.c (build_vtable_entry_ref): Lose vtbl parm.
* class.c (build_vtable_entry_ref): Lose vtbl parm. Fix for new abi.
(build_vtbl_ref): Adjust.
(dfs_accumulate_vtbl_inits): Set TREE_CONSTANT on the vtable address.
* decl2.c (lang_f_options): Remove huge-objects, vtable-thunks.
Re-add vtable-gc.
(unsupported_options): Correspondingly.
* decl2.c (maybe_make_one_only): Check flag_weak, not
supports_one_only().
Stephane Carrez [Mon, 21 May 2001 12:20:51 +0000 (14:20 +0200)]
msp.c (A_SIZE): Define according to STACK_SIZE;
* gcc.c-torture/unsorted/msp.c (A_SIZE): Define according to
STACK_SIZE;
* gcc.c-torture/compile/991214-2.c (HISTO_SIZE): Define according
to STACK_SIZE; Use it to define size of add_histo array.
* gcc.c-torture/compile/920723-1.c (GITT_SIZE): Define according
to STACK_SIZE.
(f): Use GITT_SIZE to define size of gitt local table.
* gcc.c-torture/compile/930621-1.c (BYTEMEM_SIZE): Define according
to STACK_SIZE; Use it to define size of bytemem array.
Stephane Carrez [Mon, 21 May 2001 12:06:52 +0000 (14:06 +0200)]
20000804-1.x: New file, this test fails on 68HC11/HC12 due to the asm instruction.
* gcc.c-torture/compile/20000804-1.x: New file, this test fails
on 68HC11/HC12 due to the asm instruction.
* gcc.c-torture/compile/20001205-1.x: New file, ditto.
* gcc.c-torture/compile/920520-1.x: Likewise.
* gcc.c-torture/compile/20001226-1.x: New file, this test fails
on 68HC11/HC12 because the function is larger than 64K.
* gcc.c-torture/compile/961203-1.x: New file, this test fails
on 68HC11/HC12 because the structure is too large.
Bryce McKinlay [Mon, 21 May 2001 08:37:04 +0000 (08:37 +0000)]
configure.in: Update boehm-gc include dir for new GC version.
* configure.in: Update boehm-gc include dir for new GC version.
* configure: Rebuilt.
* exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and
extern "C" wrapper.
* boehm.cc: Update includes for new GC version. MAKE_PROC is now
GC_MAKE_PROC. mark_proc is now GC_mark_proc.
* posix-threads.cc: Only include <gc.h>. Don't need to wrap with
extern "C".
Joseph Myers [Sun, 20 May 2001 23:21:59 +0000 (00:21 +0100)]
re PR other/930 (Out of date docs for C99 features as extensions)
* extend.texi: Clarify documentation of extensions included in ISO
C99. Prefer C99 terminology and syntax to old GNU terminology and
syntax. Add more index entries. Document mixed declarations and
code as an extension in C89 mode. Warn about future changes to
semantics of inline functions. Fixes PR other/930.
Richard Kenner [Sun, 20 May 2001 21:36:35 +0000 (21:36 +0000)]
expr.c (expand_expr, [...]): Don't fold constant access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
(expand_expr, case COMPONENT_REF): Do copy if misaligned even
if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
Alexandre Oliva [Sun, 20 May 2001 18:55:59 +0000 (18:55 +0000)]
ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.254.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254. Rebuilt a number
of subdir/configure scripts to use the new libtool.m4.
Joseph Myers [Sun, 20 May 2001 13:50:44 +0000 (14:50 +0100)]
re PR other/567 ("make dvi" fails)
ch:
* Make-lang.in (chill.dvi): Remove bogus dependencies. Don't cd
to ch; include both $(srcdir)/ch and $(srcdir) in TEXINPUTS.
Don't move chill.dvi after creating it. Fixes PR other/567 and
PR other/1018.
f:
* Make-lang.in (f/g77.dvi): Include $(srcdir) in TEXINPUTS.
except.c (dw2_build_landing_pads): Use word_mode, not Pmode, as ncessary.
* except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
as ncessary.
(expand_eh_return): Convert between word_mode and Pmode.
* unwind-dw2.c (extract_cie_info): Do not assume words and pointers
are the same size.
(execute_stack_op): Likewise.
(execute_cfa_program): Likewise.
(uw_frame_state_for): Likewise.
(uw_update_context_1): Likewise.
* unwind.inc (_Unwind_Reason_Code): Likewise.
* config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
(EH_RETURN_STACKADJ_RTX): Likewise.
* config/mips/mips.c (compute_frame_size): Make space for saving
EH return registers.
(mips_expand_epilogue): Handle EH stack adjustments.
* config/mips/mips.md (eh_return): New pattern.
(eh_set_lr_si): Likewise.
(eh_set_lr_di): Likewise.
Add splitter to perform EH return after reload.
Joseph Myers [Sat, 19 May 2001 20:19:24 +0000 (21:19 +0100)]
re PR c/166 (C syntax problem in gcc)
* c-parse.in (parm_declarator): Split into
parm_declarator_starttypename and parm_declarator_nostarttypename.
(parm_declarator_starttypename, parm_declarator_nostarttypename):
New. Allow parenthesised sub-declarators which don't begin with a
TYPENAME. Fixes PR c/166.
Mark Mitchell [Sat, 19 May 2001 17:56:48 +0000 (17:56 +0000)]
defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New macro.
* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
macro.
* tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
Document it.
* toplev.c (main): If the target does not allow profiling without
a frame pointer, issue an error message.
* config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
Define it to false.
* genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
(add_to_sequence): Make that decision type.
(maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
(write_switch, write_cond, debug_decision_2): Likewise.
Daniel Berlin [Fri, 18 May 2001 15:39:11 +0000 (15:39 +0000)]
dwarf2out.c: Add dw_loc_list_ref, a reference to a location list.
2001-05-18 Daniel Berlin <dan@cgsoftware.com>
* dwarf2out.c: Add dw_loc_list_ref, a reference to a location
list.
Add have_location_lists, a variable to determine whether we need a
.debug_loc section or not.
(enum dw_val_class): Add dw_val_class_loc_list.
(dw_val_struct): Add val_loc_list.
(dw_loc_list_struct): New structure, represents location lists.
(new_loc_list): New function, return a new location list, given
the range and location expression.
(add_loc_descr_to_loc_list): New function, add a location
expression to a location list, given the expression and range.
(output_loc_list): New function, output a location list.
(gen_internal_sym): Modified to take symbol prefix, so we can
reuse it for location list symbols.
(add_AT_loc_list): New function, add a location list to a DIE at
the named attribute.
(AT_loc_list): New function, return the location list reference
for a given attribute, if it's a location list.
(print_die): Handle dw_val_class_loc_list.
(size_of_die): Ditto.
(value_format): Ditto.
(output_die): Ditto.
(output_location_lists): New function, output all of the location
lists for a DIE and it's children.
(dwarf2out_finish): Call output_location_lists if we have location
lists.
Nathan Sidwell [Fri, 18 May 2001 15:00:29 +0000 (15:00 +0000)]
re PR c++/2526 (internal compiler error (version 2.95.3 and 3.0))
cp:
PR c++/2526
* decl.c (pushdecl): Adjust error string.
(xref_tag): Adjust friend class injection warning. Remove the
inherited name from the class shadowed scope.
testsuite:
* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL.
* g++.old-deja/g++.pt/crash67.C: New test.
* dwarf2out.c (output_comp_unit): Always output a compilation-unit
DIE, even if it has no children.
(dwarf2out_finish): Always output the line-number table, even if
it has no content.
Mark Mitchell [Thu, 17 May 2001 18:12:27 +0000 (18:12 +0000)]
except.h (protect_cleanup_actions): Remove it.
* except.h (protect_cleanup_actions): Remove it.
(lang_protect_cleanup_actions): Declare it.
* except.c (protect_cleanup_actions): Remove it.
(lang_protect_cleanup_actions): New variable.
(init_eh): Don't make protect_cleanup_actions a GC root.
(expand_eh_region_and_cleanup): Call
lang_protect_cleanup_actions.
(output_function_exception_table): Remove unused `align'
variable.
* varasm.c (assemble_external): Abort if we have not yet
opened the assembly output file.
* except.c (cp_protect_cleanup_actions): New function.
(init_exception_processing): Don't set protect_cleanup_actions
here. Do set lang_protect_cleanup_actions.
Jan Hubicka [Thu, 17 May 2001 17:49:34 +0000 (19:49 +0200)]
recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode when calling simplify_subreg.
* recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
when calling simplify_subreg. This is needed to allow replacing
of expression of one mode by expression of different mode.