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.
re PR libfortran/20006 ($ format extension doesn't work)
PR libfortran/20006
* gfortran.h: Add is_main_program member to symbol_attribute.
* trans-decl: Add a gfor_fndecl_set_std tree.
(gfc_build_builtin_function_decls): Create it.
(gfc_generate_function_code): Add this call at the beginning of
the main program.
* trans.c (gfc_generate_code): Move main_program and attr.
* trans.h: Add declaration for gfor_fndecl_set_std.
* Makefile.am: Add file runtime/compile_options.c.
* Makefile.in: Regenerate.
* libgfortran.h: Create structure compile_options_t. Define the
compile_options variable and GFC_STD_ macros.
* runtime/compile_options.c: New file.
* runtime/error.c (notify_std): New function.
* runtime/main.c (init): Call init_compile_options during
initialization.
* io/format.c: Use the new notify_std function for the $
descriptor extension.
* gfortran.dg/runtime_warning_1.f90: New test.
Co-Authored-By: Steven Bosscher <stevenb@suse.de>
From-SVN: r102990
Nathan Sidwell [Thu, 11 Aug 2005 09:23:57 +0000 (09:23 +0000)]
re PR c++/23219 (ICE: Segmentation fault in decl_namespace_context)
cp:
PR c++/23219
* name-lookup.c (pushtag): Process the template type before
altering the identifier lookup fields. Remove unreachable code
creating an empty stub decl.
testsuite:
PR c++/23219
* g++.dg/parse/crash28.C: New.
Thomas Koenig [Wed, 10 Aug 2005 20:16:29 +0000 (20:16 +0000)]
re PR libfortran/22143 (missing kinds 1 and 2 for eoshift and cshift)
2005-08-10 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/22143
gfortran.h: Declare new function gfc_resolve_dim_arg.
resolve.c: New function gfc_resolve_dim_arg.
iresolve.c (gfc_resolve_all): Use gfc_resolve_dim_arg.
(gfc_resolve_any): Likewise.
(gfc_resolve_count): Likewise.
(gfc_resolve_cshift): Likewise. If the kind of shift is less
gfc_default_integer_kind, convert it to default integer type.
(gfc_resolve_eoshift): Likewise.
(gfc_resolve_maxloc): Use gfc_resolve_dim_arg.
(gfc_resolve_maxval): Likewise.
(gfc_resolve_minloc): Likewise.
(gfc_resolve_minval): Likewise.
(gfc_resolve_product): Likewise.
(gfc_resolve_spread): Likewise.
(gfc_resolve_sum): Likewise.
2005-08-10 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/22143
gfortran.dg/shift-kind.f90: New testcase.