Ralf Corsepius [Mon, 8 Jan 2007 09:33:47 +0000 (10:33 +0100)]
rtems.h, t-rtems: New.
* config/bfin/rtems.h, config/bfin/t-rtems: New.
* config.gcc: Add bfin*-rtems*.
From-SVN: r120573
Mark Shinwell [Mon, 8 Jan 2007 09:25:07 +0000 (09:25 +0000)]
c.opt: Add -flax-vector-conversions.
gcc/
* c.opt: Add -flax-vector-conversions.
* c-typeck.c (convert_for_assignment): Pass flag to
vector_types_convertible_p to allow emission of note.
(digest_init): Likewise.
(comptypes_internal): Use vector_types_convertible_p.
* c-opts.c: Handle -flax-vector-conversions.
* c-common.c (flag_lax_vector_conversions): New.
(vector_types_convertible_p): Unless -flax-vector conversions
has been passed, disallow conversions between vectors with
differing numbers of subparts and/or element types. If such
a conversion is disallowed, possibly emit a note on the first
occasion only to inform the user of -flax-vector-conversions.
The new last argument specifies this.
* c-common.h (flag_lax_vector_conversions): New.
(vector_types_convertible_p): Add extra argument.
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
char_type_node for V*QI type vectors.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
Update to satisfy new typechecking rules.
* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge.
* doc/invoke.texi (C Dialect Options): Document
-flax-vector-conversions.
gcc/cp/
* call.c (standard_conversion): Pass flag to
vector_types_convertible_p to disallow emission of note.
* typeck.c (convert_for_assignment): Pass flag to
vector_types_convertible_p to allow emission of note.
(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
to disallow emission of note.
gcc/testsuite/
* gcc.target/i386/
20020531-1.c: Use "char" not "unsigned char"
in __v8qi typedef.
* gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts.
* gcc.dg/simd-1.c: Update dg-error directives to reflect new
compiler behaviour.
* gcc.dg/simd-5.c: Likewise.
* gcc.dg/simd-6.c: Likewise.
* g++.dg/conversion/simd1.C: Likewise.
* g++.dg/conversion/simd3.C: Likewise.
* g++.dg/ext/attribute-test-2.C (data): Add "vs" member.
(main): Use it.
From-SVN: r120572
Mark Shinwell [Mon, 8 Jan 2007 08:33:42 +0000 (08:33 +0000)]
re PR tree-optimization/29877 (out of SSA (TER) extends variable life of variable beyond original declared)
PR tree-optimization/29877
gcc/
* tree-ssa-ter.c (is_replaceable_p): Deem assignments with
a register variable on the RHS to not be replaceable.
gcc/testsuite/
* gcc.dg/pr16194.c: Skip test entirely if we don't know the
name of a hard register for the target concerned. Adjust dg-error
directives to cope with new behaviour of TER.
From-SVN: r120571
Chen Liqin [Mon, 8 Jan 2007 04:47:33 +0000 (04:47 +0000)]
t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
const_simm15, const_pow2, const_npow2): Added.
* config/score/misc.md (insv, extv, extzv, movmemsi,
move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
* config/score/score.c (score_address_cost, score_select_cc_mode):
Added.
Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
Update score_print_operand.
* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
Adjust register allocate order and update some macro define.
* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
mdx_block_move_straight, mdx_block_move_loop_head,
mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
mdx_block_move): Added.
(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
mdp_limm): Updated and fix some bug and typo.
* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
(movsf, movdf, doloop_end): Added.
From-SVN: r120570
Kazu Hirata [Mon, 8 Jan 2007 01:23:16 +0000 (01:23 +0000)]
gfortran.texi: Fix typos.
From-SVN: r120567
Kazu Hirata [Mon, 8 Jan 2007 01:17:57 +0000 (01:17 +0000)]
arm.c, [...]: Fix comment typos.
* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
config/arm/thumb2.md: Fix comment typos.
* doc/extend.texi: Fix a typo.
From-SVN: r120566
GCC Administrator [Mon, 8 Jan 2007 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120564
Eric Christopher [Sun, 7 Jan 2007 23:53:21 +0000 (23:53 +0000)]
configure.ac: Check for __stack_chk_fail for darwin.
2007-01-07 Eric Christopher <echristo@apple.com>
* configure.ac: Check for __stack_chk_fail for darwin.
* configure: Regenerate.
From-SVN: r120559
Manuel López-Ibáñez [Sun, 7 Jan 2007 23:39:55 +0000 (23:39 +0000)]
re PR c++/28986 (Failure to diagnose overflow in constant expression)
2007-01-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/28986
cp/
* typeck.c (build_binary_op): Call overflow_warning if
TREE_OVERFLOW_P is true for the result and not for any of the
operands.
testsuite/
* g++.dg/conversion/nullptr1.C: Added overflow warning.
* g++.dg/warn/overflow-warn-1.C: New.
* g++.dg/warn/overflow-warn-3.C: New.
* g++.dg/warn/overflow-warn-4.C: New.
* g++.dg/warn/overflow-warn-5.C: New.
* g++.dg/warn/overflow-warn-6.C: New.
* g++.dg/warn/Woverflow-1.C: New.
* g++.dg/warn/Woverflow-2.C: New.
* g++.dg/warn/Woverflow-3.C: New.
* g++.dg/warn/multiple-overflow-warn-2.C: New.
From-SVN: r120558
Steven G. Kargl [Sun, 7 Jan 2007 19:39:52 +0000 (19:39 +0000)]
decl.c, [...]: Update Copyright dates.
2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
* decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
convert.c: Update Copyright dates. Fix whitespace.
From-SVN: r120552
Bernhard Fischer [Sun, 7 Jan 2007 16:46:09 +0000 (17:46 +0100)]
data.c (gfc_assign_data_value): Fix whitespace.
2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
* data.c (gfc_assign_data_value): Fix whitespace.
From-SVN: r120551
Bernhard Fischer [Sun, 7 Jan 2007 16:40:42 +0000 (17:40 +0100)]
trans-array.c (gfc_trans_create_temp_array, [...]): Commentary typo fix.
fortran/ChangeLog
2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
* trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
Commentary typo fix.
From-SVN: r120550
Bernhard Fischer [Sun, 7 Jan 2007 16:23:45 +0000 (17:23 +0100)]
re PR fortran/27698 (subroutine _foo draws "unclassifiable statement" instead of a useful error.)
fortran/ChangeLog
2007-01-03 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/27698
* match.c (gfc_match_name): Print diagnostics for invalid character
in names.
testsuite/ChangeLog
2007-01-03 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/27698
* gfortran.dg/invalid_name.f90: New test.
* gfortran.dg/do_iterator.f90: Adjust pattern for expected error.
* gfortran.dg/gomp/pr29759.f90: Ditto.
From-SVN: r120549
Richard Guenther [Sun, 7 Jan 2007 15:21:45 +0000 (15:21 +0000)]
tree-vrp.c (extract_range_from_assert): CSE calls to compare_values where possible.
2007-01-07 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_assert): CSE calls to
compare_values where possible.
(extract_range_from_unary_expr): Likewise.
From-SVN: r120547
Anatoly Sokolov [Sun, 7 Jan 2007 03:45:24 +0000 (06:45 +0300)]
avr-protos.h (call_insn_operand): Delete prototype.
* config/avr/avr-protos.h (call_insn_operand): Delete prototype.
* config/avr/avr.c (call_insn_operand): Delete function.
* config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
instead of register number. Use predicates.
* config/avr/predicates.md (const0_operand, reg_or_0_operand,
call_insn_operand): Add.
From-SVN: r120546
Steven G. Kargl [Sun, 7 Jan 2007 03:26:06 +0000 (03:26 +0000)]
Fix whitespace in a table within a comment.
Fix whitespace in a table within a comment. This is
wonderful example of why tabs are evil.
From-SVN: r120545
Brooks Moses [Sun, 7 Jan 2007 00:55:11 +0000 (16:55 -0800)]
Corrected changelog entry dates from 2006 to 2007.
From-SVN: r120543
Steven G. Kargl [Sun, 7 Jan 2007 00:28:29 +0000 (00:28 +0000)]
[multiple changes]
2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
* array.c, bbt.c, check.c: Update copyright years. Whitespace.
2006-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/present_1.f90: Update error message.
From-SVN: r120542
GCC Administrator [Sun, 7 Jan 2007 00:18:13 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r120540
Paolo Carlini [Sat, 6 Jan 2007 22:40:58 +0000 (22:40 +0000)]
2007-01-06 Paolo Carlini <pcarlini@suse.de>
* Fix typo in ChangeLog.
From-SVN: r120533
Paolo Carlini [Sat, 6 Jan 2007 22:38:07 +0000 (22:38 +0000)]
re PR libstdc++/30365 (No possibility to disable large file support (LFS))
2007-01-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/30365
* crossconfig.m4 (case *-linux*): Run crossconfig.m4.
* configure: Regenerate.
From-SVN: r120531
Steven G. Kargl [Sat, 6 Jan 2007 21:53:03 +0000 (21:53 +0000)]
arith.c: Update copyright years.
* arith.c: Update copyright years. Whitespace.
From-SVN: r120530
Bruce Korb [Sat, 6 Jan 2007 20:02:22 +0000 (20:02 +0000)]
Set SKIP_TEST flag if we are not to run a test.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r120529
Bruce Korb [Sat, 6 Jan 2007 18:03:50 +0000 (18:03 +0000)]
Use fnmatch for name matching.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r120528
Jan Hubicka [Sat, 6 Jan 2007 17:58:40 +0000 (18:58 +0100)]
tree-pass.h (pass_build_cgraph_edges): Declare.
* tree-pass.h (pass_build_cgraph_edges): Declare.
* cgraphunit.c (record_refernece): Move to cgraphbuild.c
(visited_nodes): Remove.
(cgraph_create_edges): Move to cgraphbuild.c; rename to
build_cgrpah_edges; make visited_nodes local.
(cgraph_process_new_functions): DO not call initialize_inline_failed.
(record_references_in_initializer): Move to cgraphbuild.c
(initialize_inline_failed, rebuild_cgraph_edges,
pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
(verify_cgraph_node): Make visited_nodes local.
(cgraph_analyze_function): Do not call cgraph_create_edges and
initialize_inline_failed.
(cgraph_expand_function): Do not call cgraph_lower_function;
assert that function is already lowered.
* Makefile.in (cgraphbuild.o): New.
* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
at the end of lowering passes.
From-SVN: r120527
Steven Bosscher [Sat, 6 Jan 2007 13:56:53 +0000 (13:56 +0000)]
ifcvt.c (cond_move_convert_if_block): New function, code factored out from...
* ifcvt.c (cond_move_convert_if_block): New function, code
factored out from...
(cond_move_process_if_block): ...here. Call the new function
on the THEN and ELSE blocks.
(merge_if_block): Do not copy global_live_at_end, merge_blocks
already takes care of this.
From-SVN: r120524
Matthias Klose [Sat, 6 Jan 2007 09:56:37 +0000 (09:56 +0000)]
random (gamma_distribution): Fix typo in formula.
2007-01-06 Matthias Klose <doko@debian.org>
* include/tr1/random (gamma_distribution): Fix typo in formula.
* docs/doxygen/user.cfg.in: Use package amsmath.
From-SVN: r120522
Lee Millward [Sat, 6 Jan 2007 01:06:04 +0000 (01:06 +0000)]
re PR c++/19439 (Duplicate destructor accepted)
PR c++/19439
* class.c (add_method): Don't wait until template
instantiation time to complain about duplicate methods.
* g++.dg/template/duplicate1.C: New test
* g++.dg/template/memfriend6.C: Adjust error markers.
From-SVN: r120520
Andrew Pinski [Sat, 6 Jan 2007 00:26:24 +0000 (16:26 -0800)]
re PR bootstrap/30385 (IMM ERROR while building stage2-libiberty)
2007-01-05 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
PR tree-opt/30385
* gcc.dg/torture/inline-1.c: New test.
From-SVN: r120519
GCC Administrator [Sat, 6 Jan 2007 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120517
Jerry DeLisle [Sat, 6 Jan 2007 00:14:38 +0000 (00:14 +0000)]
re PR libfortran/30162 (Document when sequential I/O with named pipes works)
2007-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30162
* io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
s->file_length == -1.
(fd_alloc_w_at): Do not adjust file_length if file is not seekable.
(fd_seek): If not seekable, just return success.
(fd_truncate): If not seekable, no need to truncate. Return failure if
seek fails and the stream is not a pipe.
(fd_to_stream): Make test for non-seekable file more robust.
From-SVN: r120512
Manuel López-Ibáñez [Fri, 5 Jan 2007 21:57:01 +0000 (21:57 +0000)]
re PR c/19978 (overflow in expression of constants should not cause multiple warnings)
2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/19978
* tree.h (TREE_OVERFLOW_P): New.
* c-typeck.c (parser_build_unary_op): Warn only if result
overflowed and operands did not.
(parser_build_binary_op): Likewise.
(convert_for_assignment): Remove redundant overflow_warning.
* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
cp/
* semantics.c (finish_unary_op_expr): Warn only if result
overflowed and operands did not.
testsuite/
* gcc.dg/multiple-overflow-warn-1.c: New.
* gcc.dg/multiple-overflow-warn-2.c: New.
* gcc.dg/overflow-warn-6.c: New.
* g++.dg/warn/multiple-overflow-warn-1.C: New.
From-SVN: r120505
Manuel López-Ibáñez [Fri, 5 Jan 2007 21:41:32 +0000 (21:41 +0000)]
c-typeck.c (store_init_value): Split over two lines to follow the GNU coding style.
2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* c-typeck.c (store_init_value): Split over two lines to follow
the GNU coding style.
From-SVN: r120504
Roger Sayle [Fri, 5 Jan 2007 21:27:16 +0000 (21:27 +0000)]
trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize array assignments split out from gfc_trans_assignment.
* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
array assignments split out from gfc_trans_assignment.
(gfc_trans_array_copy): New function to implement array to array
copies via calls to __builtin_memcpy.
(copyable_array_p): New helper function to identify an array of
simple/POD types, that may be copied/assigned using memcpy.
(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
whole array assignments considered suitable by copyable_array_p.
Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
* gfortran.dg/array_memcpy_1.f90: New test case.
* gfortran.dg/array_memcpy_2.f90: Likewise.
From-SVN: r120503
Benjamin Kosnik [Fri, 5 Jan 2007 21:24:16 +0000 (21:24 +0000)]
c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to __GXX_EXPERIMENTAL_CXX0X__.
2007-01-05 Benjamin Kosnik <bkoz@redhat.com>
* c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
__GXX_EXPERIMENTAL_CXX0X__.
* doc/cpp.texi: Same.
From-SVN: r120502
Roger Sayle [Fri, 5 Jan 2007 21:23:05 +0000 (21:23 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Make the static const "data" array as TREE_READONLY.
* trans-array.c (gfc_trans_array_constructor_value): Make the
static const "data" array as TREE_READONLY.
* trans-stmt.c (gfc_trans_character_select): Likewise.
From-SVN: r120501
Roger Sayle [Fri, 5 Jan 2007 21:22:05 +0000 (21:22 +0000)]
trans-array.c (gfc_conv_loop_setup): Test whether the loop stride is one...
* trans-array.c (gfc_conv_loop_setup): Test whether the loop
stride is one, to avoid fold_build2 introducing a useless
NON_LVALUE_EXPR node.
From-SVN: r120500
Richard Guenther [Fri, 5 Jan 2007 21:04:23 +0000 (21:04 +0000)]
re PR c++/27826 (ICE in copy_to_mode_reg)
2007-01-05 Richard Guenther <rguenther@suse.de>
PR middle-end/27826
* tree.c (get_narrower): Do not construct COMPONENT_REFs
with mismatched types. Instead explicitly build a
conversion NOP_EXPR.
* g++.dg/opt/pr27826.C: New testcase.
From-SVN: r120498
Tobias Burnus [Fri, 5 Jan 2007 20:26:00 +0000 (21:26 +0100)]
symbol.c (check_conflict): Fix error message.
2007-01-05 Tobias Burnus <burnus@net-b.de>
* symbol.c (check_conflict): Fix error message.
From-SVN: r120496
Daniel Jacobowitz [Fri, 5 Jan 2007 19:29:29 +0000 (19:29 +0000)]
Makefile.tpl (all-target): Correct @if conditional for target modules.
* Makefile.tpl (all-target): Correct @if conditional for target
modules.
* configure.in: Omit libiberty if building only target libgcc.
* configure, Makefile.in: Regenerated.
From-SVN: r120494
Ian Lance Taylor [Fri, 5 Jan 2007 19:05:46 +0000 (19:05 +0000)]
c-common.c (decl_with_nonnull_addr_p): New function.
./: * c-common.c (decl_with_nonnull_addr_p): New function.
(c_common_truthvalue_conversion): Call it.
* c-typeck.c (build_binary_op): Likewise.
* c-common.h (decl_with_nonnull_addr_p): Declare.
cp/:
* typeck.c (build_binary_op): Warn about comparing a non-weak
address to NULL.
testsuite/:
* gcc.dg/Walways-true-1.c: New test.
* gcc.dg/Walways-true-2.c: New test.
* g++.dg/warn/Walways-true-1.C: New test.
* g++.dg/warn/Walways-true-2.C: New test.
From-SVN: r120493
Daniel Jacobowitz [Fri, 5 Jan 2007 18:51:05 +0000 (18:51 +0000)]
* Makefile.in (install): Handle multilibs.
From-SVN: r120492
Jakub Jelinek [Fri, 5 Jan 2007 15:49:05 +0000 (16:49 +0100)]
re PR c/30360 (Complex divide bug)
PR c/30360
* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
denom against 0.0.
* gcc.dg/pr30360.c: New test.
From-SVN: r120486
Paul Thomas [Fri, 5 Jan 2007 14:45:20 +0000 (14:45 +0000)]
re PR fortran/23232 ([4.1 only] DATA implied DO variables)
2007-01-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/23232
* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
functions to signal that a DATA statement is being matched.
(gfc_match_data): Call gfc_set_in_match_data on entry and on
exit.
* gfortran.h : Add prototypes for above.
* expr.c (check_init_expr): Avoid check on parameter or
variable if gfc_in_match_data is true.
(gfc_match_init_expr): Do not call error on non-reduction of
expression if gfc_in_match_data is true.
PR fortran/27996
PR fortran/27998
* decl.c (gfc_set_constant_character_len): Add boolean arg to
flag array constructor resolution. Warn if string is being
truncated. Standard dependent error if string is padded. Set
new arg to false for all three calls to
gfc_set_constant_character_len.
* match.h : Add boolean arg to prototype for
gfc_set_constant_character_len.
* gfortran.h : Add warn_character_truncation to gfc_options.
* options.c (set_Wall): Set warn_character_truncation if -Wall
is set.
* resolve.c (resolve_code): Warn if rhs string in character
assignment has to be truncated.
* array.c (gfc_resolve_character_array_constructor): Set new
argument to true for call to gfc_set_constant_character_len.
2007-01-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/23232
* gfortran.dg/data_implied_do_1.f90: New test.
PR fortran/27996
PR fortran/27998
* gfortran.dg/char_length_1.f90: New test.
From-SVN: r120485
Joel Brobecker [Fri, 5 Jan 2007 14:40:05 +0000 (14:40 +0000)]
install.texi (Final install): Document the fact that the GNAT runtime should not be stripped.
* doc/install.texi (Final install): Document the fact that
the GNAT runtime should not be stripped.
From-SVN: r120484
Douglas Gregor [Fri, 5 Jan 2007 14:16:48 +0000 (14:16 +0000)]
pt.c (tsubst): Propagate the need for structural equality checks when...
2007-01-04 Douglas Gregor <doug.gregor@gmail.com>
* pt.c (tsubst): Propagate the need for structural equality checks
when reducing the level of template parameters.
From-SVN: r120483
Richard Biener [Fri, 5 Jan 2007 14:00:46 +0000 (14:00 +0000)]
re PR middle-end/28116 (ICE when building konverter with gcc-4.1 with -O3 [RSO])
2007-01-05 Richard Guenther <rguenther@suse.de>
PR middle-end/28116
* g++.dg/opt/pr28116.C: New testcase.
From-SVN: r120482
Jan Hubicka [Fri, 5 Jan 2007 12:18:21 +0000 (13:18 +0100)]
tree-inline.c (fold_marked_statements): Update operand caches and EH after folding
* tree-inline.c (fold_marked_statements): Update operand caches
and EH after folding
From-SVN: r120477
Tobias Burnus [Fri, 5 Jan 2007 09:08:37 +0000 (10:08 +0100)]
re PR fortran/29624 (Fortran 2003: Support intent for pointers)
fortran/
2007-01-05 Tobias Burnus <burnus@net-b.de>
PR fortran/29624
* interface.c (compare_parameter_intent): New function.
(check_intents): Support pointer intents.
* symbol.c (check_conflict): Support pointer intents,
better conflict_std message.
* expr.c (gfc_check_assign,gfc_check_pointer_assign):
Support pointer intents.
* resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
Support pointer intents.
testsuite/
2006-01-05 Tobias Burnus <burnus@net-b.de>
PR fortran/29624
* gfortran.dg/alloc_alloc_expr_1.f90: Add check for
invalid deallocate.
* gfortran.dg/allocatable_dummy_2.f90: Update dg-error.
* gfortran.dg/protected_4.f90: Add pointer intent check.
* gfortran.dg/protected_6.f90: Add pointer intent check.
* gfortran.dg/pointer_intent_1.f90: New test.
* gfortran.dg/pointer_intent_2.f90: New test.
* gfortran.dg/pointer_intent_3.f90: New test.
From-SVN: r120472
Gerald Pfeifer [Fri, 5 Jan 2007 08:34:18 +0000 (08:34 +0000)]
crontab: Spread snapshots more evenly throughout the week, and in "ascending" order.
* crontab: Spread snapshots more evenly throughout the week, and
in "ascending" order. Build all at the same time of the day.
From-SVN: r120471
Ian Lance Taylor [Fri, 5 Jan 2007 06:16:56 +0000 (06:16 +0000)]
* c-common.c (check_function_nonnull): Whitespace fix.
From-SVN: r120470
Jan Hubicka [Fri, 5 Jan 2007 02:00:56 +0000 (03:00 +0100)]
tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted older version of patch.
* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
comitted older version of patch.
(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
function, celanup cfg and collect garbage.
From-SVN: r120469
Brooks Moses [Fri, 5 Jan 2007 01:40:06 +0000 (01:40 +0000)]
re PR fortran/30371 (kill suboutine accepts (invalid) array arguments.)
PR 30371
* check.c (gfc_check_kill_sub): Add checks for non-scalar
arguments.
From-SVN: r120468
Brooks Moses [Fri, 5 Jan 2007 01:26:27 +0000 (01:26 +0000)]
intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting whitespace.
* intrinsic.texi: Minor cleanup, reflowing overlong
paragraphs, and correcting whitespace.
From-SVN: r120467
Brooks Moses [Fri, 5 Jan 2007 00:42:04 +0000 (00:42 +0000)]
intrinsic.texi (LBOUND): Add documentation.
* intrinsic.texi (LBOUND): Add documentation.
(LGE): Add documentation.
(LGT): Add documentation.
(LINK): Add documentation.
(LLE): Add documentation.
(LLT): Add documentation.
(LNBLNK): Add documentation.
(UBOUND): Add documentation.
(UNLINK): Add documentation.
From-SVN: r120466
Mike Stump [Fri, 5 Jan 2007 00:38:22 +0000 (00:38 +0000)]
Makefile.in (mostlyclean): Don't remove libgcc anymore.
* Makefile.in (mostlyclean): Don't remove libgcc anymore.
(clean): Likewise.
From-SVN: r120465
GCC Administrator [Fri, 5 Jan 2007 00:17:36 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120463
Ben Elliston [Fri, 5 Jan 2007 00:03:35 +0000 (11:03 +1100)]
Revert revision 120457.
From-SVN: r120458
Ben Elliston [Thu, 4 Jan 2007 23:43:14 +0000 (23:43 +0000)]
strstream.cc (strstreambuf::seekoff): Add parentheses around truth expression to eliminate a new warning from g++.
* src/strstream.cc (strstreambuf::seekoff): Add parentheses around
truth expression to eliminate a new warning from g++.
From-SVN: r120457
Brooks Moses [Thu, 4 Jan 2007 23:43:11 +0000 (23:43 +0000)]
* Makefile.in: Added .PHONY entry for documentation targets.
From-SVN: r120456
Brooks Moses [Thu, 4 Jan 2007 23:27:33 +0000 (23:27 +0000)]
* Makefile.in: Add empty info, html, dvi, pdf targets.
From-SVN: r120455
Eric Christopher [Thu, 4 Jan 2007 23:16:34 +0000 (23:16 +0000)]
libgcc2.c (__bswapsi2): Use SItype.
2007-01-04 Eric Christopher <echristo@apple.com>
* libgcc2.c (__bswapsi2): Use SItype.
(__bswapdi2): Use DItype.
* libgcc2.h: Update for above.
From-SVN: r120454
Paul Brook [Thu, 4 Jan 2007 23:13:55 +0000 (23:13 +0000)]
arm.md (arm_mulsi3, [...]): Make conditional on !arm_arch6.
2007-01-04 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
umulsidi3, umulsidi3adddi, smulsi3_highpart,
umulsi3_highpart): Make conditional on !arm_arch6.
(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
umulsi3_highpart_v6): New insns.
From-SVN: r120453
Brooks Moses [Thu, 4 Jan 2007 23:00:41 +0000 (23:00 +0000)]
intrinsic.texi (IAND): Clarify argument specifications.
* intrinsic.texi (IAND): Clarify argument specifications.
(IBCLR): Add documentation.
(IBITS): Add documentation.
(IBSET): Add documentation.
(IEOR): Add documentation.
(IERRNO): Add documentation.
(INDEX): Add documentation.
(IOR): Add documentation.
(ISHFT): Add documentation.
(ISHFTC): Add documentation.
(KILL): Add documentation.
(LEN_TRIM): Add documentation.
From-SVN: r120452
Roger Sayle [Thu, 4 Jan 2007 23:00:00 +0000 (23:00 +0000)]
fold-const.c (fold_convert): When casting an expression to void...
* fold-const.c (fold_convert): When casting an expression to void,
fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
have a type. Instead of attempting to build a NOP_EXPR, return
these "special" trees directly.
From-SVN: r120451
Mike Stump [Thu, 4 Jan 2007 21:54:45 +0000 (21:54 +0000)]
Makefile.in (MAKEINFO): Remove.
* Makefile.in (MAKEINFO): Remove.
(PERL): Likewise.
From-SVN: r120450
Paolo Bonzini [Thu, 4 Jan 2007 18:12:08 +0000 (18:12 +0000)]
configure.ac: Add GCC_TOPLEV_SUBDIRS.
2007-01-04 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Add GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.in (host_subdir): Substitute it.
(gcc_objdir): Use it.
From-SVN: r120449
Brooks Moses [Thu, 4 Jan 2007 17:30:37 +0000 (17:30 +0000)]
re PR fortran/30235 ([4.1 only] missing alternate return argument with explicit interface causes segfault)
fortran/
PR 30235
* interface.c (compare_actual_formal): check for
alternate returns when iterating over non-present
arguments.
testsuite/
PR 30235
* gfortran.dg/altreturn_2.f90: new test.
From-SVN: r120447
Brooks Moses [Thu, 4 Jan 2007 17:09:34 +0000 (17:09 +0000)]
* invoke.texi: Update manpage copyright to include 2007.
From-SVN: r120445
Brooks Moses [Thu, 4 Jan 2007 16:52:36 +0000 (16:52 +0000)]
gfortran.texi: Update copyright to include 2007.
* gfortran.texi: Update copyright to include 2007.
* intrinsic.texi: Update copyright to include 2007.
* invoke.texi: Update copyright to include 2007.
From-SVN: r120444
Daniel Jacobowitz [Thu, 4 Jan 2007 16:52:02 +0000 (16:52 +0000)]
* config.host (ia64*-*-linux*): Set tmake_file.
From-SVN: r120443
Joseph Myers [Thu, 4 Jan 2007 16:36:57 +0000 (16:36 +0000)]
rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
MULT inside MINUS as either argument. Use rs6000_cost->dmul -
rs6000_cost->fp not 0 as adjustment for outer NEG.
From-SVN: r120442
Tom Tromey [Thu, 4 Jan 2007 15:32:26 +0000 (15:32 +0000)]
re PR preprocessor/28165 (_Pragma GCC system_header broken)
libcpp
PR preprocessor/28165:
* internal.h (cpp_in_primary_file): New function.
* directives.c (do_include_next): Use cpp_in_primary_file.
(do_pragma_once): Likewise.
(do_pragma_system_header): Likewise.
gcc/testsuite
PR preprocessor/28165:
* gcc.dg/cpp/pr28165.c: New file.
From-SVN: r120441
Daniel Jacobowitz [Thu, 4 Jan 2007 14:20:15 +0000 (14:20 +0000)]
* Makefile.in (version): Define.
From-SVN: r120440
Paolo Bonzini [Thu, 4 Jan 2007 14:10:50 +0000 (14:10 +0000)]
commit changelog entry for last commit
From-SVN: r120439
Jan Hubicka [Thu, 4 Jan 2007 11:30:10 +0000 (12:30 +0100)]
cgraph.c (cgraph_release_function_body): New function.
* cgraph.c (cgraph_release_function_body): New function.
(cgraph_remove_node): Use it.
* cgraph.h (cgraph_release_function_body): Declare.
* cgraphunit.c (cgraph_expand_function): Use it.
* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
is initialized and while compilation of other function is running.
* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
statement CFG annotations from here to ...
* tree-cfg.c (delete_tree_cfg_annotations): ... here.
From-SVN: r120437
Zdenek Dvorak [Thu, 4 Jan 2007 09:53:29 +0000 (09:53 +0000)]
cfgloop.h (enum li_flags): Make the constants powers of two.
* cfgloop.h (enum li_flags): Make the constants powers of two.
From-SVN: r120433
Paolo Bonzini [Thu, 4 Jan 2007 09:10:51 +0000 (09:10 +0000)]
configure.in: Use DEV-PHASE to detect the default for --enable-werror.
2007-01-04 Paolo Bonzini <bonzini@gnu.org>
* configure.in: Use DEV-PHASE to detect the default for --enable-werror.
* configure: Regenerate.
From-SVN: r120432
Tobias Burnus [Thu, 4 Jan 2007 08:57:36 +0000 (09:57 +0100)]
re PR fortran/30276 (gfortran include problem)
2007-01-02 Tobias Burnus <burnus@net-b.de>
Jakub Jelinek <jakub@redhat.com>
PR fortran/30276
* scanner.c (open_included_file): Revert patch.
(gfc_open_included_file): Support absolute pathnames.
(gfc_open_intrinsic_module): Support absolute pathnames.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r120431
Jan Hubicka [Thu, 4 Jan 2007 08:56:05 +0000 (09:56 +0100)]
tree-inline.c (copy_bb): Insert new statements to statements_to_fold set.
* tree-inline.c (copy_bb): Insert new statements to statements_to_fold
set.
(fold_marked_statements): New function.
(optimize_inline_calls, tree_function_versioning): Fold new statements.
* tree-inline.h (copy_body_data): Add statemetns_to_fold.
From-SVN: r120430
Daniel Jacobowitz [Thu, 4 Jan 2007 04:22:37 +0000 (04:22 +0000)]
Makefile.def (target_modules): Add libgcc.
./ * Makefile.def (target_modules): Add libgcc.
(lang_env_dependencies): Remove default items. Use no_c and no_gcc.
* Makefile.tpl (clean-target-libgcc): Delete.
(configure-target-[+module+]): Emit --disable-bootstrap dependencies
on gcc even for bootstrapped modules. Rewrite handling of
lang_env_dependencies to loop over target_modules.
* configure.in (target_libraries): Add target-libgcc.
* Makefile.in, configure: Regenerated.
gcc/
* config.gcc: Mention libgcc/config.host.
* Makefile.in: Update comments mentioning libgcc.
(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
(all.cross, start.encap, rest.encap, rest.cross): Update
dependencies for libgcc move.
(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
(clean-target, clean-target-libgcc): Delete.
(srcdirify, GCC_EXTRA_PARTS): New macros.
(libgcc-support, libgcc.mvars): New rules.
(distclean): Remove mention of mklibgcc.
(install): Don't reference INSTALL_LIBGCC.
(install-common): Don't reference EXTRA_PARTS.
(install-libgcc, install-multilib): Delete rules.
* mklibgcc.in: Delete file.
* doc/configfiles.texi: Don't mention mklibgcc.
* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
(mklibgcc, ldblspecs): Likewise.
* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
(posixpre.def): Use $(T).
(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
(SHLIB_SRC, SHLIB_INSTALL): Delete.
(SHLIB_LINK): Make dummy.
* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
config/rs6000/t-newas, config/sparc/t-elf: Likewise.
* configure.ac (all_outputs): Remove mklibgcc.
* configure: Regenerated.
libgcc/
* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
config/sparc/t-crtfm, config/t-slibgcc-darwin,
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
shared-object.mk, siditi-object.mk, static-object.mk: New files.
* configure: Generated.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r120429
Brooks Moses [Thu, 4 Jan 2007 02:21:38 +0000 (02:21 +0000)]
* gfortran.texi (GNU Fortran and GCC): Rewrite
From-SVN: r120428
Brooks Moses [Thu, 4 Jan 2007 02:11:05 +0000 (02:11 +0000)]
gfortran.texi (Introduction): Lower "Part I...
* gfortran.texi (Introduction): Lower "Part I:
Introduction" to a chapter, renumber Parts II and III to
Parts I and II.
* intrinsic.texi (Introduction): Rename to "Introduction
to Intrinsics" to avoid conflict with the new chapter.
From-SVN: r120427
Brooks Moses [Thu, 4 Jan 2007 01:37:27 +0000 (01:37 +0000)]
* intrinsic.texi (Introduction): Rewrite first paragraph.
From-SVN: r120426
Josh Conner [Thu, 4 Jan 2007 01:37:15 +0000 (01:37 +0000)]
re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)
2007-03-01 Josh Conner <jconner@apple.com>
PR middle-end/29683
* calls.c (compute_argument_addresses): Set stack and stack_slot
for partial args, too.
(store_one_arg): Use locate.size.constant for the size when
generating a save_area.
2007-03-01 Josh Conner <jconner@apple.com>
PR middle-end/29683
* gcc.dg/pr29683.c: New.
From-SVN: r120425
Brooks Moses [Thu, 4 Jan 2007 01:29:08 +0000 (01:29 +0000)]
invoke.texi (OpenMP): Added index entry.
* invoke.texi (OpenMP): Added index entry.
* gfortran.texi (title page): Removed erroneous '*'.
From-SVN: r120424
Robert Kennedy [Thu, 4 Jan 2007 01:20:08 +0000 (01:20 +0000)]
tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results whose definitions are deleted due to basic block...
* tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
whose definitions are deleted due to basic block merging.
From-SVN: r120423
Brooks Moses [Thu, 4 Jan 2007 01:02:40 +0000 (01:02 +0000)]
gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description.
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
to description.
(Extensions): Miscellaneous minor rewriting and copyediting.
(BOZ-literal constants): Renamed from Hexadecimal constants.
(Hollerith constants support): Added explanation and
suggestions for standard-conforming modern equivalents.
From-SVN: r120422
Brooks Moses [Thu, 4 Jan 2007 00:39:15 +0000 (00:39 +0000)]
intrinsic.texi: Improvements to index entries; change @findex entries to @cindex entries.
* intrinsic.texi: Improvements to index entries; change
@findex entries to @cindex entries.
* invoke.texi: Standardize and improve index entries.
* gfortran.texi: Fix @code in one index entry.
From-SVN: r120421
Brooks Moses [Thu, 4 Jan 2007 00:19:36 +0000 (00:19 +0000)]
invoke.texi: Change @code-type macros to appropriate variants (@command, @option, etc.)
* invoke.texi: Change @code-type macros to appropriate
variants (@command, @option, etc.)
* gfortran.texi: Same.
From-SVN: r120420
GCC Administrator [Thu, 4 Jan 2007 00:17:33 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120418
Paul Brook [Thu, 4 Jan 2007 00:09:48 +0000 (00:09 +0000)]
re PR target/16634 (arm-elf-gcc problems when generating code for __attribute__ ((interrupt ("IRQ"))))
2007-01-03 Paul Brook <paul@codesourcery.com>
PR target/16634
gcc/
* config/arm/arm.c (output_return_instruction): Pop PC in interrupt
functions.
(use_return_insn): Return 0 for Thumb interrupt functions.
(print_multi_reg): Add rfe argument for IRQ returns.
(arm_output_epilogue): Pop interrupt return address directly into PC.
(arm_expand_prologue): Only adjust IRQ return address in Arm mode.
From-SVN: r120413
Jakub Jelinek [Wed, 3 Jan 2007 23:53:18 +0000 (00:53 +0100)]
re PR c++/28217 (ICE in tree_int_cst_sgn)
PR c++/28217
* g++.dg/pch/template-1.C: New test.
* g++.dg/pch/template-1.Hs: New file.
From-SVN: r120410
Brooks Moses [Wed, 3 Jan 2007 23:49:10 +0000 (23:49 +0000)]
* intrinsic.texi: Various minor cleanups.
From-SVN: r120409
Paul Brook [Wed, 3 Jan 2007 23:48:10 +0000 (23:48 +0000)]
backport: thumb2.md: New file.
2007-01-03 Paul Brook <paul@codesourcery.com>
Merge from sourcerygxx-4_1.
gcc/
* config/arm/thumb2.md: New file.
* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for
Thumb-2.
* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto.
* config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
(ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables.
* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump
tables.
(ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
* config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm
comptibility.
* config/arm/ieee754-sf.S: Ditto.
* config/arm/arm.c (thumb_base_register_rtx_p): Rename...
(thumb1_base_register_rtx_p): ... to this.
(thumb_index_register_rtx_p): Rename...
(thumb1_index_register_rtx_p): ... to this.
(thumb_output_function_prologue): Rename...
(thumb1_output_function_prologue): ... to this.
(thumb_legitimate_address_p): Rename...
(thumb1_legitimate_address_p): ... to this.
(thumb_rtx_costs): Rename...
(thumb1_rtx_costs): ... to this.
(thumb_compute_save_reg_mask): Rename...
(thumb1_compute_save_reg_mask): ... to this.
(thumb_final_prescan_insn): Rename...
(thumb1_final_prescan_insn): ... to this.
(thumb_expand_epilogue): Rename...
(thumb1_expand_epilogue): ... to this.
(arm_unwind_emit_stm): Rename...
(arm_unwind_emit_sequence): ... to this.
(thumb2_legitimate_index_p, thumb2_legitimate_address_p,
thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec,
thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem,
arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition,
thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift,
thumb2_output_casesi): New functions.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define.
(FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7,
FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME,
THUMB2_WORK_REGS): Define.
(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count,
arm_condexec_mask, arm_condexec_masklen)): New variables.
(all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m.
(arm_override_options): Check new CPU capabilities.
Set new architecture flag variables.
(arm_isr_value): Handle v7m interrupt functions.
(user_return_insn): Return 0 for v7m interrupt functions. Handle
Thumb-2.
(const_ok_for_arm): Handle Thumb-2 constants.
(arm_gen_constant): Ditto. Use movw when available.
(arm_function_ok_for_sibcall): Return false for v7m interrupt
functions.
(legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2.
(thumb_find_work_register, arm_load_pic_register,
legitimize_tls_address, arm_address_cost, load_multiple_sequence,
emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size,
print_multi_reg, output_mov_long_double_fpa_from_arm,
output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm,
output_mov_double_fpa_from_arm, output_move_double,
arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask,
output_return_instruction, arm_output_function_prologue,
arm_output_epilogue, arm_get_frame_offsets, arm_regno_class,
arm_output_mi_thunk, thumb_set_return_address): Ditto.
(arm_expand_prologue): Handle Thumb-2. Use arm_save_coproc_regs.
(arm_coproc_mem_operand): Allow POST_INC/PRE_DEC.
(arithmetic_instr, shift_op): Use arm_shift_nmem.
(arm_print_operand): Use arm_print_condition. Handle '(', ')', '.',
'!' and 'L'.
(arm_final_prescan_insn): Use extract_constrain_insn_cached.
(thumb_expand_prologue): Use thumb_set_frame_pointer.
(arm_file_start): Output directive for unified syntax.
(arm_unwind_emit_set): Handle stack alignment instruction.
* config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__.
Add v6t2, v7, v7a, v7r and v7m.
(RETLDM): Add Thumb-2 code.
(do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__.
(TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY,
TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN,
THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS,
ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS,
THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE,
CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END,
ADJUST_INSN_LENGTH): Define.
(TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE,
STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS,
BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES,
PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS,
SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT,
HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP,
HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG,
REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P,
REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS,
GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST,
ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME,
FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P,
PRINT_OPERAND_ADDRESS): Adjust for Thumb-2.
(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations.
* config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and
cortex-m3.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-protos.h: Update prototypes.
* config/arm/vfp.md: Enable patterns for Thumb-2.
(arm_movsi_vfp): Add movw alternative. Use output_move_vfp.
(arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp.
(thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp,
thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New.
* config/arm/libunwind.S: Add Thumb-2 code.
* config/arm/constraints.md: Update include Thumb-2.
* config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support.
* config/arm/ieee754-df.S: Ditto.
* config/arm/bpabi.S: Ditto.
* config/arm/t-arm (MD_INCLUDES): Add thumb2.md.
* config/arm/predicates.md (low_register_operand,
low_reg_or_int_operand, thumb_16bit_operator): New.
(thumb_cmp_operand, thumb_cmpneg_operand): Rename...
(thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this.
* config/arm/t-arm-elf: Add armv7 multilib.
* config/arm/arm.md: Update patterns for Thumb-2 and Unified asm.
Include thumb2.md.
(UNSPEC_STACK_ALIGN, ce_count): New.
(arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3,
arm_zero_extendsidi2, arm_zero_extendqidi2): New
insns/expanders.
* config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm.
(thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa,
thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns.
* config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm.
(cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn,
thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New
insns.
* doc/extend.texi: Document ARMv7-M interrupt functions.
* doc/invoke.texi: Document Thumb-2 new cores+architectures.
From-SVN: r120408
Jakub Jelinek [Wed, 3 Jan 2007 23:45:47 +0000 (00:45 +0100)]
unwind-dw2.c (SIGNAL_FRAME_BIT, [...]): Define.
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
(struct _Unwind_Context): Rename args_size to flags, remove
signal_frame field, add a new args_size field and version field.
(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
_Unwind_IsExtendedContext): New inline functions.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
Assume by_value array is only present if _Unwind_IsExtendedContext.
(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
_Unwind_IsSignalFrame.
(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
(uw_update_context_1): Use _Unwind_SetSignalFrame.
(uw_init_context_1): Initialize context->flags to
EXTENDED_CONTEXT_BIT.
* config/rs6000/linux-unwind.h (frob_update_context): Use
_Unwind_SetSignalFrame.
From-SVN: r120406
Andrew Pinski [Wed, 3 Jan 2007 23:02:13 +0000 (15:02 -0800)]
Fix PR number in my last changelog entry, I got the testsuite one correct.
From-SVN: r120405
Andrew Pinski [Wed, 3 Jan 2007 23:00:40 +0000 (23:00 +0000)]
re PR target/20353 (uclibc does not provide C99 math functions)
2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/20353
* gimplify.c (gimplify_modify_expr_complex_part): Move below
tree_to_gimple_tuple. Call tree_to_gimple_tuple when we need
the value.
2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30353
* gcc.c-torture/compile/complex-4.c: New test.
From-SVN: r120404
Joseph Myers [Wed, 3 Jan 2007 21:55:24 +0000 (21:55 +0000)]
vect.exp: Skip PowerPC targets not supporting -maltivec.
* g++.dg/vect/vect.exp: Skip PowerPC targets not supporting
-maltivec.
* gcc.target/powerpc/altivec-20.c: Use powerpc_altivec_ok.
From-SVN: r120401
Kazu Hirata [Wed, 3 Jan 2007 08:42:27 +0000 (08:42 +0000)]
* cgraphunit.c, tree-ssa-alias.c: Fix comment typos.
From-SVN: r120395