Age | Commit message (Collapse) | Author | Files | Lines |
|
non-conditional jump to...
* jump.c (jump_optimize_1): When we delete a conditional jump
preceeding a non-conditional jump to effectively the same place,
make sure that the combined jump skips any clobber insns between
the two labels.
Co-Authored-By: DJ Delorie <dj@redhat.com>
From-SVN: r39686
|
|
From-SVN: r39685
|
|
2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
* gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
From-SVN: r39684
|
|
* Makefile.in (toplev.o): Depend on params.h.
(intergate.o): Likewise.
(params.o): New target.
* flags.h (inline_max_insns): Remove.
* integrate.c: Include params.h.
Use MAX_INLINE_INSNS instead of inline_max_insns.
* params.c: New file.
* params.h: Likewise.
* params.def: Likewise.
* toplev.c: Include params.h.
(lang_independent_params): New variable.
(decode_f_option): Use the param machinery instead of setting
max_inline_insns.
(independent_decode_option): Handle "--param name=value".
(main): Register language-independent parameters.
From-SVN: r39683
|
|
From-SVN: r39681
|
|
cp:
* cp-tree.h (setup_vtbl_ptr): Move prototype to semantics.c
section.
* init.c (emit_base_init): Remove incorrect comment about
virtual bases.
* method.c (make_thunk): Fix comment alignment.
From-SVN: r39679
|
|
From-SVN: r39678
|
|
cp:
Kill remnants of this is variable.
* cp-tree.h (flag_this_is_variable): Remove.
* decl2.c (flag_this_is_variable): Remove.
* class.c (fixed_type_or_null): Add cdtor parm. Adjust.
(build_vbase_path): The path is non-static, even in a cdtor.
(resolves_to_fixed_type_p): Add additional return value.
* search.c (init_vbase_pointers): Adjust.
* tree.c (lvalue_p_1): Adjust.
* typeck.c (mark_addressable): Adjust.
From-SVN: r39676
|
|
From-SVN: r39669
|
|
cp:
* pt.c (unify): Don't check cv quals of array types.
testsuite:
* g++.old-deja/g++.pt/deduct6.C: New test.
From-SVN: r39666
|
|
already have the type.
cp:
* tree.c (cp_build_qualified_type_real): Use CP_TYPE_QUALS to
check whether we already have the type.
testsuite:
* g++.old-deja/g++.pt/deduct5.C: New test.
From-SVN: r39665
|
|
From-SVN: r39664
|
|
* stor-layout.c (is_pending_size, put_pending_size): New functions.
(variable_size): Call put_pending_size.
* tree.h (is_pending_size, put_pending_size): Add prototypes.
* fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
sizes list, put newly created SAVE_EXPR there as well.
* gcc.c-torture/execute/20010209-1.c: New test.
* config/ia64/ia64.c (last_group): Only 2 entries are needed.
(errata_find_address_regs): load_group has only 2 entries.
(errata_emit_nops): Likewise. shladd is not problematic.
Clear last_group if nop was emitted.
(fixup_errata): load_group has only 2 entries.
Optimize.
From-SVN: r39663
|
|
From-SVN: r39662
|
|
macros.
* c-lex.c (lex_number): Only warn traditionally for U suffix
outside system macros.
* cppexp.c (parse_number): Similarly.
* cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
* cppmacro.c (struct cpp_macro): New member node.
(parse_args): Only warn about missing rest args if not
a system macro.
(funlike_invocation_p): Similarly for uninvoked funlike macros.
(cpp_sys_objmacro_p): New.
(_cpp_create_definition): Store the node with the macro defn.
Remember if the macro is defined in a system header.
From-SVN: r39661
|
|
* cp-tree.h (CLASSTYPE_DESTRUCTORS): Fix typo in comment.
* call.c (build_op_delete_call): Simplify to remove duplicate
code.
* class.c (clone_function_decl): Don't build the deleting variant
of a non-virtual destructor.
* decl.c (finish_destructor_body): Don't call delete if this is a
non-virtual destructor.
* init.c (build_delete): Explicitly call `operator delete' when
deleting an object with a non-virtual destructor.
From-SVN: r39659
|
|
* java/lang/natClass.cc (getSignature): Don't try to dereference
param_types if it is null. Instead, take this to mean "no parameters".
* java/lang/TreeMap.java (TreeIterator.next): Throw
NoSuchElementException in preference to
ConcurrentModificationException.
(TreeIterator.remove): Throw IllegalStateException in preference to
ConcurrentModificationException.
(SubMap.firstKey): Do a better check for empty SubMap, and if it is,
throw a NoSuchElementException.
(SubMap.lastKey): Likewise.
From-SVN: r39658
|
|
* java/util/TreeMap.java: New file.
* java/util/TreeSet.java: New file.
* Makefile.am: Add TreeMap and TreeSet. Enable WeakHashMap.
* Makefile.in: Rebuilt.
* java/util/HashSet.java (clone): Use constructor instead of calling
clone on itself.
* java/util/SortedSet.java: Sync with classpath.
* java/util/HashMap.java (hash): Use if statement instead of ternary,
for clarity.
Resolves PR libgcj/1758.
Resolves PR java/1684.
From-SVN: r39657
|
|
* configure.in (check_languages): determine languages to check
* Makefile.in (check-c++): alias for check-g++
(check-f77): alias for check-g77
(CHECK_TARGETS): depend on configured languages
From-SVN: r39655
|
|
class access only if `decl' is a TYPE_DECL.
2001-02-13 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (resolve_qualified_expression_name): Try to resolve as
an inner class access only if `decl' is a TYPE_DECL.
(http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00762.html)
From-SVN: r39653
|
|
* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
(sqrtsf2 patterns): Use 'x' instead of 'Y'.
(sqrtextendsfdf2): Disable for SSE2.
From-SVN: r39652
|
|
2001-02-13 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (classdollar_identifier_node): Initialize.
* java-tree.h (enum java_tree_index): New entry
`JTI_CLASSDOLLAR_IDENTIFIER_NODE.'
(classdollar_identifier_node): New macro.
(ID_CLASSDOLLAR_P): Likewise.
* parse.y (build_dot_class_method): Use `classdollar_identifier_node.'
(build_dot_class_method_invocation): Likewise.
(find_applicable_accessible_methods_list): `class$' can't be
inherited.
(http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00760.html)
From-SVN: r39650
|
|
* i386.md (movsfcc_1): Support integer cmove instruction.
(movdfcc_1): Likewise; new splitter.
From-SVN: r39648
|
|
* i386.c (output_fp_compare): Support SSE.
(prepare_fp_compare_args): SSE comparisons always support memory.
* i386.h (TARGET_CMOVE): SSE imply cmove.
* i386.md (cmp?f2): Enable for SSE too.
(cmpfp_i*): Support SSE.
(cmpfp_i_sse): New.
(cmpfp_i_sse_only): New.
(s*, b* fp expanters): Enable for SSE too.
(fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
New patterns.
From-SVN: r39647
|
|
From-SVN: r39646
|
|
* i386.md (sqrt?f2): Change to expander.
(sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
From-SVN: r39645
|
|
* rtlanal.c (find_reg_equal_equiv_note): New function.
* simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
(simplify_gen_relational, simplify_replace_rtx): Likewise.
* rtl.h: Add declarations for above functions.
From-SVN: r39644
|
|
* cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
conditionals.
* defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
* emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
* flow.c (mark_regs_live_at_end): Likewise.
(calculate_global_regs_live): Likewise.
* gcse.c (compute_hash_table): Likewise.
(compute_kill_rd): Likewise.
* resource.c (mark_target_live_regs): Likewise.
* rtl.h (INVALID_REGNUM): New macro.
From-SVN: r39643
|
|
From-SVN: r39642
|
|
* java/io/PipedReader.java (ready): Throw IOException if pipe
closed.
* java/io/FilterReader.java (close): Don't clear `in'.
* java/io/CharArrayReader.java (mark): Throw IOException if stream
closed.
(read, ready, reset, skip): Added exception message.
* java/io/BufferedReader.java (mark, reset, ready, read, skip):
Perform checkStatus check inside synchronized block.
From-SVN: r39641
|
|
From-SVN: r39640
|
|
Fix for PR libgcj/1351:
* posix.cc (_Jv_select): Throw InterruptedIOException if thread is
interrupted.
Include Thread.h and InterruptedIOException.h.
From-SVN: r39639
|
|
2001-02-13 Dirk Mueller <dmuell@gmx.net>
Phil Edwards <pme@sources.redhat.com>
* include/backward/function.h: Do not use rel_ops for older
headers either.
* include/backward/pair.h: Likewise.
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r39637
|
|
* i386.md (fixsfsi2, fixdfdi2): Force operand to register
for SSE.
From-SVN: r39636
|
|
* i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
too.
(fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
(fop_sf_comm_sse, fop_df_comm_sse): New patterns.
(fop_sf_1_sse, fop_df_1_sse): New patterns
(fop_*): Disable float_extend and float patterns for SSE compilation.
* i386.c (output_387_binary_op): Support SSE.
From-SVN: r39635
|
|
* i386.md (dummy_extendsfdf2): Support SSE2
(extendsfdf2): Enable if 80387 or SSE2.
(extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
and no MIX_I387_SSE2
(extendsfdf2_1_sse_only): New pattern.
(truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
of SSE.
(truncdfsf2_1): Support SSE.
(truncdfsf2_2): Support SSE.
(truncdfsf2_2_1_sse): New pattern.
(fixtruncsfsi2): Always use SSE if available.
(fix_truncsfsi_sse): New pattern.
(fix_truncdfsi_sse): New pattern.
(floatsis?f2): Support SSE.
(floatsidf2_i387): New pattern.
(floatsidf2_sse): Likewise.
From-SVN: r39634
|
|
From-SVN: r39633
|
|
* configure.in: Use "have_gnat" variable, not "gnat".
* configure: Regenerated.
From-SVN: r39632
|
|
From-SVN: r39631
|
|
treat UNION_TYPE.
* config/sparc/sparc.c (function_value): Treat all non-record
aggregate types like used to treat UNION_TYPE.
From-SVN: r39629
|
|
* i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
* i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
(MASK_SSE2): New.
(MASK_MIX_SSE_I387): New.
(TARGET_SSE): SSE2 imply SSE.
(TARGET_SSE2, TARGET_MIX_SSE_I387): New.
(TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
(enum reg_class): Add new classes.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
(REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
(CLASS_MAX_NREGS): Use new macros.
(REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
* i386.md (pushsf, movsf): Support SSE.
(pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
splitters to use ANY_FP_REGNO_P.
(movdf_nointeger, movdf_integer): Likewise.
From-SVN: r39628
|
|
From-SVN: r39627
|
|
From-SVN: r39626
|
|
* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
(try_combine): Use it.
From-SVN: r39624
|
|
From-SVN: r39623
|
|
* i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
(PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
(REGISTER_MOVE_COST): Likewise.
* i386-protos.h (ix86_secondary_memory_needed,
ix86_preferred_reload_class, ix86_register_move_cost): Declare.
* i386.c (ix86_secondary_memory_needed,
ix86_preferred_reload_class, ix86_register_move_cost): New function.
From-SVN: r39622
|
|
* i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
(HARD_REGNO_MODE_OK): Move offline to ....
* i386.c (ix86_hard_regno_mode_ok) ... here;
refuse all incorrect modes.
* i386-protos.h (ix86_hard_regno_mode_ok): Declare.
From-SVN: r39621
|
|
* sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
entire operator; replicate that and match_dup the operands.
(cmp_ccx_arith_op_set): Likewise.
(cmp_cc_arith_op_not_set): Likewise.
(cmp_ccx_arith_op_not_set): Likewise.
From-SVN: r39620
|
|
From-SVN: r39617
|
|
* java/io/BlockDataException.java: Removed.
* java/io/ObjectInputStream.java (readObject): Throw
StreamCorruptedException, not BlockDataException.
* Makefile.am: Remove BlockDataException.
* Makefile.in: Rebuild.
From-SVN: r39616
|