Tom Tromey [Tue, 2 Oct 2001 13:44:32 +0000 (13:44 +0000)]
prims.cc (_Jv_NewMultiArrayUnchecked): New method.
* prims.cc (_Jv_NewMultiArrayUnchecked): New method.
(_Jv_NewMultiArray): Use it. Check each array dimension.
(_Jv_NewMultiArray): Likewise.
* java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to
`char'.
* java/lang/reflect/natArray.cc (newInstance): Throw
IllegalArgumentException if there are no dimensions.
* config/i386/linux64.h: New spec file for Linux x86-64 support.
* config.gcc: Fix tm_file settings for x86-64.
* config/i386/x86-64.h: New file with OS independent x86-64
definitions.
* config/i386/biarch64.h: New file used to configure compiler
to biarch/64bit compilation.
* config/i386/i386.c: (override_options): Set flags default
for 64bit compilation.
* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
(ix86_expand_int_movcc): Optimize DImode conditional moves with
constants on x86_64.
(ix86_attr_length_immediate_default): Support MODE_DI.
* i386.md (fixdi splitter): Add missing "&& 1" in splitter
condition.
(indirect_jump, tablejump): Turn into expander.
Joseph Myers [Tue, 2 Oct 2001 07:19:47 +0000 (08:19 +0100)]
c-common.c (c_format_attribute_table): Make format and format_arg attributes apply to function types rather than to decls.
* c-common.c (c_format_attribute_table): Make format and
format_arg attributes apply to function types rather than to
decls.
(is_valid_printf_arglist): Construct an attribute list and pass
that to check_function_format rather than a name.
* c-common.h (check_function_format): Adjust prototype.
* c-decl.c (duplicate_decls): Preserve attributes from type of
built-in decl when allowing for harmless conflict in types.
* c-format.c (record_function_format,
record_international_format, function_format_list,
international_format_info, international_format_list): Remove.
(function_format_info): Remove next, name and assembler_name.
Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
(decode_format_attr): New.
(handle_format_attribute): Handle receiving a type rather than a
decl. Call decode_format_attr. Store format information in a
function_format_info.
(handle_format_arg_attribute): Correct comment. Handle receiving
a type rather than a decl. Use unsigned HOST_WIDE_INT for
arg_num.
(check_format_info_recurse, check_format_info_main): Take argument
numbers as unsigned HOST_WIDE_INT.
(check_function_format): Take a list of attributes from the
function type rather than a name or assembler name. Check for
format attributes in that list and the attributes on the type of
the current function rather than looking through
function_format_list.
(check_format_info): Use unsigned HOST_WIDE_INT for argument
numbers.
(check_format_info_recurse): Take format_arg attributes from the
type of the function calls rather than using
international_format_list. Allow for multiple format_arg
attributes.
* c-typeck.c (build_function_call): Pass type attributes to
check_function_format rather than name or assembler name. Don't
require there to be a name or assembler name to check formats.
cp:
* call.c (build_over_call), typeck.c (build_function_call_real):
Pass type attributes to check_function_format rather than name or
assembler name. Don't require there to be a name or assembler
name to check formats.
testsuite:
* g++.dg/warn/format2.C, gcc.dg/format/attr-7.c,
gcc.dg/format/multattr-1.c, gcc.dg/format/multattr-2.c,
gcc.dg/format/multattr-3.c: New tests.
* gcc.dg/format/attr-3.c: Update expected error texts. Remove
tests for format attributes on function pointers being rejected.
Dale Johannesen [Tue, 2 Oct 2001 03:36:45 +0000 (03:36 +0000)]
rs6000.h (enum processor_type): Add support for 7400 (G4) and 7450.
2001-10-01 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.h (enum processor_type): Add support
for 7400 (G4) and 7450.
(RTX_COSTS): Ditto.
* config/rs6000/rs6000.c (rs6000_override_options): Ditto.
(rs6000_issue_rate): Ditto.
(rs6000_adjust_cost): Fix cycle counts for compares.
(debug_stack_info): Fix an obvious typo.
* config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
* doc/invoke.texi: Document.
* config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
for Darwin.
(PROCESSOR_DEFAULT): Ditto.
* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
(fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
later recursive make invocation.
Richard Kenner [Mon, 1 Oct 2001 23:22:24 +0000 (23:22 +0000)]
alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
Loop through NOPs, placeholders, and components.
Don't go through NOPs if change mode.
(record_alias_subset): Do nothing if SUBSET and SET are the same.
* emit-rtl.c (set_mem_alias_set): Enable check.
* expr.c (find_placeholder): New function.
(expand_expr, case PLACEHOLDER_EXPR): Use it.
(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
to modify it and avoid unneeded copies.
* expr.h (expand_expr): Always define.
(find_placeholder): New declaration.
Stephane Carrez [Mon, 1 Oct 2001 13:33:55 +0000 (15:33 +0200)]
m68hc11.md ("add-split"): Fix add split when operand 2 is the stack pointer.
* config/m68hc11/m68hc11.md ("add-split"): Fix add split when
operand 2 is the stack pointer.
("addr-peephole"): Fix address computation peephole when operand 2
is the stack pointer.
Richard Kenner [Mon, 1 Oct 2001 11:00:47 +0000 (11:00 +0000)]
function.c (keep_stack_depressed): Don't use delete_insn.
* function.c (keep_stack_depressed): Don't use delete_insn.
* expr.h (set_mem_alias_set): Move decl to here.
* rtl.h (mem_attrs): New typedef and struct.
(union rtunion_def): Add field for mem_attrs.
(X0MEMATTR, MEM_ATTRS): New macros.
(MEM_ALIAS_SET): Use MEM_ATTRS.
(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
(set_mem_alias_set): Delete decl from here.
* alias.c (set_mem_alias_set): Delete from here.
* emit-rtl.c (mem_attrs_htab): New variable.
(rtx_htab_mark, rtx_htab_mark_1): Deleted.
(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
(mem_attrs_mark, get_mem_attrs): Likewise.
(gen_rtx_MEM): Clear MEM_ATTRS.
(set_mem_attributes): Move to here.
(set_mem_alias_set): Likewise, and call get_mem_attrs.
(init_emit_once): const_int_htab now deletable htab.
Initialize mem_attrs_htab.
* explow.c (set_mem_attributes): Delete from here.
* function.c (put_var_into_stack): Clear MEM_ATTRS.
(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
* reload1.c (reload): Rework changing REG to MEM.
* aclocal.m4: Get definition of libtool.
* Makefile.in: Use libtool.
* configure.in: Use libtool.
* configure: Regenerated.
* libF77/Makefile.in: Use libtool; treat main program contained in
libF77/main.c specially.
* libF77/configure.in: Use libtool.
* libF77/configure: Regenerated.
* libI77/Makefile.in: Use libtool.
* libI77/configure.in: Use libtool.
* libI77/configure: Regenerated.
* libU77/Makefile.in: Use libtool.
* libU77/configure.in: Use libtool.
* libU77/configure: Regenerated.
* libU77/date_.c: Adapt for -fPIC compiling.
* libU77/vxtidate_.c: Ditto.
* config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
("tsthi_1"): Avoid allocation in register y.
("*movqi_68hc12"): Reorganize and fix constraints.
("zero_extendqisi2"): Prefer d over x and y for operand 1.
("addqi3"): Likewise.
("addhi3"): Fix constraints.
("*logicalhi3_zexthi"): Disparage soft registers.
re PR libgcj/4383 (file: protocol not supported in URLConnection?)
PR libgcj/4383
* gnu/gcj/protocol/file/Connection.java (connect): Throw
FileNotFoundException if appropriate.
* gnu/gcj/protocol/file/Handler.java (openConnection): Throw an
IOException if we got a file: url with a hostname. Comment out protocol
switch to ftp for now.
* java/net/URL.java (URL): Include protocol name in exception
message
when handler can't be found.
* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
update md_exec_prefix.
(UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
to string constant.
* config/s390/s390.c (check_and_change_labels): Preserve CC mode
when converting conditional branches to far branches.
* config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
cmpint_di): Use CCSmode instead of CCUmode.
* config/s390/s390.c (legitimate_la_operand_p): New.
* config/s390/s390-protos.h (legitimate_la_operand_p): Add.
* config/s390/s390.md (movsi): Convert load address patterns to
arithmetic operations when necessary.
(addaddr_picR, addaddr_picL, addaddr_picN): Removed.
(do_la): Renamed to *do_la and use legitimate_la_operand_p.
(*do_la_reg_0): Don't use before reload.
* config/s390/s390.c (legitimize_address): Make more efficient
use of two-register addressing mode.
* config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
with -mno-backchain in some corner cases.
* config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
reload.c (find_reloads): Mark new USE insns with QImode.
* reload.c (find_reloads): Mark new USE insns with QImode.
(find_reloads_toplev, find_reloads_address, subst_reg_equivs,
find_reloads_subreg_address): Likewise.
* regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
encountered.
* reload1.c (reload_combine_note_use): Likewise, inside USEs and
CLOBBERs.
(reload): Make sure there are no USEs with mode other than
VOIDmode. At the end, remove those marked with QImode.
Per Bothner [Sat, 29 Sep 2001 18:22:05 +0000 (11:22 -0700)]
cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
* cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
* Makefile.in (includedir): Rename to local_includedir.
(includedir): Define as $(prefix)/include.
* config.in (PREFIX_INCLUDE_DIR): New variable.
* configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
* configure.target (LIMITSH): Set for cris.
(cpu_include_dir): Set for cris-*-*.
* config/cpu/cris/bits/atomicity.h: New file.
* config/cpu/cris/bits/limits.h: New file.
cpplex.c (cpp_output_token): Use a putc loop for SPELL_OPERATOR, and fwrite for SPELL_IDENT.
* cpplex.c (cpp_output_token): Use a putc loop for
SPELL_OPERATOR, and fwrite for SPELL_IDENT.
* configure.in: Detect fwrite_unlocked and fprintf_unlocked.
* configure, config.in: Regenerate.
* system.h: Replace fwrite and fprintf with their unlocked
variants if available.
Phil Edwards [Thu, 27 Sep 2001 22:44:24 +0000 (22:44 +0000)]
*: Add Doxygen hooks.
2001-09-27 Phil Edwards <pme@gcc.gnu.org>
* include/std/*: Add Doxygen hooks.
* docs/doxygen/Intro.3: New file, general intro to the man pages.
* docs/doxygen/mainpage.doxy: Formatting tweaks. List our own links
rather than using a generated index.
* docs/doxygen/user.cfg.in: Disable the index, enable man pages.
* docs/doxygen/run_doxygen: Massage the generated man pages, using...
* docs/doxygen/stdheader.cc: ...this new file.
DJ Delorie [Thu, 27 Sep 2001 19:44:32 +0000 (15:44 -0400)]
configure.in: Don't use in-tree texinfo, because libiberty must be built before it.
* configure.in: Don't use in-tree texinfo, because libiberty must
be built before it. Check for makeinfo version 4 or higher.
* functions.texi: Regenerate.
loop-2e.x: This is a manifestation of a long-standing bug on i686, apparently.
* gcc.c-torture/execute/loop-2e.x: This is a manifestation of a
long-standing bug on i686, apparently.
* gcc.c-torture/execute/loop-2c.x: New file.
* gcc.c-torture/execute/loop-2d.x: New file.
* gcc.c-torture/execute/loop-3c.x: New file.
* parse.y (check_final_variable_indirect_assignment): For
COMPOUND_EXPR, return only if finals were found initialized
properly, if not, keep on checking.
(check_final_variable_global_assignment_flag): New local
error_found, set when appropriate and used to decide whether to
report uninitialized finals. Fixed typo in comment.
Tom Tromey [Thu, 27 Sep 2001 16:49:13 +0000 (16:49 +0000)]
IdentityHashMap.java (containsKey): Use getHash.
* java/util/IdentityHashMap.java (containsKey): Use getHash.
(get): Likewise.
(put): Likewise.
(remove): Likewise.
(getHash): New method.
(tombstone, emptyslot): Now static final.
(put): Correctly determine when to rehash, and correctly rehash.
(containsKey, remove): Test against table length with `>='.
Neil Booth [Wed, 26 Sep 2001 21:44:35 +0000 (21:44 +0000)]
cpphash.h (struct cpp_pool): Remove locks and locked.
* cpphash.h (struct cpp_pool): Remove locks and locked.
(struct cpp_context): Add member buff.
(struct cpp_reader): Remove member argument_pool.
(_cpp_lock_pool, _cpp_unlock_pool): Remove.
* cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
* cpplex.c (chunk_suitable): Remove pool argument.
(MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
(new_buff, _cpp_extend_buff): Update.
(_cpp_get_buff): Fix silly pointer bug. Be more selective about
which buffer is returned.
(_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
(_cpp_lock_pool, _cpp_unlock_pool): Remove.
* cppmacro.c (lock_pools, unlock_pools): Remove.
(push_ptoken_context): Take a _cpp_buff.
(enter_macro_context): Pool locking removed.
(replace_args): Use a _cpp_buff for the replacement list with
arguments replaced.
(push_token_context): Clear buff.
(expand_arg): Use _cpp_pop_context.
(_cpp_pop_context): Free a context's buffer, if any.