Ian Lance Taylor [Tue, 16 Aug 2005 22:07:44 +0000 (22:07 +0000)]
re PR c++/23337 (ICE initializing array of vectors in C++)
./ PR c++/23337
* gimplify.c (gimplify_init_ctor_eval): If we see an element of
vector type, don't try to construct it element by element. Add an
assertion that we use a FIELD_DECL when building a COMPONENT_REF.
testsuite/
PR c++/23337
* g++.dg/ext/vector2.C: New.
Ranjit Mathew [Tue, 16 Aug 2005 18:32:14 +0000 (18:32 +0000)]
More testsuite adjustments for PR java/19870.
* testsuite/libjava.lang/PR19870_2.java: New testcase.
* testsuite/libjava.lang/PR19870_2.out: Expected output for the
new testcase.
* testsuite/libjava.jacks/jacks.xfail: Remove
8.5.2-non-static-member-usage-2 and add 15.12.3-explicit-constructor-9.
Ranjit Mathew [Tue, 16 Aug 2005 18:22:31 +0000 (18:22 +0000)]
re PR java/19870 (gcj -C doesn't generate accessors for private members across nested class boundaries)
PR java/19870
* parse.y (nested_field_access_p): Rename to nested_member_access_p
and expand to handle method accesses across nested classes.
(build_outer_method_access_method): Rename to
build_nested_method_access_method. Minor adjustments to comments.
(resolve_expression_name): Use the newly-renamed
nested_member_access_p method.
(resolve_qualified_expression_name): Likewise.
(patch_method_invocation): Also consider static methods for access
method generation. Minor adjustments to comments.
(maybe_use_access_method): Use the more general
nested_memeber_access_p to determine access across nested class
boundaries. Allow THIS_ARG to be NULL (for static methods).
Richard Earnshaw [Tue, 16 Aug 2005 09:27:52 +0000 (09:27 +0000)]
re PR target/23355 (size optimizer did not eliminateing useless Push and pop instructions at ARM/Thumb machine)
PR target/23355
* arm.c (thumb_compute_save_reg_mask): Use similar logic to
arm_compure_save_reg0_reg12_mask to determine when the PIC register
must be saved.
re PR middle-end/23369 (build_range_check generates wrong code for funcptr comparison)
PR middle-end/23369
* fold-const.c (build_range_check): Disable optimization for function
pointer expressions on targets that require function pointer
canonicalization.
DJ Delorie [Tue, 16 Aug 2005 00:31:39 +0000 (20:31 -0400)]
mov.md (movqi_op): Immediates can't be moved to the stack.
* config/m32c/mov.md (movqi_op): Immediates can't be moved to
the stack.
(movsi_splittable): Allow, but split, moves to the stack.
* config/m32c/m32c.c (m32c_split_move): Always split moves to the
stack.
* cp-tree.h (can_convert_arg, fn_type_unification): New argument.
* call.c (add_template_candidate_real): Pass down 'flags' to
fn_type_unification.
(can_convert_arg): New 'flags' argument. Pass it to call to
implicit_conversion instead of LOOKUP_NORMAL.
(can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.
* class.c (resolve_address_of_overloaded_function): Ditto.
(resolve_address_of_overloaded_function): Ditto.
* decl.c (reshape_init, check_default_argument): Ditto.
* typeck.c (build_ptrmemfunc): Ditto.
* pt.c (type_unification_real): Add 'flags' argument.
(fn_type_unification): Pass 'flags' to type_unification_real.
(type_unification_real): Pass new 'flags' argument to call to
can_convert_arg.
David Edelsohn [Mon, 15 Aug 2005 17:58:58 +0000 (17:58 +0000)]
rs6000.md (QHSI): New mode macro.
* config/rs6000/rs6000.md (QHSI): New mode macro.
(wd): Extend mode attr for QImode and HImode
(dbits): New mode attr.
(zero_extend<mode>di2): Convert to mode macro.
configure.ac: Test for the name of the symbol used for the entry point...
* configure.ac: Test for the name of the symbol used for the entry
point; define ENTRY_POINT to the result.
* configure: Regenerate.
* config.h.in: Regenerate.
* mf-heuristics.c: Replace _start with ENTRY_POINT throughout.
Ulrich Weigand [Sun, 14 Aug 2005 19:38:34 +0000 (19:38 +0000)]
mf-runtime.c (__mf_state_1): Initialize to reentrant.
* mf-runtime.c (__mf_state_1): Initialize to reentrant.
(__mf_init): Set thread state active.
* mf-hooks3.c (__mf_pthread_spawner): Always set thread
state active.
(pthread_create wrapper): Always use thread spawner.
PR fortran/21432.
* gfortran.dg/namelist_print_1.f: New test of functionality of
PRINT namelist.
* gfortran.dg/namelist_print_2.f: New test to check that PRINT
namelist generates error with -std=f95.
Ira Rosen [Sun, 14 Aug 2005 06:28:03 +0000 (06:28 +0000)]
re PR tree-optimization/23320 (ICE in in base_addr_differ_p, at tree-data-ref.c:430)
PR tree-optimization/23320
* tree-data-ref.c (base_addr_differ_p): Add comment. Check
data-refs' types instead of base object nullness. Add check for
pointer type data-refs before first location comparison. Remove
assert.
Andrew Pinski [Sat, 13 Aug 2005 23:44:14 +0000 (23:44 +0000)]
Makefile.in (extra_ldflags_libobjc): New.
2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
* Makefile.in (extra_ldflags_libobjc): New.
(libobjc$(libext).la): Add extra_ldflags_libobjc to the link line.
(libobjc_gc$(libext).la): Likewise.
* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
"-Wl,-single_module".
* configure: Regenerate.
* linking.m (_objcInit): Remove.
Andrew Pinski [Sat, 13 Aug 2005 21:16:04 +0000 (21:16 +0000)]
part of PR testsuite/23348
2005-08-13 Andrew Pinski <pinskia@physics.uc.edu>
part of PR testsuite/23348
* lib/objc-torture.exp: Add -fgnu-runtime and/or -fnext-runtime to each
of the torture options.
* objc/compile/trivial.m: New test.
Paolo Bonzini [Fri, 12 Aug 2005 14:18:46 +0000 (14:18 +0000)]
configure.in: Replace NCN_STRICT_CHECK_TOOL with NCN_STRICT_CHECK_TOOLS...
toplevel:
2005-08-12 Paolo Bonzini <bonzini@gnu.org>
* configure.in: Replace NCN_STRICT_CHECK_TOOL with
NCN_STRICT_CHECK_TOOLS, and likewise for NCN_STRICT_CHECK_TARGET_TOOLS.
Look for alternate names of the target cc and c++
* configure: Regenerate.
config:
2005-08-12 Paolo Bonzini <bonzini@gnu.org>
* config/acx.m4 (NCN_CHECK_TARGET_TOOL, NCN_STRICT_CHECK_TOOL,
NCN_STRICT_CHECK_TARGET_TOOL): Remove.
(NCN_STRICT_CHECK_TOOLS, NCN_STRICT_CHECK_TARGET_TOOLS): New,
based on the deleted macros.
Andreas Krebbel [Fri, 12 Aug 2005 12:24:05 +0000 (12:24 +0000)]
predicates.md (setmem_operand): New predicate.
2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/predicates.md (setmem_operand): New predicate.
(shift_count_operand): Accept ANDs with special constants as
operand.
* config/s390/s390.c (print_shift_count_operand): Skip ANDs
with special constants.
* config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
shift_count_operand with setmem_operand.
Andreas Krebbel [Fri, 12 Aug 2005 12:10:30 +0000 (12:10 +0000)]
s390.c (s390_extract_part, [...]): Type cast added.
2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_extract_part, s390_single_part):
Type cast added.
(s390_const_ok_for_constraint_p): Added SImode to the N constraint.
(s390_output_mi_thunk): Don't use lg on 31 bit.
* config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
Andreas Krebbel [Fri, 12 Aug 2005 12:02:21 +0000 (12:02 +0000)]
s390.c (CONST_OK_FOR_J, [...]): New macros.
2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
(s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
with one of the new macros.
Andreas Krebbel [Fri, 12 Aug 2005 11:58:05 +0000 (11:58 +0000)]
s390.c (s390_split_branches, [...]): Don't set save_return_addr_p.
2005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
Don't set save_return_addr_p.
(s390_register_info): Make clobbered_regs not depending on
save_return_addr_p.
Jakub Jelinek [Thu, 11 Aug 2005 21:22:43 +0000 (23:22 +0200)]
dwarf2out.c (add_location_or_const_value_attribute): Prefer locations gathered by var-tracking in single entry loc_list over...
* dwarf2out.c (add_location_or_const_value_attribute): Prefer
locations gathered by var-tracking in single entry loc_list
over loc_descriptor_from_tree.
Jakub Jelinek [Thu, 11 Aug 2005 21:21:07 +0000 (23:21 +0200)]
dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument, pass it down to loc_descriptor.
* dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
pass it down to loc_descriptor.
(loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
(containing_function_has_frame_base): Move earlier in the file.
(loc_descriptor_from_tree_1): Use containing_function_has_frame_base
instead of always assuming fbreg can't be used.
David Edelsohn [Thu, 11 Aug 2005 21:18:11 +0000 (21:18 +0000)]
altivec.md: Change constraint "m" to "Z".
* config/rs6000/altivec.md: Change constraint "m" to "Z".
* config/rs6000/predicates.md (indexed_or_indirect_operand):
Accept address wrapped in AND for Altivec.
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
Strip AND wrapping offset address for Altivec.