dwarf2asm.c (size_of_encoded_value): New function.
* dwarf2asm.c (size_of_encoded_value): New function.
* dwarf2asm.h: Declare it.
* except.c (output_function_exception_table): Align the TType
array only as wide as the encoding.
* libsupc++/eh_personality.cc: Include unwind-pe.h. Remove
all pointer encoding logic.
(struct lsda_header_info): Add ttype_base.
(get_ttype_entry): Use it instead of a context.
(check_exception_spec): Likewise.
(PERSONALITY_FUNCTION): Initialize ttype_base. Store it in
the c++ exception header for __cxa_call_unexpected.
(__cxa_call_unexpected): Use it.
ia64.c (group_barrier_needed_p): Don't allow calls and jumps to be bundled together.
* config/ia64/ia64.c (group_barrier_needed_p): Don't allow
calls and jumps to be bundled together.
(ia64_reorg): Emit a break after a noreturn call that ends
a function.
* config/ia64/ia64.md (break_f): New.
Neil Booth [Fri, 11 May 2001 23:48:21 +0000 (23:48 +0000)]
c-lex.c (lex_charconst): Convert into a simple wrapper around cpp_interpret_charconst...
* c-lex.c (lex_charconst): Convert into a simple wrapper
around cpp_interpret_charconst, to which most of the code
body is moved.
* cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
(lex): Use cpp_interpret_charconst.
* cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
hex_digit_value): New functions.
(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
* cpplib.h (cpp_interpret_charconst): New prototype.
* Makefile.in: Update.
* config/t-freebsd, config/t-linux, config/t-linux-aout,
config/t-netbsd, config/t-rtems, config/x-linux,
config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
No need to override INSTALL_ASSERT_H.
Mark Mitchell [Fri, 11 May 2001 15:54:19 +0000 (15:54 +0000)]
loop.h (struct movables): Remove `num'.
* loop.h (struct movables): Remove `num'.
* loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
Adjust call to strength_reduce.
(num_unmoved_movables): New function.
(move_movables): Don't set movables->num.
(strength_reduce): Compute the number of instructions in the loop
here, rather than in the caller.
(check_dbra_loop): Always clear reversible_mem_store if there
are any memory sets.
(loop_regs_scan): Don't count instructions here.
(count_insn_in_loop): New function.
Neil Booth [Fri, 11 May 2001 06:38:48 +0000 (06:38 +0000)]
c-common.c (finish_label_expr): New function, lifted from from cp/semantics.c.
* c-common.c (finish_label_expr): New function, lifted from
from cp/semantics.c.
* c-common.h (finish_label_expr, lookup_label): New prototypes.
* c-parse.in: Move 3 blocks of parser code into new functions.
* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
(lookup_label): Remove.
* java/awt/geom/AffineTransform.java
(setToRotation(double,double,double)): New method.
(AffineTransform): Set type to TYPE_GENERAL_TRANSFORM.
(setToShear): Likewise.
Jeffrey A Law [Fri, 11 May 2001 00:23:46 +0000 (00:23 +0000)]
cse.c (cse_insn): Mostly remove first hunk of code which collapsed a computed jump into an...
* cse.c (cse_insn): Mostly remove first hunk of code which collapsed
a computed jump into an unconditional jump.
In second hunk of code for collapsing computed and conditional jumps
into unconditional jumps, reemit the jump in additional cases.
* java/text/SimpleDateFormat.java (computeCenturyStart): New
method.
(defaultCenturyStart): Use it.
(readObject): Likewise.
(SimpleDateFormat): Clear the calendar. Set the grouping on the
number format.
(parse): Copy the calendar before modifying it. Correctly handle
the time zone.
* java/util/Calendar.java (clear): Set field value(s) to 0.
2001-05-10 Jeff Sturm <jsturm@one-point.com>
* Calendar.java (get): Clear areFieldsSet if requested field
is not set.
(set): Unset fields that depend on new value.
Joseph Myers [Thu, 10 May 2001 16:17:07 +0000 (17:17 +0100)]
c-parse.in: Remove many shift/reduce conflicts.
* c-parse.in: Remove many shift/reduce conflicts. Update
%expect values.
(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
typespec_reserved_nonattr, typespec_reserved_attr,
typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
structsp_nonattr, components_notype, component_notype_declarator,
absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
firstparm, setspecs_fp): New
(typed_declspecs, reserved_declspecs, typed_typespecs,
reserved_typespecquals, declmods, typespec, typespecqual_reserved,
typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
declmods_no_prefix_attr, nonempty_type_quals, structsp,
type_quals): Remove. Users updated.
(initdecls, notype_initdecls, after_type_declarator,
parm_declarator, notype_declarator, absdcl1, components, ivars):
Don't allow attributes at the start of a declarator; include them
in the production containing the declarator instead. Always
require type specifiers before trying to redeclare a typedef name.
(typename): Allow for attributes but warn that they are ignored.
(parmlist, firstparm, setspecs_fp): Include attributes in
parmlist; suck them off the parser stack in firstparm using
setspecs_fp.
testsuite:
* gcc.c-torture/compile/20010313-1.c: New test.
Jeffrey A Law [Thu, 10 May 2001 15:15:48 +0000 (15:15 +0000)]
ifcvt.c (merge_if_block): Use any_uncondjump_p...
* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
to determine if a block has an unconditional jump at its end.
* jump.c (jump_optimize_1): When converting a conditional jump
to an unconditional jump, build the jump using gen_jump instead
of just modify operands in-place.
Benjamin Kosnik [Thu, 10 May 2001 08:55:50 +0000 (08:55 +0000)]
libstdc++.exp: Use libgloss.exp.
2001-05-09 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp: Use libgloss.exp. Call
libgloss_link_flags to find crt0.o for targets that use libgloss
instead of newlib.
Change LDFLAGS to LIBS.
Consistently name procedures libstdc++-XXX.
* testsuite/libstdc++.tests/tests.exp: Use new procedure names.
Zack Weinberg [Thu, 10 May 2001 00:07:23 +0000 (00:07 +0000)]
cppinit.c (cpp_post_options): Shut off macro expansion if -fpreprocessed.
* cppinit.c (cpp_post_options): Shut off macro expansion if
-fpreprocessed.
* cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
IN_I directives only if the # is in column 1 and the directive
name begins in column 2.
* cppmain.c (scan_buffer): Insert a space between # and an
identifier, when that identifier is a directive name.
* tradcpp.c (struct file_buf): Add a pointer to the next entry
in the header search path.
(enum node_type): Add T_INCLUDE_NEXT.
(directive_table): Add entry for include_next.
(do_include_next): New function.
(process_include): New routine, broken out of do_include.
(finclude): Insert 'nhd' argument, to be copied into
next_header_dir of the new buffer.
(main): Adjust to match.
* gsyslimits.h, limity.h: Un-indent #include_next.
testsuite:
* gcc.dg/cpp/direct2.c: New test.
* gcc.dg/cpp/direct2s.c: New test.
* gcc.c-torture/execute/920730-1t.c: #undef __GNUC__ at head.
Joseph Myers [Wed, 9 May 2001 14:16:47 +0000 (15:16 +0100)]
objc.texi: Move from ../libobjc/objc-features.texi.
gcc:
* objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
inclusion as a chapter of the GCC manual.
* gcc.texi: Include objc.texi.
* fdl.texi: Use @unnumberedsec for the addendum.
* Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
libobjc:
* objc-features.texi: Move to ../gcc/objc.texi.
* fdl.texi: Remove.
* Makefile.in: Don't generate documentation from
objc-features.texi.
Zack Weinberg [Tue, 8 May 2001 06:13:58 +0000 (06:13 +0000)]
cp-demangle.c (demangle_v3_with_details, [...]): Use K+R style function definition.
* cp-demangle.c (demangle_v3_with_details,
is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style
function definition.
* ternary.c: Use K+R style function definitions. Use PTR, not
void *. Make arguments constant where possible.
* demangle.h: Use PARAMS for all prototypes.
* ternary.h: Use PARAMS for all prototypes. Use PTR, not void *.
Make arguments constant where possible.
* parse.y (fix_constructors): Removed unecessary assignment to
local. Moved assignment to `this$<n>', fixed comments and
indentation.
(build_wfl_wrap): Fixed indentation.
Fixes PR java/2598, java/2579 and java/2658.
* pa.md (interspace_jump): Revise comment.
(builtin_longjmp): Block initial setup insns from delay slot of
interspace branch.
(builtin_setjmp_receiver): New expander to save and restore PIC
register.
Neil Booth [Sat, 5 May 2001 11:12:19 +0000 (11:12 +0000)]
cppfiles.c (struct include_file): New member err_no.
* cppfiles.c (struct include_file): New member err_no.
(find_or_create_entry): Set it.
(open_file): Don't set fds to -2. Instead, use err_no to
remember previous errors, if any.