Jason Merrill [Sat, 27 Oct 2007 15:19:45 +0000 (11:19 -0400)]
re PR c++/5247 (Memory eating infinite loop on default parameter in constructor which is reference to class)
PR c++/5247
* call.c (convert_default_arg): Detect recursion.
From-SVN: r129681
Tobias Burnus [Sat, 27 Oct 2007 14:43:53 +0000 (16:43 +0200)]
re PR fortran/33862 (Support .FTN file extension for Fortran fixed-format source files)
2007-10-27 Tobias Burnus <burnus@net-b.de>
PR fortran/33862
* lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
* options.c (form_from_filename): Support .ftn extension.
* gfortran.texi: Document support of .for and .ftn file extension.
From-SVN: r129680
Tobias Burnus [Sat, 27 Oct 2007 14:07:14 +0000 (16:07 +0200)]
mk-kinds-h.sh: Change LANG=C to LC_ALL=C.
2007-10-27 Tobias Burnus <burnus@net-b.de>
* mk-kinds-h.sh: Change LANG=C to LC_ALL=C.
From-SVN: r129679
Paolo Carlini [Sat, 27 Oct 2007 12:07:04 +0000 (12:07 +0000)]
stl_algobase.h (struct __miter_base): Add.
2007-10-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (struct __miter_base): Add.
(__copy_move_a2, __copy_move_backward_a2): Add.
(copy, copy_backward, move, move_backward): Adjust, call *a2 helpers.
* include/bits/cpp_type_traits.h (struct __is_move_iterator): Add.
* include/bits/streambuf_iterator.h (__copy_move_a<>): Rename
to __copy_move_a2.
* include/std/streambuf (friend __copy_move_a<>): Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: New.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* include/bits/stl_iterator.h (__normal_iterator<>::_Iterator_type):
Rename to iterator_type.
From-SVN: r129678
Jakub Jelinek [Sat, 27 Oct 2007 11:58:26 +0000 (13:58 +0200)]
re PR c++/33842 (Broken diagnostic: 'offsetof_expr' not supported by dump_expr)
PR c++/33842
* cxx-pretty-print.h (pp_cxx_offsetof_expression): New prototype.
* cxx-pretty-print.c (pp_cxx_primary_expression): Handle
OFFSETOF_EXPR.
(pp_cxx_offsetof_expression_1, pp_cxx_offsetof_expression): New
functions.
* error.c (dump_expr): Handle OFFSETOF_EXPR.
* g++.dg/template/error34.C: New test.
From-SVN: r129677
Uros Bizjak [Sat, 27 Oct 2007 11:54:19 +0000 (13:54 +0200)]
ivopts-1.C: Also search for "offset:
4294967292".
* g++.dg/tree-ssa/ivopts-1.C: Also search for "offset:
4294967292".
From-SVN: r129676
Richard Guenther [Sat, 27 Oct 2007 11:10:09 +0000 (11:10 +0000)]
re PR tree-optimization/33870 (miscompiles sqlite)
2007-10-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33870
* tree-ssa-operands.c (add_vars_for_offset): Reduce code
duplication. Remove redundant call to access_can_touch_variable.
(add_vars_for_bitmap): New helper for recursing over MPT contents.
(add_virtual_operand): Use it.
* gcc.dg/tree-ssa/alias-15.c: New testcase.
* gcc.c-torture/execute/pr33870.c: Likewise.
From-SVN: r129675
Jerry DeLisle [Sat, 27 Oct 2007 00:57:26 +0000 (00:57 +0000)]
re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33162
* gfortran.dg/argument_checking_9.f90: New test.
From-SVN: r129674
Jerry DeLisle [Sat, 27 Oct 2007 00:54:20 +0000 (00:54 +0000)]
re PR fortran/33162 (INTRINSIC functions as ACTUAL argument)
2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33162
* intrinsic.h: Add prototypes for four new functions, gfc_check_datan2,
gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd.
* intrinsic.c (add_functions): Add double precision checks for dabs,
dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1,
dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma,
dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh.
Add real check dprod.
* check.c (gfc_check_datan2): New function to check for double precision
argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto.
From-SVN: r129673
Paolo Carlini [Sat, 27 Oct 2007 00:41:21 +0000 (00:41 +0000)]
throw_allocator.h (throw_allocator<>:: construct<>(pointer, _Args&&...)): Add.
2007-10-26 Paolo Carlini <pcarlini@suse.de>
* include/ext/throw_allocator.h (throw_allocator<>::
construct<>(pointer, _Args&&...)): Add.
* include/ext/pool_allocator.h (__pool_alloc<>::
construct<>(pointer, _Args&&...)): Likewise.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* include/ext/bitmap_allocator.h (bitmap_allocator<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* include/ext/new_allocator.h (new_allocator<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* include/ext/malloc_allocator.h (malloc_allocator<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* include/ext/array_allocator.h (array_allocator<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* include/ext/mt_allocator.h (__mt_alloc<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* testsuite/util/testsuite_allocator.h (tracker_allocator<>::
construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
(uneq_allocator<>::construct<>(pointer, _Args&&...)): Add.
(construct(pointer, const _Tp&)): Cast pointer to void*.
* testsuite/ext/mt_allocator/variadic_construct.cc: New.
* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
From-SVN: r129672
John David Anglin [Sat, 27 Oct 2007 00:21:02 +0000 (00:21 +0000)]
re PR fortran/31608 (wrong types in character array/scalar binop)
PR fortran/31608
* pa.h (ASM_PN_FORMAT): Delete define.
From-SVN: r129671
GCC Administrator [Sat, 27 Oct 2007 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129669
Janis Johnson [Fri, 26 Oct 2007 22:03:57 +0000 (22:03 +0000)]
invoke.texi (Option Summary, [...]): Remove -fbounds-check.
* doc/invoke.texi (Option Summary, optimizations): Remove
-fbounds-check. Add -fassociative-math, -freciprocal-math,
-ftree-vrp and -funit-at-a-time. Change -fno-split-wide-types to
-fsplit-wide-types to match later entry. Break up a long line.
(Option Summary, code gen options) Add -fno-stack-limit. Add
missing @gol to the end of a line.
(Optimization Options): Remove -fbounds-check, which is also
documented under Code Generation Options. Remove =n from
index entry for -ftree-parallelize-loops. Change -fno-cprop-registers
to -fcprop-registers to match other options, and say when it is
enabled rather than disabled. Remove extra index entry for
-fno-cx-limited-range. Add index entries for -fstack-protector
and -fstack-protector-all.
(Code Gen Options): Add index entry for -ftls-model.
From-SVN: r129664
Jerry DeLisle [Fri, 26 Oct 2007 21:59:07 +0000 (21:59 +0000)]
invoke.texi: Fix typo in -fmax-errors=.
2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* invoke.texi: Fix typo in -fmax-errors=.
From-SVN: r129663
Anatoly Sokolov [Fri, 26 Oct 2007 21:36:25 +0000 (01:36 +0400)]
avr.c (avr_OS_task_function_p): Add new function.
* config/avr/avr.c (avr_OS_task_function_p): Add new function.
(avr_regs_to_save): Handle functions with 'OS_task' attribute.
(avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
expand_epilogue, output_movhi): Don't handle 'main' function.
(avr_attribute_table): Add 'OS_task' function attribute.
* config/avr/avr.h (machine_function): Remove 'is_main' field, add
'is_OS_task' field.
* config/avr/avr.md (return_from_main_epilogue): Remove insn.
(return_from_epilogue, return_from_interrupt_epilogue): Don't handle
'main' function.
* config/avr/avr.opt (minit-stack): Remove.
From-SVN: r129662
Eric Botcazou [Fri, 26 Oct 2007 21:20:36 +0000 (21:20 +0000)]
tree-nested.c (get_trampoline_type): Fix thinko.
* tree-nested.c (get_trampoline_type): Fix thinko.
From-SVN: r129661
Jason Merrill [Fri, 26 Oct 2007 19:54:10 +0000 (15:54 -0400)]
re PR c++/24791 (ICE on invalid instantiation of template's static member)
PR c++/24791
* pt.c (get_template_info): New fn.
(template_class_depth): Use it.
(push_template_decl_real): Check that the template args of the
definition match the args of the previous declaration.
From-SVN: r129660
Douglas Gregor [Fri, 26 Oct 2007 19:34:03 +0000 (19:34 +0000)]
re PR c++/33601 (ICE with pointers to members using "const C" as the class identifier)
2007-10-26 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33601
* tree.c (build_offset_type): Build canonical type based on the
TYPE_MAIN_VARIANT of the base type.
2007-10-26 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/other/pr33601.C: New.
From-SVN: r129659
Tobias Burnus [Fri, 26 Oct 2007 19:01:42 +0000 (21:01 +0200)]
mk-kinds-h.sh: Add "LANG=C".
2007-10-26 Tobias Burnus <burnus@net-b.de>
* mk-kinds-h.sh: Add "LANG=C".
From-SVN: r129658
Paolo Carlini [Fri, 26 Oct 2007 18:32:41 +0000 (18:32 +0000)]
re PR c++/31988 (new operator should not permit default first parameter)
cp/
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31988
* decl2.c (coerce_new_type): Do not allow a default argument for
the first parameter.
testsuite/
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31988
* g++.dg/init/new25.C: New.
From-SVN: r129657
Douglas Gregor [Fri, 26 Oct 2007 17:53:56 +0000 (17:53 +0000)]
re PR c++/33839 (ICE with decltype)
2007-10-26 Douglas Gregor <doug.gregor@gmail.com>
PR c++/33839
* parser.c (cp_parser_decltype): Return ERROR_MARK_NODE if we
don't see the leading '('. Only lookup names if we get an
IDENTIFIER_NODE.
2007-10-26 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/pr33839.C: New.
From-SVN: r129656
Benjamin Kosnik [Fri, 26 Oct 2007 14:38:12 +0000 (14:38 +0000)]
unordered_map: Fix for parallel mode.
2007-10-26 Benjamin Kosnik <bkoz@redhat.com>
* include/std/unordered_map: Fix for parallel mode.
* include/std/unordered_set: Same.
From-SVN: r129654
Daniel Jacobowitz [Fri, 26 Oct 2007 12:19:34 +0000 (12:19 +0000)]
reorg.c (emit_delay_sequence): Move insn locator from the first insn to the sequence.
* reorg.c (emit_delay_sequence): Move insn locator from the
first insn to the sequence.
From-SVN: r129651
Jakub Jelinek [Fri, 26 Oct 2007 11:57:46 +0000 (13:57 +0200)]
re PR c++/33744 (function-style cast and '>' not allowed in template argument)
PR c++/33744
* parser.c (cp_parser_parenthesized_expression_list): Set
greater_than_is_operator_p to true in between the parens.
* g++.dg/template/arg6.C: New test.
From-SVN: r129648
Paolo Carlini [Fri, 26 Oct 2007 09:57:12 +0000 (09:57 +0000)]
re PR c++/31747 (ICE combining static and extern)
cp/
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31747
* decl.c (grokdeclarator): In case of conflicting specifiers
just return error_mark_node.
testsuite/
2007-10-26 Paolo Carlini <pcarlini@suse.de>
PR c++/31747
* g++.dg/parse/crash39.C: New.
From-SVN: r129647
Uros Bizjak [Fri, 26 Oct 2007 08:33:39 +0000 (10:33 +0200)]
ivopts-1.C: Remove xfail on the search for "&x\\\[5\\\]" pattern.
* g++.dg/tree-ssa/ivopts-1.C: Remove xfail on the search for
"&x\\\[5\\\]" pattern. Search for "offset: 0x0f+fc" insetad of
"offset: -4B".
From-SVN: r129646
Ollie Wild [Fri, 26 Oct 2007 08:19:14 +0000 (08:19 +0000)]
expr.c (cxx_expand_expr): Removed.
gcc/cp/
* expr.c (cxx_expand_expr): Removed.
* cp-tree.h (exx_expand_expr): Removed.
* cp-objcp-common.h (LANK_HOOKS_EXPAND_EXPR): Replace cxx_expand_expr
with c_expand_expr.
From-SVN: r129645
Samuel Tardieu [Fri, 26 Oct 2007 07:08:05 +0000 (09:08 +0200)]
ipa-pure-const.c (check_decl): Return immediately when pure_const_state has been set to IPA_NEITHER.
* ipa-pure-const.c (check_decl): Return immediately when
pure_const_state has been set to IPA_NEITHER.
From-SVN: r129644
GCC Administrator [Fri, 26 Oct 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129642
David Daney [Fri, 26 Oct 2007 00:06:51 +0000 (00:06 +0000)]
* g++.dg/tree-ssa/copyprop-1.C: Remove xfail.
From-SVN: r129639
Paolo Carlini [Thu, 25 Oct 2007 23:42:49 +0000 (23:42 +0000)]
re PR c++/33843 (Broken diagnostic: 'bit_not_expr' not supported by pp_cxx_unqualified_id)
2007-10-25 Paolo Carlini <pcarlini@suse.de>
PR c++/33843
* cxx-pretty-print.c (pp_cxx_unqualified_id): Deal with BIT_NOT_EXPR.
2007-10-25 Paolo Carlini <pcarlini@suse.de>
PR c++/33843
* g++.dg/template/error32.C: New.
From-SVN: r129637
Francois-Xavier Coudert [Thu, 25 Oct 2007 23:32:07 +0000 (23:32 +0000)]
libgfortran.h (GFC_REAL_*_HUGE, [...]): Remove.
* libgfortran.h (GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS,
GFC_REAL_*_RADIX): Remove.
* mk-kinds-h.sh: Define GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS and
GFC_REAL_*_RADIX. Don't define GFC_REAL_LARGEST_FORMAT and
GFC_REAL_LARGEST.
From-SVN: r129636
Francois-Xavier Coudert [Thu, 25 Oct 2007 23:27:12 +0000 (23:27 +0000)]
re PR fortran/29784 ([doc] No I/O conversion of logical/integer)
PR fortran/29784
* gfortran.texi: Document that there is no logical/integer
conversion performed during I/O operations.
From-SVN: r129635
Doug Evans [Thu, 25 Oct 2007 21:07:12 +0000 (21:07 +0000)]
Update my email address.
From-SVN: r129633
Jakub Jelinek [Thu, 25 Oct 2007 20:25:12 +0000 (22:25 +0200)]
re PR libgomp/33275 (Transient libgomp.fortran/omp_parse3.f90 -O0 failure)
PR libgomp/33275
* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
Make x and y integers rather than (implicit) reals. Add private (j)
clause to the last omp parallel.
From-SVN: r129631
Andreas Tobler [Thu, 25 Oct 2007 20:22:40 +0000 (20:22 +0000)]
Makefile.am (parallel_headers): Remove timing.h.
2007-10-25 Andreas Tobler <a.tobler@schweiz.org>
* include/Makefile.am (parallel_headers): Remove timing.h.
* include/Makefile.in: Regenerate.
From-SVN: r129630
Johannes Singler [Thu, 25 Oct 2007 17:07:56 +0000 (17:07 +0000)]
multiway_merge.h: Removed Timing<inactive_tag>
2007-10-25 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h: Removed Timing<inactive_tag>
* include/parallel/random_shuffle.h: Same
* include/parallel/set_operations.h: Same
* include/parallel/tree.h: Same
* include/parallel/multiway_mergesort.h: Same
* include/parallel/timing.h: Removed completely
From-SVN: r129629
Ira Rosen [Thu, 25 Oct 2007 16:41:45 +0000 (16:41 +0000)]
re PR tree-optimization/33833 (ICE in build2_stat, at tree.c:3110 at -O3, tree-vectorizer)
PR tree-optimization/33833
* tree-vect-analyze.c (vect_analyze_data_refs): Use POINTER_PLUS_EXPR
and convert init to sizetype in inner_base construction.
From-SVN: r129628
David Daney [Thu, 25 Oct 2007 16:11:27 +0000 (16:11 +0000)]
* gcc.dg/tree-ssa/
20040204-1.c: Un-xfail for mips*-*-*.
From-SVN: r129627
Richard Guenther [Thu, 25 Oct 2007 12:38:38 +0000 (12:38 +0000)]
tree-flow.h (mem_sym_stats): Remove.
2007-10-25 Richard Guenther <rguenther@suse.de>
* tree-flow.h (mem_sym_stats): Remove.
(dump_mem_sym_stats_for_var): Declare.
* tree-dfa.c (dump_variable): Call dump_mem_sym_stats_for_var.
(mem_sym_stats): Move ...
* tree-ssa-alias.c (mem_sym_stats): ... here and make it static.
(mem_sym_score): Rename from ...
(pscore): ... this. Remove.
(dump_mem_sym_stats_for_var): New function. Dump the score, but
not the frequencies.
(compare_mp_info_entries): Make sort stable by disambiguating
on DECL_UID.
From-SVN: r129625
Paolo Carlini [Thu, 25 Oct 2007 10:11:58 +0000 (10:11 +0000)]
stl_algo.h (__lg<>(_Size)): Slightly tweak.
2007-10-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (__lg<>(_Size)): Slightly tweak.
(__lg(int), __lg(long), __lg(long long)): Add, overloads
exploiting __builtin_clz*.
From-SVN: r129624
Ira Rosen [Thu, 25 Oct 2007 07:25:55 +0000 (07:25 +0000)]
re PR tree-optimization/33866 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-transform.c:1937)
PR tree-optimization/33866
* tree-vect-transform.c (vectorizable_store): Check operands of all the
stmts in the group of strided accesses. Get def stmt type for each store
in the group and pass it to vect_get_vec_def_for_stmt_copy ().
From-SVN: r129623
Uros Bizjak [Thu, 25 Oct 2007 05:41:37 +0000 (07:41 +0200)]
constraints.md (Y0): Rename register constraint to Yz.
* config/i386/constraints.md (Y0): Rename register constraint to Yz.
(Yt): Rename register constraint to Y2.
* config/i386/sse.md: Use renamed register constraints.
* config/i386/mmx.md: Ditto.
* config/i386/i386.md: Ditto.
* config/i386/i386.md (*dummy_extendsfdf2): Fix operand 1 constraint.
From-SVN: r129622
Ben Elliston [Thu, 25 Oct 2007 01:19:52 +0000 (01:19 +0000)]
MAINTAINERS (mercury): Remove entry.
* MAINTAINERS (mercury): Remove entry.
(Write After Approval): Add Fergus Henderson <fjh@cs.mu.oz.au>.
From-SVN: r129621
Chao-ying Fu [Thu, 25 Oct 2007 01:02:35 +0000 (01:02 +0000)]
dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
* dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or
DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
From-SVN: r129620
GCC Administrator [Thu, 25 Oct 2007 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129618
Samuel Tardieu [Wed, 24 Oct 2007 21:49:27 +0000 (21:49 +0000)]
ipa-struct-reorg.c (replace_field_acc): Make it clear to the compiler that wr.wrap and wr.domain are initialized in any...
2007-10-24 Samuel Tardieu <sam@rfc1149.net>
Olga Golovanevsky <olga@il.ibm.com>
* ipa-struct-reorg.c (replace_field_acc): Make it clear to
the compiler that wr.wrap and wr.domain are initialized in
any case.
2007-10-24 Samuel Tardieu <sam@rfc1149.net>
* ipa-struct-reorg.c (sum_counts): Use HOST_WIDEST_PRINT_DEC
to print gcov_type values.
Co-Authored-By: Olga Golovanevsky <olga@il.ibm.com>
From-SVN: r129615
Eric B. Weddington [Wed, 24 Oct 2007 21:00:41 +0000 (21:00 +0000)]
avr.h: Do not include progmem_section definition when building with IN_TARGET_LIBS.
* config/avr/avr.h: Do not include progmem_section definition when
building with IN_TARGET_LIBS.
From-SVN: r129614
Uros Bizjak [Wed, 24 Oct 2007 20:57:14 +0000 (22:57 +0200)]
Forgot one file from my previous commit.
From-SVN: r129613
Uros Bizjak [Wed, 24 Oct 2007 20:55:28 +0000 (22:55 +0200)]
pr11001-*.c: Remove -m32 from compile flags.
* gcc.target/i386/pr11001-*.c: Remove -m32 from compile flags.
Add -w to compile flags to suppress "call-clobbered register" warnings
and remove dg-warning directives.
From-SVN: r129612
Uros Bizjak [Wed, 24 Oct 2007 20:23:35 +0000 (22:23 +0200)]
sms-2.c: Cleanup sms dump file.
* gcc.dg/sms-2.c: Cleanup sms dump file.
* gcc.dg/tree-prof/tracer-1.c: Cleanup tracer dump file after the
profile-use step.
From-SVN: r129611
Jason Merrill [Wed, 24 Oct 2007 19:58:57 +0000 (15:58 -0400)]
comment typo
From-SVN: r129610
David Daney [Wed, 24 Oct 2007 18:02:34 +0000 (18:02 +0000)]
* gcc.dg/tree-ssa/update-threading.c: Remove xfail.
From-SVN: r129608
Richard Sandiford [Wed, 24 Oct 2007 17:52:16 +0000 (17:52 +0000)]
re PR target/33755 (Gcc 4.2.2 broken for mips linux kernel builds)
gcc/
PR target/33755
* config/mips/mips.c (mips_lo_sum_offset): New structure.
(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
(mips_lo_sum_offset_lookup, mips_record_lo_sum)
(mips_orphaned_high_part_p: New functions.
(mips_avoid_hazard): Don't check INSN_P here.
(mips_avoid_hazards): Rename to...
(mips_reorg_process_insns): ...this. Cope with
!TARGET_EXPLICIT_RELOCS. Delete orphaned high-part relocations,
or turn them into nops.
(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
(mips_set_mips16_mode): Don't set flag_delayed_branch here.
(mips_override_options): Set flag_delayed_branch to 0.
gcc/testsuite/
PR target/33755
* gcc.target/mips/pr33755.c: New test.
From-SVN: r129606
Richard Sandiford [Wed, 24 Oct 2007 17:46:39 +0000 (17:46 +0000)]
mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe MIPS-specific implementation details.
gcc/
* config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
MIPS-specific implementation details.
(MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
(MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
(MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
for targets with movmemsi.
(MOVE_BY_PIECES_P): Define.
* config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
(mips_block_move_loop): Add a bytes_per_iter argument.
(mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
Update call to mips_block_move_loop.
From-SVN: r129605
Paolo Carlini [Wed, 24 Oct 2007 15:21:22 +0000 (15:21 +0000)]
array (_M_instance): Align naturally.
2007-10-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/array (_M_instance): Align naturally.
* testsuite/ext/array_allocator/1.cc: Use ext/vstring,
more solid than our current basic_string vs alignment.
* testsuite/ext/array_allocator/2.cc: Likewise.
* testsuite/ext/array_allocator/3.cc: Likewise.
From-SVN: r129604
Jason Merrill [Wed, 24 Oct 2007 14:58:49 +0000 (10:58 -0400)]
comment typo
From-SVN: r129603
Michael Matz [Wed, 24 Oct 2007 12:54:24 +0000 (12:54 +0000)]
re PR debug/33868 (Gross memory usage of var-tracking)
PR debug/33868
* var-tracking.c (variable_union): Don't break after one loop
* iteration
but only when a difference is found.
(dump_variable): Also print DECL_UID.
From-SVN: r129602
Olga Golovanevsky [Wed, 24 Oct 2007 12:48:41 +0000 (12:48 +0000)]
Fogot to commit ipa-struct-reorg.c ipa-struct-reorg.h.
From-SVN: r129601
Olga Golovanevsky [Wed, 24 Oct 2007 10:36:30 +0000 (10:36 +0000)]
ipa-type-escape.h: Expose function is_array_access_through_pointer_and_index.
2007-10-24 Olga Golovanevsky <olga@il.ibm.com>
* ipa-type-escape.h: Expose function
is_array_access_through_pointer_and_index.
* ipa-type-escape.c
(is_array_access_through_pointer_and_index):
Add three new parameters. Add support of
POINTER_PLUS_EXPR tree code.
2007-10-24 Olga Golovanevsky <olga@il.ibm.com>
* ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
* tree-pass.h: Add pass_ipa_struct_reorg.
* common.opt: Add ipa-struct-reorg flag.
* Makefile.in: Add ipa-strcut-reorg.o compilation.
* passes.c: Add pass pass_ipa_struct_reorg.
* params.h: Add STRUCT_REORG_COLD_STRUCT_RATIO.
* params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.
From-SVN: r129600
Ira Rosen [Wed, 24 Oct 2007 09:35:00 +0000 (09:35 +0000)]
re PR tree-optimization/33804 (ICE in vect_transform_stmt, at tree-vect-transform.c:6131 with -ftree-vectorize)
PR tree-optimization/33804
* tree-vect-transform.c (vectorizable_operation): Remove the
checks that the vectorization is worthwhile from the transformation
phase.
From-SVN: r129599
Ira Rosen [Wed, 24 Oct 2007 07:51:09 +0000 (07:51 +0000)]
tree-vect-analyze.c (vect_build_slp_tree): Return false if vectype cannot be determined for the scalar type.
* tree-vect-analyze.c (vect_build_slp_tree): Return false if
vectype cannot be determined for the scalar type.
(vect_analyze_slp_instance): Likewise.
* tree-vect-transform.c (vect_model_reduction_cost): Change the
return type to bool. Return false if vectype cannot be determined
for the scalar type.
(vect_get_constant_vectors): Return false if vectype cannot be
determined for the scalar type.
(get_initial_def_for_induction, vect_get_vec_def_for_operand,
get_initial_def_for_reduction, vect_create_epilog_for_reduction,
vectorizable_reduction): Likewise.
From-SVN: r129598
Jason Merrill [Wed, 24 Oct 2007 03:45:37 +0000 (23:45 -0400)]
PR c++/25950 (DR 391)
PR c++/25950 (DR 391)
* call.c (struct conversion): Remove check_copy_constructor_p.
(reference_binding): Always bind a reference directly to a
compatible class rvalue. Pass down LOOKUP_NO_TEMP_BIND during
temporary creation.
(check_constructor_callable): Remove.
(convert_like_real): Don't call it.
(initialize_reference): Don't call check_constructor_callable.
(standard_conversion): Check LOOKUP_NO_CONVERSION instead of
LOOKUP_CONSTRUCTOR_CALLABLE. Don't require a temporary for base
conversions if LOOKUP_NO_TEMP_BIND.
(implicit_conversion): Pass through LOOKUP_NO_TEMP_BIND.
(build_user_type_conversion_1): Pass through LOOKUP_NO_TEMP_BIND for
second conversion.
* cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): Remove.
From-SVN: r129596
Jerry DeLisle [Wed, 24 Oct 2007 03:39:03 +0000 (03:39 +0000)]
re PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure not allowed as an actual argument")
2007-10-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR forrtran/33849
gfortran.dg/generic_actual_arg.f90: Fix dg-error message.
From-SVN: r129595
GCC Administrator [Wed, 24 Oct 2007 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129593
Craig Rodrigues [Tue, 23 Oct 2007 23:53:31 +0000 (23:53 +0000)]
config.gcc: For a FreeBSD target...
* config.gcc: For a FreeBSD target, parse the value of ${target}
to determine the value of FBSD_MAJOR, instead of adding an
explicit check for every possible FreeBSD major version.
From-SVN: r129590
Uros Bizjak [Tue, 23 Oct 2007 20:15:04 +0000 (22:15 +0200)]
re PR rtl-optimization/33846 (ICE in trunc_int_for_mode, at explow.c:55)
PR rtl-optimization/33846
* combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.
testsuite/ChangeLog:
PR rtl-optimization/33846
* gcc.dg/vect/pr33846.c: New testcase.
From-SVN: r129589
Dorit Nuzman [Tue, 23 Oct 2007 19:50:18 +0000 (19:50 +0000)]
re PR tree-optimization/33860 (ICE in vectorizable_load, at tree-vect-transform.c:5503)
PR tree-optimization/33860
* tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
interleaved accesses in case the dr is inside the inner-loop during
outer-loop vectorization.
From-SVN: r129587
Eric Botcazou [Tue, 23 Oct 2007 19:24:13 +0000 (21:24 +0200)]
rtl.texi (Flags): Fix MEM_SCALAR_P entry.
* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
Document MEM_POINTER. Replace mentions of "integrated"
field with "return_val". Delete outdated stuff.
From-SVN: r129584
Eric Botcazou [Tue, 23 Oct 2007 17:36:51 +0000 (17:36 +0000)]
misc.c (gnat_handle_option): Replace call to abort with call to gcc_unreachable.
* misc.c (gnat_handle_option): Replace call to abort with
call to gcc_unreachable.
(gnat_init): Likewise.
(gnat_expand_expr): Likewise.
(fp_prec_to_size): Likewise.
(fp_size_to_prec): Likewise.
From-SVN: r129583
David Edelsohn [Tue, 23 Oct 2007 17:12:01 +0000 (17:12 +0000)]
rs6000.c (rs6000_override_options): Set rs6000_altivec_abi on AIX.
* config/rs6000/rs6000.c (rs6000_override_options): Set
rs6000_altivec_abi on AIX.
(conditional_register_usage): Set VR20:31 fixed on AIX.
From-SVN: r129582
Daniel Jacobowitz [Tue, 23 Oct 2007 15:53:18 +0000 (15:53 +0000)]
Makefile.def (dependencies): Make configure-gdb depend on all-intl.
* Makefile.def (dependencies): Make configure-gdb depend on
all-intl.
* Makefile.in: Regenerated.
From-SVN: r129581
Richard Guenther [Tue, 23 Oct 2007 11:20:56 +0000 (11:20 +0000)]
alias.c (get_alias_set): For INDIRECT_REFs, deal with SSA_NAME pointers.
2007-10-23 Richard Guenther <rguenther@suse.de>
* alias.c (get_alias_set): For INDIRECT_REFs, deal with
SSA_NAME pointers.
From-SVN: r129577
Richard Guenther [Tue, 23 Oct 2007 08:54:56 +0000 (08:54 +0000)]
re PR bootstrap/33608 (Bootstrap with ada fails linking gnatbind with 4.3 host compiler)
2007-10-23 Richard Guenther <rguenther@suse.de>
PR bootstrap/33608
* tracebak.c: #undef abort after including system.h.
From-SVN: r129576
Tehila Meyzels [Tue, 23 Oct 2007 07:53:42 +0000 (07:53 +0000)]
SMS: Add new testcase
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r129575
David S. Miller [Tue, 23 Oct 2007 04:33:26 +0000 (21:33 -0700)]
df-scan.c (df_get_call_refs): Mark global registers as both a DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
gcc/:
2007-10-22 Seongbae Park <seongbae.park@gmail.com>
David S. Miller <davem@davemloft.net>
* df-scan.c (df_get_call_refs): Mark global registers as both a
DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
gcc/testsuite/:
2007-10-22 David S. Miller <davem@davemloft.net>
* gcc.dg/globalreg-1.c: New test.
From-SVN: r129572
Dorit Nuzman [Tue, 23 Oct 2007 03:24:06 +0000 (03:24 +0000)]
re PR tree-optimization/33834 (ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829)
PR tree-optimization/33834
PR tree-optimization/33835
* tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE stmts
need to be checked for success seperately.
* tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
Remove the check that stmt is not LIVE.
(vectorizable_assignment, vectorizable_induction): Likewise.
(vectorizable_operation, vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion, vectorizable_load, vectorizable_store):
Likewise.
(vectorizable_live_operation): Check that op is not NULL.
From-SVN: r129571
GCC Administrator [Tue, 23 Oct 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129568
Janis Johnson [Mon, 22 Oct 2007 23:21:49 +0000 (23:21 +0000)]
invoke.texi (Optimization Options): In the summary...
* doc/invoke.texi (Optimization Options): In the summary, show
that the value for options -falign-jumps, -falign-labels,
-falign-loops, -falign-functions, -fsched-stalled-insns, and
-fsched-stalled-insns-dep is optional. In the summary, show that
-fsched-stalled-insns takes an optional argument and that
-fparallelize-loops takes an argument. Add opindex for several
optimization options, and fix typos in the opindex commands for
several others. In the descriptions for -fsched-stalled-insns
and -fsched-stalled-insns-dep, show the options with and without
values.
From-SVN: r129565
Jerry DeLisle [Mon, 22 Oct 2007 23:08:16 +0000 (23:08 +0000)]
re PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure not allowed as an actual argument")
2007-10-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33849
* resolve.c (resolve_actual_arglist): Fix error message text.
From-SVN: r129564
Steven G. Kargl [Mon, 22 Oct 2007 22:23:33 +0000 (22:23 +0000)]
MAINTAINERS (Fortran maintainer): Remove myself.
2007-10-22 Steven G. Kargl <kargl@gcc.gnu.org>
* MAINTAINERS (Fortran maintainer): Remove myself.
From-SVN: r129562
Steven G. Kargl [Mon, 22 Oct 2007 22:10:42 +0000 (22:10 +0000)]
re PR fortran/31244 (data initialization with more than 2**32 elements)
2007-10-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/31244
* gfortran.h (gfc_data_value): Change repeat from unsigned int
to mpz_t.
* decl.c(top_val_list): Remove msg variable. Use mpz_t for
repeat count.
* resolve.c (values): Change left from unsigned int to mpz_t.
(next_data_value): Change for mpz_t.
(check_data_variable): Change ??? to FIXME in a comment. Use
"mpz_t left".
(resolve_data ): Use "mpz_t left".
From-SVN: r129561
David Daney [Mon, 22 Oct 2007 21:24:35 +0000 (21:24 +0000)]
jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
* include/jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
* boehm.cc (_Jv_SetGCFreeSpaceDivisor): Define it.
From-SVN: r129560
Eric B. Weddington [Mon, 22 Oct 2007 19:58:16 +0000 (19:58 +0000)]
avr.c (avr_mcu_types): Remove ATmega603 which was never produced.
* config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
produced.
* config/avr/avr.h (LINK_SPEC): Likewise.
(CRT_BINUTILS_SPECS): Likewsie.
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
From-SVN: r129557
Eric Botcazou [Mon, 22 Oct 2007 19:28:23 +0000 (19:28 +0000)]
re PR rtl-optimization/33644 (ICE in local_cprop_pass with -ftrapv for crafty)
PR rtl-optimization/33644
* cfgcleanup.c: Do not include dce.h.
* cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
* combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
* dce.c (something_changed): Delete.
(libcall_dead_p): New predicate.
(delete_unmarked_insns): Use it to delete dead libcalls.
Deal with REG_LIBCALL and REG_RETVAL notes.
(prescan_libcall_for_dce): New function.
(prescan_insns_for_dce): Use it to deal with libcalls.
(mark_reg_dependencies): Do nothing special for libcalls.
(dce_process_block): Likewise.
(fast_dce): Delete unused local variable.
(run_fast_dce): Do not return a value.
* dce.h (struct df): Delete.
(run_fast_dce): Adjust prototype.
* optabs.c (libcall_id): Delete.
(maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
(emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
* reload1.c (reload): Delete REG_LIBCALL_ID case.
* rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
* see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
notes instead of REG_LIBCALL_ID notes.
* reg-notes.def (LIBCALL_ID): Delete.
* Makefile.in (see.o): Add dce.h dependency.
(cfgcleanup.o): Remove dce.h dependency.
From-SVN: r129556
Jakub Jelinek [Mon, 22 Oct 2007 19:11:36 +0000 (21:11 +0200)]
re PR c++/33372 (segfault on incomplete code in openmp mode)
PR c++/33372
* semantics.c (finish_omp_clauses): Check !type_dependent_expression_p
before checking if its type is integral.
* g++.dg/gomp/pr33372-1.C: New test.
* g++.dg/gomp/pr33372-2.C: New test.
* g++.dg/gomp/pr33372-3.C: New test.
From-SVN: r129555
Jason Merrill [Mon, 22 Oct 2007 18:03:10 +0000 (14:03 -0400)]
re PR c++/33620 (internal compiler error: canonical types differ for identical types const QList<QStringList> and const QList<QStringList>)
PR c++/33620
* class.c (finish_struct_bits): Copy TYPE_ATTRIBUTES.
* pt.c (apply_late_template_attributes): Splice out dependent
attributes from DECL_ATTRIBUTES.
* decl.c (cxx_maybe_build_cleanup): Use build_address.
From-SVN: r129553
Michael Matz [Mon, 22 Oct 2007 15:29:17 +0000 (15:29 +0000)]
re PR tree-optimization/33855 (Segfault in verify_ssa/execute_function_todo with -O)
PR tree-optimization/33855
* tree-ssa-phiopt.c (cond_store_replacement): Handle
* COMPLEX_TYPE
and VECTOR_TYPE.
* gcc.c-torture/compile/pr33855.c: New testcase.
From-SVN: r129551
Ira Rosen [Mon, 22 Oct 2007 12:05:36 +0000 (12:05 +0000)]
re PR tree-optimization/33854 (ICE in vectorizable_conversion, at tree-vect-transform.c:3374)
PR tree-optimization/33854
* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
FLOAT_EXPR to the list of promotion operations.
From-SVN: r129549
Rask Ingemann Lambertsen [Mon, 22 Oct 2007 11:50:56 +0000 (13:50 +0200)]
re PR target/29473 (-masm=intel combined with -march=athlon64 has some issues.)
PR target/29473
PR target/29493
* config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
(print_reg): Print register prefix only with AT&T asm syntax.
Support pc_rtx for RIP register.
(print_operand_address): Use print_reg()'s pc_rtx support for RIP
relative addressing. Always print segment register prefix with AT&T
asm syntax and never with Intel asm syntax.
(print_operand): Suppress 'XXX PTR' prefix for BLKmode operands.
Fix prefix for 16-byte XFmode operands.
(output_addr_const_extra): Support Intel asm syntax.
(x86_file_start): Don't use register prefix with Intel asm syntax.
* config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
("return_internal_long"): Fix Intel asm syntax output.
("set_got_rex64"): Support Intel asm syntax.
("set_rip_rex64"): Likewise.
("set_got_offset_rex64"): Likewise.
("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
syntax.
("*tls_global_dynamic_64"): Likewise.
("*tls_local_dynamic_base_64"): Likewise.
("*load_tp_si")("*load_tp_di"): Likewise.
("*add_tp_si")("*add_tp_di"): Likewise.
("*tls_dynamic_lea_64"): Likewise.
("*sibcall_value_1_rex64_v"): Likewise.
("stack_tls_protect_set_si"): Likewise.
("stack_tls_protect_set_di"): Likewise.
("stack_tls_protect_test_si"): Likewise.
("stack_tls_protect_test_di"): Likewise.
* config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
syntax output.
("*movv2sf_internal_rex64"): Likewise.
* config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
(__get_cpuid_max): Likewise.
From-SVN: r129548
GCC Administrator [Mon, 22 Oct 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129545
David Edelsohn [Sun, 21 Oct 2007 20:48:51 +0000 (20:48 +0000)]
unwind-1.c: Disable on AIX.
* gcc.dg/unwind-1.c: Disable on AIX.
* gcc.dg/cpp/_Pragma6.c: Disable on AIX.
From-SVN: r129540
Paul Thomas [Sun, 21 Oct 2007 18:10:00 +0000 (18:10 +0000)]
re PR fortran/33749 (Wrong evaluation of expressions in lhs of assignment statements)
2007-10-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33749
* resolve.c (resolve_ordinary_assign): New function that takes
the code to resolve an assignment from resolve_code. In
addition, it makes a temporary of any vector index, on the
lhs, using gfc_get_parentheses.
(resolve_code): On EXEC_ASSIGN call the new function.
2007-10-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33749
* gfortran.dg/assign_9.f90: New test.
From-SVN: r129539
Joseph Myers [Sun, 21 Oct 2007 17:58:21 +0000 (18:58 +0100)]
* es.po, vi.po: Update.
From-SVN: r129537
Joseph Myers [Sun, 21 Oct 2007 17:56:29 +0000 (18:56 +0100)]
* de.po, es.po, zh_CN.po: Update.
From-SVN: r129535
Richard Sandiford [Sun, 21 Oct 2007 11:19:40 +0000 (11:19 +0000)]
mips-protos.h (mips_regno_mode_ok_for_base_p): Give the STRICT_P argument type "bool" rather than "int".
gcc/
* config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
the STRICT_P argument type "bool" rather than "int".
(mips_legitimate_address_p): Likewise.
(fp_register_operand, lo_operand): Delete.
(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
(mips_emit_scc): Rename to...
(mips_expand_scc): ...this.
(gen_conditional_branch): Rename to...
(mips_expand_conditional_branch): ...this.
(gen_conditional_move): Rename to...
(mips_expand_conditional_move): ...this.
(mips_gen_conditional_trap): Rename to...
(mips_expand_conditional_trap): ...this and take an rtx code instead
of an operands array.
(mips_expand_call): Give the SIBCALL_P argument type "bool"
rather than "int".
(mips_emit_fcc_reload): Rename to...
(mips_expand_fcc_reload): ...this.
(init_cumulative_args): Rename to...
(mips_init_cumulative_args): ...this and remove the libname argument.
(function_arg_advance): Rename to...
(mips_function_arg_advance): ...this.
(function_arg): Rename to...
(mips_function_arg): ...this and use "rtx" instead of
"struct rtx_def *".
(function_arg_boundary): Rename to...
(mips_function_arg_boundary): ...this.
(mips_expand_unaligned_load): Rename to...
(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
and BITPOS arguments type "HOST_WIDE_INT".
(mips_expand_unaligned_store): Rename to...
(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
and BITPOS arguments type "HOST_WIDE_INT".
(override_options): Rename to...
(mips_override_options): ...this.
(print_operand): Rename to...
(mips_print_operand): ...this.
(print_operand_address): Rename to...
(mips_print_operand_address): ...this.
(mips_output_ascii): Remove the PREFIX argument.
(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
rather than "int".
(mips_can_use_return_insn): Return a "bool" rather than an "int".
(mips_function_value): Remove the FUNC argument. Use "rtx" instead
of "struct rtx_def *".
(mips_secondary_reload_class): Give the IN_P argument type "bool"
rather than "int".
(build_mips16_call_stub): Delete.
(mips_store_data_bypass_p): Return a "bool" rather than an "int".
(mips_use_ins_ext_p): Give the second and third arguments type
"HOST_WIDE_INT" rather than "rtx".
* config/mips/mips.h: Update after the above changes. Tweak comments
and formatting.
(SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
element type from "char" to "bool".
(mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
(mips_cpu_info_table): Delete.
* config/mips/mips.md: Update after the above changes. Tweak some
formatting.
* config/mips/mips-ps-3d.md: Likewise.
* config/mips/mips.c: Tweak comments and formatting.
Use NULL-like macros rather than 0 in various places.
(mips_section_threshold): Rename to...
(mips_small_data_threshold): ...this and give it an unsigned type.
(num_source_filenames): Remove explicit initialization.
(sdb_label_count): Likewise.
(sym_lineno): Delete.
(set_noat): Make static.
(mips_branch_likely): Likewise, and give it type "bool".
(mips_isa_info): Rename to...
(mips_isa_option_info): ...this.
(mips_flag_delayed_branch): Rename to...
(mips_base_delayed_branch): ...this.
(mips_split_addresses): Delete.
(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
element type from "char" to "bool".
(mips_regno_to_class): Add an explicit array size.
(mips16_flipper): Change from type "int" to type "bool".
(mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
(mips_tls_operand_p): Rename to...
(mips_tls_symbol_p): ...this.
(mips_global_symbol_p): Remove redundant "const".
(mips_offset_within_alignment_p): Simplify.
(mips_regno_mode_ok_for_base_p): Change the name of the last argument
to STRICT_P and give it type bool.
(mips_valid_base_register_p): Likewise.
(mips_classify_address): Likewise.
(mips_legitimate_address_p): Likewise.
(mips16_unextended_reference_p): Take the offset as an
"unsigned HOST_WIDE_INT" rather than an "rtx". Simplify.
(mips_const_insns): Use IN_RANGE.
(mips_force_temporary): Remove an unnecessary copy_rtx.
(mips16_gp_pseudo_reg): Simplify.
(mips_split_symbol): Remove an unnecessary copy_rtx.
(mips_legitimize_tls_address): Only create registers if we need them.
(mips_legitimize_address): Use mips_split_plus.
(mips_move_integer): Swap DEST and TEMP arguments. Rename local
variable COST to NUM_OPS.
(mips_legitimize_move): Use gen_lowpart.
(mips_rewrite_small_data): Rename the OP parameter to PATTERN.
(m16_check_op): Use IN_RANGE.
(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
(mips_split_doubleword_move): Pass booleans to mips_subword.
(mips_output_move): Store the mode in a local variable.
Explicitly assert that this function does not deal with
MFLO and MFHI. Use SMALL_OPERAND_UNSIGNED. Make order of
cases more consistent.
(mips_relational_operand_ok_p): Rename to...
(mips_int_order_operand_ok_p): ...this.
(mips_canonicalize_comparison): Rename to...
(mips_canonicalize_int_order_test): ...this.
(mips_emit_int_relational): Rename to...
(mips_emit_int_order_test): ...this. Store the mode in a local
variable.
(mips_reverse_fp_cond_p): Rename to...
(mips_reversed_fp_cond): ...this.
(mips_emit_compare): Make the order of the statements more consistent.
(mips_emit_scc): Rename to...
(mips_expand_scc): ...this.
(gen_conditional_branch): Rename to...
(mips_expand_conditional_branch): ...this.
(gen_conditional_move): Rename to...
(mips_expand_conditional_move): ...this. Build the condition
separately from the main pattern.
(mips_gen_conditional_trap): Rename to...
(mips_expand_conditional_trap): ...this and take an rtx code instead
of an operands array. Simplify.
(init_cumulative_args): Rename to...
(mips_init_cumulative_args): ...this. Use memset rather than a
copy from a zeroed static. Use prototype_p and stdarg_p.
(mips_arg_info): Rename to...
(mips_get_arg_info): ...this and put the INFO argument first.
(function_arg): Rename to...
(mips_function_arg): ...this and use "rtx" instead of
"struct rtx_def *". Only split structures into chunks if
TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
a chunk-by-chunk basis. Use SCALAR_FLOAT_TYPE_P instead of a
comparison with REAL_TYPE. Rename local variable REG to REGNO
and make it unsigned.
(function_arg_advance): Rename to...
(mips_function_arg_advance): ...this.
(function_arg_boundary): Rename to...
(mips_function_arg_boundary): ...this.
(mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
with MODE_INT.
(mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
comparison with REAL_TYPE.
(mips_function_value): Remove the FUNC argument. Rename local
variable UNSIGNEDP to UNSIGNED_P.
(mips_return_in_memory): Use IN_RANGE.
(mips_setup_incoming_varargs): Pass a boolean rather than an int
to FUNCTION_ARG_ADVANCE.
(mips_gimplify_va_arg_expr): Rename local variable INDIRECT
to INDIRECT_P. Remove a redundant mips_abi check. Only calculate
SIZE and RSIZE if needed.
(mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
rather than "int".
(build_mips16_function_stub): Rename to...
(mips16_build_function_stub): ...this.
(build_mips16_call_stub): Rename to...
(mips16_build_call_stub): ...this. Make static, and return a
"bool" rather than an "int". Rename the ARG_SIZE argument to
ARGS_SIZE. Rename the local variable FPRET to FP_RET_P and give
it type "bool". Use "jr" rather than "j". Use XNEW. Simplify.
(mips_load_call_address): Give the SIBCALL_P argument type "bool"
rather than "int".
(mips_expand_call): Likewise. Assert that MIPS16 calls via stubs
are not sibling ones.
(mips_emit_fcc_reload): Rename to...
(mips_expand_fcc_reload): ...this.
(mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
"HOST_WIDE_INT".
(mips_expand_unaligned_load): Rename to...
(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
and BITPOS arguments type "HOST_WIDE_INT". Remove redundant
SUBREG_BYTE check.
(mips_expand_unaligned_store): Rename to...
(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
and BITPOS arguments type "HOST_WIDE_INT".
(mips_use_ins_ext_p): Rename second and third arguments to WIDTH
and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
Use IN_RANGE.
(mips_init_split_addresses): Replace with...
(mips_split_addresses_p): ...this new function.
(mips_init_relocs): Check mips_split_addresses_p () rather than
mips_split_addresses. Always initialize mips_split_p with booleans.
(print_operand_reloc): Rename to...
(mips_print_operand_reloc): ...this. Use a gcc_assert rather than
a fatal_error.
(print_operand): Rename to...
(mips_print_operand): ...this.
(print_operand_address): Rename to...
(mips_print_operand_address): ...this. Use GP_REG_FIRST.
(mips_in_small_data_p): Simplify.
(mips_output_ascii): Remove the PREFIX argument and "register"
keywords. Use the STRING parameter directly and cast to
"unsigned char".
(mips16e_collect_argument_save_p): Use IN_RANGE.
(mips_function_has_gp_insn): Simplify.
(mips_set_return_address): Use BITSET_P.
(mips_restore_gp): Use a separate statement to pick the base
register.
(mips_output_function_prologue): Use a local FRAME variable.
(mips_save_reg): Pass booleans to mips_subword.
(mips_expand_prologue): Use a local FRAME variable. Use
cprestore_size to detect when .cprestore is needed.
(mips_restore_reg): Use GP_REG_FIRST.
(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
rather than "int". Use local FRAME and REGNO variables.
(mips_can_use_return_insn): Return a "bool" rather than an "int".
(mips_secondary_reload_class): Give the IN_P argument type "bool"
rather than "int".
(mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
(mips_store_data_bypass_p): Return a "bool" rather than an "int".
(vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
(mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
(mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
(builtin_description): Rename to...
(mips_builtin_description): ...this.
(mips_bdesc): Rename to...
(mips_ps_bdesc): ...this.
(sb1_bdesc): Rename to...
(mips_sb1_bdesc): ...this.
(dsp_bdesc): Rename to...
(mips_dsp_bdesc): ...this.
(dsp_32only_bdesc): Rename to...
(mips_dsp_32only_bdesc): ...this.
(bdesc_map): Rename to...
(mips_bdesc_map): ...this.
(bdesc_arrays): Rename to...
(mips_bdesc_arrays): ...this.
(mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
Tweak error message.
(mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
Rename local variables I and J to OPNO and ARGNO respectively.
Assert that the number of arguments is no more than the number of
input operands.
(mips_expand_builtin_compare): Use an array of arguments rather
than an array of operands. Assert that the number of operands is
as expected.
(add_constant): Rename to...
(mips16_add_constant): ...this. Use XNEW.
(dump_constants_1): Rename to...
(mips16_emit_constants_1): ...this. Use ALL_SCALAR_FIXED_POINT_MODE_P.
(dump_constants): Rename to...
(mips16_emit_constants): ...this.
(mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
(mips_set_mips16_mode): Don't call mips_init_split_addresses.
Assign mips16_p to was_mips16_p.
(mips_parse_cpu): Tweak warning message.
(override_options): Rename to...
(mips_override_options): ...this. Move the mips_cost initialization
out of the "shared with GAS" block. Quote option names in error
messages.
(mips_conditional_register_usage): Make local variable REGNO unsigned.
(mips_order_regs_for_local_alloc): Remove register keyword.
From-SVN: r129532
Richard Sandiford [Sun, 21 Oct 2007 10:47:22 +0000 (10:47 +0000)]
system.h (IN_RANGE): Cast each argument individually.
gcc/
* system.h (IN_RANGE): Cast each argument individually.
From-SVN: r129531
Richard Sandiford [Sun, 21 Oct 2007 10:05:43 +0000 (10:05 +0000)]
gcc/
* config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
MIPS16 code unless using o32 or o64.
gcc/testsuite/
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_mips16.
(dg-mips-options): Skip tests that specify an ABI other than o32
and o64 if generating MIPS16 hard-float code.
From-SVN: r129530
Ira Rosen [Sun, 21 Oct 2007 10:01:16 +0000 (10:01 +0000)]
vect-ifcvt-5.c: Require vect_int.
* gcc.dg/vect/vect-ifcvt-5.c: Require vect_int.
* gcc.dg/vect/vect-16.c: Fix comment.
* gcc.dg/vect/pr33369.c: Require vect_int.
* gcc.dg/vect/slp-33.c: Add spaces.
* gcc.dg/vect/no-scevccp-outer-18.c: Enable only for vect_interleave
targets.
* gcc.dg/vect/vect-ifcvt-6.c: Require vect_int.
* gcc.dg/vect/no-scevccp-outer-19.c: Enable only for vect_unpack
targets.
* gcc.dg/vect/vect-ifcvt-7.c: Require vect_int.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Add vect_unpack to
targets.
* gcc.dg/vect/slp-10.c: Add spaces.
* gcc.dg/vect/no-scevccp-outer-21.c: Enable only for vect_pack_trunc
targets.
* gcc.dg/vect/slp-36.c: Require vect_int.
* gcc.dg/vect/vect-ifcvt-9.c, gcc.dg/vect/vect-strided-store-u32-i2.c,
gcc.dg/vect/vect-ifcvt-2.c, gcc.dg/vect/vect-ifcvt-3.c,
gcc.dg/vect/vect-82.c, gcc.dg/vect/vect-83.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-16.c: Enable only for vect_unpack
targets.
* gcc.dg/vect/no-scevccp-outer-17.c: Likewise.
* gcc.dg/vect/pr25413.c: Use vector alignment_reachable_for_64bit
instead of vector_alignment_reachable_for_double.
* lib/target-supports.exp (vect_aligned_arrays): Add spu-*-*.
(natural_alignment): Split into...
(natural_alignment_32, natural_alignment_64): New.
(vector_alignment_reachable): Depend on natural_alignment_32.
(vector_alignment_reachable_for_double): Rename to ...
(vector_alignment_reachable_for_64bit): And depend on
natural_alignment_64.
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r129529
Richard Sandiford [Sun, 21 Oct 2007 09:24:16 +0000 (09:24 +0000)]
mips.c (mips_cannot_change_mode_class): Don't check for modes smaller than 4 bytes.
gcc/
* config/mips/mips.c (mips_cannot_change_mode_class): Don't check
for modes smaller than 4 bytes.
* config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
FPR alternatives.
From-SVN: r129528