platform/upstream/linaro-gcc.git
17 years ago2007-01-05 Andrew Pinski <Andrew_Pinski@playstation.sony.com>
pinskia [Sat, 6 Jan 2007 00:26:24 +0000 (00:26 +0000)]
2007-01-05  Andrew Pinski  <Andrew_Pinski@playstation.sony.com>

        PR tree-opt/30385
        * gcc.dg/torture/inline-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120519 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Sat, 6 Jan 2007 00:17:39 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120517 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 6 Jan 2007 00:14:38 +0000 (00:14 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120512 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Fri, 5 Jan 2007 21:57:01 +0000 (21:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120505 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Fri, 5 Jan 2007 21:41:32 +0000 (21:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120504 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
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.
(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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120503 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Fri, 5 Jan 2007 21:24:16 +0000 (21:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120502 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * trans-array.c (gfc_trans_array_constructor_value): Make the
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-stmt.c (gfc_trans_character_select): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120501 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * trans-array.c (gfc_conv_loop_setup): Test whether the loop
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, to avoid fold_build2 introducing a useless
NON_LVALUE_EXPR node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120500 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 5 Jan 2007 21:04:23 +0000 (21:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120498 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 5 Jan 2007 20:26:00 +0000 (20:26 +0000)]
2007-01-05  Tobias Burnus  <burnus@net-b.de>

       * symbol.c (check_conflict): Fix error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120496 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.tpl (all-target): Correct @if conditional for target
drow [Fri, 5 Jan 2007 19:29:29 +0000 (19:29 +0000)]
* Makefile.tpl (all-target): Correct @if conditional for target
modules.
* configure.in: Omit libiberty if building only target libgcc.
* configure, Makefile.in: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120494 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago./:
ian [Fri, 5 Jan 2007 19:05:46 +0000 (19:05 +0000)]
./:
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120493 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (install): Handle multilibs.
drow [Fri, 5 Jan 2007 18:51:05 +0000 (18:51 +0000)]
* Makefile.in (install): Handle multilibs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120492 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c/30360
jakub [Fri, 5 Jan 2007 15:49:05 +0000 (15:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120486 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 5 Jan 2007 14:45:20 +0000 (14:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120485 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * doc/install.texi (Final install): Document the fact that
brobecke [Fri, 5 Jan 2007 14:40:05 +0000 (14:40 +0000)]
    * doc/install.texi (Final install): Document the fact that
        the GNAT runtime should not be stripped.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120484 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-04 Douglas Gregor <doug.gregor@gmail.com>
dgregor [Fri, 5 Jan 2007 14:16:48 +0000 (14:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120483 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-05 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 5 Jan 2007 14:00:46 +0000 (14:00 +0000)]
2007-01-05  Richard Guenther  <rguenther@suse.de>

PR middle-end/28116
* g++.dg/opt/pr28116.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120482 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-inline.c (fold_marked_statements): Update operand caches
hubicka [Fri, 5 Jan 2007 12:18:21 +0000 (12:18 +0000)]
* tree-inline.c (fold_marked_statements): Update operand caches
and EH after folding

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120477 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agofortran/
burnus [Fri, 5 Jan 2007 09:08:37 +0000 (09:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120472 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * crontab: Spread snapshots more evenly throughout the week, and
gerald [Fri, 5 Jan 2007 08:34:18 +0000 (08:34 +0000)]
* crontab: Spread snapshots more evenly throughout the week, and
in "ascending" order.  Build all at the same time of the day.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120471 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * c-common.c (check_function_nonnull): Whitespace fix.
ian [Fri, 5 Jan 2007 06:16:56 +0000 (06:16 +0000)]
* c-common.c (check_function_nonnull): Whitespace fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120470 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
hubicka [Fri, 5 Jan 2007 02:00:56 +0000 (02:00 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120469 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoPR 30371
brooks [Fri, 5 Jan 2007 01:40:06 +0000 (01:40 +0000)]
PR 30371
* check.c (gfc_check_kill_sub): Add checks for non-scalar
arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120468 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi: Minor cleanup, reflowing overlong
brooks [Fri, 5 Jan 2007 01:26:27 +0000 (01:26 +0000)]
* intrinsic.texi: Minor cleanup, reflowing overlong
paragraphs, and correcting whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120467 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi (LBOUND): Add documentation.
brooks [Fri, 5 Jan 2007 00:42:04 +0000 (00:42 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120466 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (mostlyclean): Don't remove libgcc anymore.
mrs [Fri, 5 Jan 2007 00:38:22 +0000 (00:38 +0000)]
* Makefile.in (mostlyclean): Don't remove libgcc anymore.
(clean): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120465 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Fri, 5 Jan 2007 00:17:36 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120463 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoRevert revision 120457.
bje [Fri, 5 Jan 2007 00:03:35 +0000 (00:03 +0000)]
Revert revision 120457.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120458 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * src/strstream.cc (strstreambuf::seekoff): Add parentheses around
bje [Thu, 4 Jan 2007 23:43:14 +0000 (23:43 +0000)]
* src/strstream.cc (strstreambuf::seekoff): Add parentheses around
truth expression to eliminate a new warning from g++.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120457 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* Makefile.in: Added .PHONY entry for documentation targets.
brooks [Thu, 4 Jan 2007 23:43:11 +0000 (23:43 +0000)]
* Makefile.in: Added .PHONY entry for documentation targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120456 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* Makefile.in: Add empty info, html, dvi, pdf targets.
brooks [Thu, 4 Jan 2007 23:27:33 +0000 (23:27 +0000)]
* Makefile.in: Add empty info, html, dvi, pdf targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120455 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-04 Eric Christopher <echristo@apple.com>
echristo [Thu, 4 Jan 2007 23:16:34 +0000 (23:16 +0000)]
2007-01-04  Eric Christopher  <echristo@apple.com>

    * libgcc2.c (__bswapsi2): Use SItype.
      (__bswapdi2): Use DItype.
    * libgcc2.h: Update for above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120454 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-04 Paul Brook <paul@codesourcery.com>
pbrook [Thu, 4 Jan 2007 23:13:55 +0000 (23:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120453 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi (IAND): Clarify argument specifications.
brooks [Thu, 4 Jan 2007 23:00:41 +0000 (23:00 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120452 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * fold-const.c (fold_convert): When casting an expression to void,
sayle [Thu, 4 Jan 2007 23:00:00 +0000 (23:00 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120451 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (MAKEINFO): Remove.
mrs [Thu, 4 Jan 2007 21:54:45 +0000 (21:54 +0000)]
* Makefile.in (MAKEINFO): Remove.
(PERL): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120450 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-04 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 4 Jan 2007 18:12:08 +0000 (18:12 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120449 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agofortran/
brooks [Thu, 4 Jan 2007 17:30:37 +0000 (17:30 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120447 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* invoke.texi: Update manpage copyright to include 2007.
brooks [Thu, 4 Jan 2007 17:09:34 +0000 (17:09 +0000)]
* invoke.texi: Update manpage copyright to include 2007.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120445 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* gfortran.texi: Update copyright to include 2007.
brooks [Thu, 4 Jan 2007 16:52:36 +0000 (16:52 +0000)]
* gfortran.texi: Update copyright to include 2007.
* intrinsic.texi: Update copyright to include 2007.
* invoke.texi: Update copyright to include 2007.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120444 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config.host (ia64*-*-linux*): Set tmake_file.
drow [Thu, 4 Jan 2007 16:52:02 +0000 (16:52 +0000)]
* config.host (ia64*-*-linux*): Set tmake_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120443 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
jsm28 [Thu, 4 Jan 2007 16:36:57 +0000 (16:36 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120442 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agolibcpp
tromey [Thu, 4 Jan 2007 15:32:26 +0000 (15:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120441 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (version): Define.
drow [Thu, 4 Jan 2007 14:20:15 +0000 (14:20 +0000)]
* Makefile.in (version): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120440 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agocommit changelog entry for last commit
bonzini [Thu, 4 Jan 2007 14:10:50 +0000 (14:10 +0000)]
commit changelog entry for last commit

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120439 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cgraph.c (cgraph_release_function_body): New function.
hubicka [Thu, 4 Jan 2007 11:30:10 +0000 (11:30 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120437 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cfgloop.h (enum li_flags): Make the constants powers of two.
rakdver [Thu, 4 Jan 2007 09:53:29 +0000 (09:53 +0000)]
* cfgloop.h (enum li_flags): Make the constants powers of two.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120433 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-04 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 4 Jan 2007 09:10:51 +0000 (09:10 +0000)]
2007-01-04  Paolo Bonzini  <bonzini@gnu.org>

* configure.in: Use DEV-PHASE to detect the default for --enable-werror.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120432 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 4 Jan 2007 08:57:36 +0000 (08:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120431 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-inline.c (copy_bb): Insert new statements to statements_to_fold
hubicka [Thu, 4 Jan 2007 08:56:05 +0000 (08:56 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120430 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago./
drow [Thu, 4 Jan 2007 04:22:37 +0000 (04:22 +0000)]
./
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120429 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* gfortran.texi (GNU Fortran and GCC): Rewrite
brooks [Thu, 4 Jan 2007 02:21:38 +0000 (02:21 +0000)]
* gfortran.texi (GNU Fortran and GCC): Rewrite

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120428 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* gfortran.texi (Introduction): Lower "Part I:
brooks [Thu, 4 Jan 2007 02:11:05 +0000 (02:11 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120427 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi (Introduction): Rewrite first paragraph.
brooks [Thu, 4 Jan 2007 01:37:27 +0000 (01:37 +0000)]
* intrinsic.texi (Introduction): Rewrite first paragraph.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120426 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-03-01 Josh Conner <jconner@apple.com>
jconner [Thu, 4 Jan 2007 01:37:15 +0000 (01:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120425 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* invoke.texi (OpenMP): Added index entry.
brooks [Thu, 4 Jan 2007 01:29:08 +0000 (01:29 +0000)]
* invoke.texi (OpenMP): Added index entry.
* gfortran.texi (title page): Removed erroneous '*'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120424 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
ian [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 merging.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120423 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
brooks [Thu, 4 Jan 2007 01:02:40 +0000 (01:02 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120422 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi: Improvements to index entries; change
brooks [Thu, 4 Jan 2007 00:39:15 +0000 (00:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120421 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* invoke.texi: Change @code-type macros to appropriate
brooks [Thu, 4 Jan 2007 00:19:36 +0000 (00:19 +0000)]
* invoke.texi: Change @code-type macros to appropriate
variants (@command, @option, etc.)
* gfortran.texi: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120420 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Thu, 4 Jan 2007 00:17:33 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120418 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-03 Paul Brook <paul@codesourcery.com>
pbrook [Thu, 4 Jan 2007 00:09:48 +0000 (00:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120413 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/28217
jakub [Wed, 3 Jan 2007 23:53:18 +0000 (23:53 +0000)]
PR c++/28217
* g++.dg/pch/template-1.C: New test.
* g++.dg/pch/template-1.Hs: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120410 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* intrinsic.texi: Various minor cleanups.
brooks [Wed, 3 Jan 2007 23:49:10 +0000 (23:49 +0000)]
* intrinsic.texi: Various minor cleanups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120409 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-03 Paul Brook <paul@codesourcery.com>
pbrook [Wed, 3 Jan 2007 23:48:10 +0000 (23:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120408 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
jakub [Wed, 3 Jan 2007 23:45:47 +0000 (23:45 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120406 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoFix PR number in my last changelog entry, I got the testsuite one correct.
pinskia [Wed, 3 Jan 2007 23:02:13 +0000 (23:02 +0000)]
Fix PR number in my last changelog entry, I got the testsuite one correct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120405 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Wed, 3 Jan 2007 23:00:40 +0000 (23:00 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120404 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * g++.dg/vect/vect.exp: Skip PowerPC targets not supporting
jsm28 [Wed, 3 Jan 2007 21:55:24 +0000 (21:55 +0000)]
* g++.dg/vect/vect.exp: Skip PowerPC targets not supporting
-maltivec.
* gcc.target/powerpc/altivec-20.c: Use powerpc_altivec_ok.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120401 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cgraphunit.c, tree-ssa-alias.c: Fix comment typos.
kazu [Wed, 3 Jan 2007 08:42:27 +0000 (08:42 +0000)]
* cgraphunit.c, tree-ssa-alias.c: Fix comment typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120395 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * pt.c: Fix a comment typo.
kazu [Wed, 3 Jan 2007 08:37:54 +0000 (08:37 +0000)]
* pt.c: Fix a comment typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120394 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR middle-end/30286
jakub [Wed, 3 Jan 2007 08:04:11 +0000 (08:04 +0000)]
PR middle-end/30286
* gcc.dg/pr30286.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120387 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
kazu [Wed, 3 Jan 2007 08:04:01 +0000 (08:04 +0000)]
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* cfgbuild.c (find_basic_blocks): Likewise.
* cfgrtl.c (rtl_create_basic_block): Likewise.
* function.c (temp_slots_at_level): Likewise.
* reg-stack.c (stack_regs_mentioned): Likewise.
* regclass.c (allocate_reg_info): Likewise.
* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
set_bb_for_stmt, move_block_to_fn): Likewise.
* tree-complex.c (tree_lower_complex): Likewise.
* vec.h (VEC_safe_grow_cleared): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120386 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/29535
jakub [Wed, 3 Jan 2007 08:03:26 +0000 (08:03 +0000)]
PR c++/29535
* g++.dg/template/crash66.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120385 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/29054
jakub [Wed, 3 Jan 2007 08:00:30 +0000 (08:00 +0000)]
PR c++/29054
* g++.dg/template/friend49.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120384 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P,
kazu [Wed, 3 Jan 2007 06:44:38 +0000 (06:44 +0000)]
* config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P,
REGNO_OK_FOR_DIREG_P, REWRITE_ADDRESS, ASM_OPERAND_LETTER,
RET, AT_SP): Remove.
* config/i386/i386.md (*sse_prologue_save_insn): Use return
instead of RET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120383 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-03 Steven G. Kargl <kargls@comcast.net>
jvdelisle [Wed, 3 Jan 2007 03:45:50 +0000 (03:45 +0000)]
2007-01-03  Steven G. Kargl  <kargls@comcast.net>

* gfortran.dg/ibits.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120380 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Steven G. Kargl <kargls@comcast.net>
jvdelisle [Wed, 3 Jan 2007 03:44:15 +0000 (03:44 +0000)]
2007-01-02  Steven G. Kargl  <kargls@comcast.net>

* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
build_int_cst.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120379 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
rakdver [Wed, 3 Jan 2007 02:29:00 +0000 (02:29 +0000)]
* loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass probabilities
to loop_version.
* cfgloopmanip.c (scale_loop_frequencies): Export.
(loopify): Scale the frequencies by prescribed coefficients.
(set_zero_probability): New function.
(duplicate_loop_to_header_edge): Improve updating of frequencies.
(lv_adjust_loop_entry_edge, loop_version): Set probabilities
and frequencies according to arguments.
* tree-ssa-loop-manip.c (tree_unroll_loop): Set probabilities
correctly.
* cfg.c (scale_bbs_frequencies_int): Allow scaling the frequencies up.
* modulo-sched.c (sms_schedule): Set probabilities for entering
versioned loop correctly.
* tree-vect-transform.c (vect_transform_loop): Ditto.
* cfgloop.h (loopify, loop_version): Declaration changed.
(scale_loop_frequencies): Declared.

* gcc.dg/tree-ssa/update-unroll-1.c: New test.
* gcc.dg/tree-ssa/update-unswitch-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120378 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/pr16194.c: We now output error on all three functions, not just
hubicka [Wed, 3 Jan 2007 01:12:56 +0000 (01:12 +0000)]
* gcc.dg/pr16194.c: We now output error on all three functions, not just
first one.

* cgraph.c: Include tree-flow.h
(cgraph_add_new-function): Handle IPA_SSA mode; execute
early_local_passes.
* cgraph.h (enum cgraph_state): Add CGRAPH_STATE_IPA_SSA.
* tree-pass.h (pass_all_early_optimizations): Declare.
* cgraphunit.c (cgraph_process_new_functions): Add IPA_SSA; execute
early_local_passes.
(cgraph_analyze_function): Do early_local_passes.
* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
Do not add referenced vars.
* tree-optimize.c (gate_all_optimizations): Do not execute when not in
SSA form.
(gate_all_early_local_passes): New gate.
(pass_early_local_passes): Use new gate.
(execute_early_local_optimizations): New functions.
(gate_all_early_optimizations): New gate.
(pass_all_early_optimizations): New pass.
(execute_free_datastructures): Free SSA only when initialized.
(gate_init_datastructures): Init only when optimizing.
(tree_lowering_passes): Do early local passes when called late.
* tree-profile.c (do_tree_profiling): Don't profile functions added
late.
(do_early_tree_profiling, pass_early_tree_profile): Kill.
* tree-cfg.c (update_modified_stmts): Do not update when operands are
not active.
* passes.c (init_optimizations_passes): Reorder so we go into SSA
during early_local_passes.
* Makefile.in (cgraph.o): Add dependency on tree-flow.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120373 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Wed, 3 Jan 2007 00:17:36 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120368 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
carlos [Tue, 2 Jan 2007 22:20:41 +0000 (22:20 +0000)]
gcc/

2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>

* Makefile.in: Update copyright year.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120360 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
carlos [Tue, 2 Jan 2007 22:13:19 +0000 (22:13 +0000)]
gcc/

2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>

* Makefile.in: Export GCC_EXEC_PREFIX before calling $(RUNTEST)
in $(lang_checks) and check-consistency targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120359 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
hubicka [Tue, 2 Jan 2007 21:36:17 +0000 (21:36 +0000)]
    * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
        Do not add referenced vars.
        * tree-cfg.c (update_modified_stmts): Do not update when SSA operands
        are not active.
        * passes.c (init_optimization_passes): Put mudflap_2 after
        free_datastructures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120358 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Jan Hubicka <jh@suse.cz>
hubicka [Tue, 2 Jan 2007 21:33:45 +0000 (21:33 +0000)]
2007-01-02  Jan Hubicka  <jh@suse.cz>

* tree-optimize (execute_fixup_cfg): Set after_inlining flag.
Set NOTHROW flag on call statements proved to be nothrow.
Update statement of local calls so new pure/const functions are
updated. Update_ssa when in ssa form. Mark PHI nodes of nonlocal
goto receivers.
(tree_rest_of_compilation): Register hooks and initialize bitmap
early. Do not set after_inlining flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120357 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to
sje [Tue, 2 Jan 2007 21:23:55 +0000 (21:23 +0000)]
* sbitmap.c (HOST_BITS_PER_LONG_LONG):  Change to
HOST_BITS_PER_LONGLONG

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120356 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Tue, 2 Jan 2007 20:07:44 +0000 (20:07 +0000)]
2007-01-02  Manuel Lopez-Ibanez <manu@gcc.gnu.org>

PR c/19977
* c-typeck.c (store_init_value): Don't emit pedantic overflow
warning for non-static initializers.

testsuite/
* gcc/testsuite/gcc.dg/overflow-warn-3.c: Remove XFAIL.
* gcc/testsuite/gcc.dg/overflow-warn-4.c: Remove XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120355 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md,
steven [Tue, 2 Jan 2007 18:50:33 +0000 (18:50 +0000)]
    * config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md,
        m32r/m32r.c, m32r/m32r.c, mn10300/mn10300.md, pa/pa.c,
        rs6000/rs6000.c, s390/s390.md, sh/sh.md, sparc/sparc.c:
        Always use set_unique_reg_note to add REG_EQUAL notes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120353 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Revert:
kazu [Tue, 2 Jan 2007 18:06:37 +0000 (18:06 +0000)]
Revert:
2007-01-02  Kazu Hirata  <kazu@codesourcery.com>

* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* cfgbuild.c (find_basic_blocks): Likewise.
* cfgrtl.c (rtl_create_basic_block): Likewise.
* function.c (temp_slots_at_level): Likewise.
* reg-stack.c (stack_regs_mentioned): Likewise.
* regclass.c (allocate_reg_info): Likewise.
* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
set_bb_for_stmt, move_block_to_fn): Likewise.
* tree-complex.c (tree_lower_complex): Likewise.
* vec.h (VEC_safe_grow_cleared): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120351 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago./:
ian [Tue, 2 Jan 2007 17:49:07 +0000 (17:49 +0000)]
./:
* c-common.c (c_common_truthvalue_conversion): When warning about
using an assignment as a truth value, set TREE_NO_WARNING.
cp/:
* semantics.c (maybe_convert_cond): Optionally warn when using an
assignment as a condition.
* typeck.c (convert_for_assignment): Optionally warn about
assigning the result of an assignment to a bool.
testsuite/:
* g++.dg/warn/Wparentheses-22.C: New test.
* g++.dg/warn/Wparentheses-23.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120348 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Tue, 2 Jan 2007 17:33:25 +0000 (17:33 +0000)]
2007-01-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR middle-end/7651
* c.opt (Wold-style-declaration): New.
* doc/invoke.texi (C-only Warning Options): New.
(Wold-style-declaration): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-decl.c (declspecs_add_scspec): Replace -Wextra with
-Wold-style-declaration.

testsuite/
* gcc.dg/declspec-3.c: Replace -W with -Wold-style-declaration.
* gcc.dg/declspec-3-Wextra.c: New.
* gcc.dg/declspec-3-no.c: New

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120347 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
kazu [Tue, 2 Jan 2007 17:03:22 +0000 (17:03 +0000)]
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* cfgbuild.c (find_basic_blocks): Likewise.
* cfgrtl.c (rtl_create_basic_block): Likewise.
* function.c (temp_slots_at_level): Likewise.
* reg-stack.c (stack_regs_mentioned): Likewise.
* regclass.c (allocate_reg_info): Likewise.
* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
set_bb_for_stmt, move_block_to_fn): Likewise.
* tree-complex.c (tree_lower_complex): Likewise.
* vec.h (VEC_safe_grow_cleared): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120345 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 2 Jan 2007 15:54:20 +0000 (15:54 +0000)]
2007-01-02  Tobias Burnus  <burnus@net-b.de>

PR fortran/30276
* scanner.c (open_included_file): Support full-path filenames.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120344 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
dgregor [Tue, 2 Jan 2007 14:26:29 +0000 (14:26 +0000)]
2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>

* pt.c (canonical_template_parms): Correct typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120343 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 2 Jan 2007 14:23:36 +0000 (14:23 +0000)]
2007-01-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20896
* interface.c (check_sym_interfaces): Remove call to
resolve_global_procedure.
gfortran.h : Remove prototype for resolve_global_procedure.
resolve.c (resolve_global_procedure): Add static attribute
to function declaration.

2007-01-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20896
* gfortran.dg/interface_10.f90: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120342 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
dgregor [Tue, 2 Jan 2007 14:23:26 +0000 (14:23 +0000)]
2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>

* c-common.c(c_common_nodes_and_builtins): Since variants of
void_type_node get built before it is given a name, we need to
give those variants the name, too.
(complete_array_type): We need to work with the canonical main
type of the array, from which we will build the qualified version.
* params.def (PARAM_VERIFY_CANONICAL_TYPES): New.
* print-tree.c (print_node): Display canonical type information
for each type.
* stor-layout.c (layout_type): When we don't know the
alignment of a type for which we're building an array, we end up
guessing wrong, so make the type require structural equality.
* tree.c (make_node_stat): When we build a new type, it is its
own canonical type.
(build_type_attribute_qual_variant): When building an attribute
variant, its canonical type is the non-attribute variant. However,
if the attributes are target-dependent and they differ, we need to
use structural equality checks for this type.
(build_qualified_type): A qualified type is not equivalent to its
unqualified variant; set the canonical type appropriately.
(build_distinct_type_copy): When building a distinct type from
another type, the new type is its own canonical type.
(build_variant_type_copy): When building a new type variant, we
assume that it is equivalent to the original type.
(build_pointer_type_for_mode): When building a pointer type, also
build a canonical type pointer.
(build_reference_type_for_mode): When building a reference type,
also build a canonical type reference.
(build_index_type): When we can't hash an index type (e.g.,
because its maximum value is negative), the index type requires
structural equality tests.
(build_array_type): Build the canonical form of an array type.
(build_function_type): Function types require structural equality,
because they contain default arguments, attributes, etc.
(build_method_type_directly): Ditto for method types.
(build_offset_type): Build the canonical offset type.
(build_complex_type): Build the canonical vector type.
(make_vector_type): Build the canonical vector type.
* tree.h (TYPE_CANONICAL): New.
(TYPE_STRUCTURAL_EQUALITY_P): New.
(SET_TYPE_STRUCTURAL_EQUALITY): New.
(struct tree_type): Added "canonical" field.
* params.h (VERIFY_CANONICAL_TYPES): New.
* doc/c-tree.texi (TYPE_CANONICAL): Document.
(TYPE_STRUCTURAL_EQUALITY_P): Document.
(SET_TYPE_STRUCTURAL_EQUALITY): Document.
* doc/invoke.texi (verify-canonical-types): Document --param
parameter for verifying canonical types.

2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>

* typeck.c (structural_comptypes): Renamed from "comptypes".
(comptypes): Use canonical type information to perform fast type
comparison. When VERIFY_CANONICAL_TYPES, verify that the
canonical type comparison returns the same results as we would see
from the current, structural check. Support COMPARE_STRUCTURAL
when we need structural checks.
* decl.c (typename_compare): Fix comment.
(build_typename_type): TYPENAME_TYPE nodes require structural
equality checks, because they resolve different based on the
current class type.
(make_unbound_class_template): UNBOUND_CLASS_TEMPLATE nodes
require structural equality checks (for now).
(build_ptrmemfunc_type): Build the canonical pointer to member
function type.
(compute_array_index_type): Whenever we build a new index type
to represent the size of an array in a template, we need to mark
this index type as requiring structural equality. This goes for
arrays with value-dependent sizes with the current ABI, or all
arrays with ABI-1.
* tree.c (cplus_array_hash): New.
(struct cplus_array_info): New.
(cplus_array_compare): New.
(cplus_array_htab): New.
(build_cplus_array_type_1): Use a hash table to cache the array
types we build. Build the canonical array type for each array
type.
(cp_build_qualified_type_real): When building a cv-qualified array
type, use the hash table of array types and build canonical array
types as necessary.
(bind_template_template_parm): BOUND_TEMPLATE_TEMPLATE_PARM nodes
use structural equality (for now).
* cp-tree.h (COMPARE_STRUCTURAL): New.
* pt.c (canonical_template_parms): New.
(canonical_type_parameter): New.
(process_template_parm): Find the canonical type parameter.
(lookup_template_class): When we have named the primary template
type, set the canonical type for our template class to the primary
template type. If any of the template arguments need structural
equality checks, the template class needs structural equality
checks.
(tsubst): When reducing the level of a template template
parameter, we require structural equality tests for the resulting
parameter because its template parameters have not had their types
canonicalized. When reducing a template type parameter, find the
canonical reduced type parameter.
(any_template_arguments_need_structural_equality_p): New.

2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>

* objc-act.c (objc_build_volatilized_type): Keep track of
canonical types.
(objc_get_protocol_qualified_type): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120341 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
jsm28 [Tue, 2 Jan 2007 13:08:01 +0000 (13:08 +0000)]
* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*,
powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae,
powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to
tm_file.
* config/rs6000/e500.h: New.
* config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500,
TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE):
Remove.
* config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE,
TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE,
TARGET_E500_DOUBLE): Remove.
* config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE,
TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove.
* config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define.
* config/rs6000/rs6000.c (rs6000_override_options): Use
CHECK_E500_OPTIONS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120340 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
jsm28 [Tue, 2 Jan 2007 13:03:59 +0000 (13:03 +0000)]
* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
TARGET_E500_DOUBLE), not TARGET_E500, for %y.
(rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch,
rs6000_emit_cmove): Don't check TARGET_E500.
* config/rs6000/rs6000.md (bunordered, bordered, sunordered,
sordered): Don't check TARGET_E500.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120339 138bc75d-0d04-0410-961f-82ee72b054a4