public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/29315] New: error passing an array derived from struc ture elements
@ 2006-10-02 2:41 stephen dot jeffrey at nrm dot qld dot gov dot au
2006-10-02 2:44 ` [Bug fortran/29315] " pinskia at gcc dot gnu dot org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: stephen dot jeffrey at nrm dot qld dot gov dot au @ 2006-10-02 2:41 UTC (permalink / raw)
To: gcc-bugs
Could you please examine the code below.
The code constructs an array of structures, where the structure contains an
array of integers. The code then attempts to pass the first element of each
structure's array into an array in a subroutine - this step fails. It appears
as though the memory locations being accessed to generate the temporary array
in the subroutine has an incorrect stride. The stride appears to be 1, instead
of the size of the structure.
The code appears to run correctly when compiled with SGI and Cray compilers.
Results are:
------------
Results when compiled with gfc compiler:
Original: 1 11 21
Original: 2 12 22
Original: 3 13 23
Original: 4 14 24
Original: 5 15 25
Added 100 to a(1): 101 102 103
Added 100 to a(1): 104 105 22
Added 100 to a(1): 3 13 23
Added 100 to a(1): 4 14 24
Added 100 to a(1): 5 15 25
Results when compiled with SGI compiler, or Cray compiler:
Original: 1, 11, 21
Original: 2, 12, 22
Original: 3, 13, 23
Original: 4, 14, 24
Original: 5, 15, 25
Added 100 to a(1): 101, 11, 21
Added 100 to a(1): 102, 12, 22
Added 100 to a(1): 103, 13, 23
Added 100 to a(1): 104, 14, 24
Added 100 to a(1): 105, 15, 25
Code is:
--------
program test_f90
integer, parameter :: N = 5
type test_type
integer a(3)
end type
type (test_type) s(N)
integer i
! "s" is an array of structures,where the structure contains an array of
length 3
do i=1, N
s(i)%a(1) = i
s(i)%a(2) = i + 10
s(i)%a(3) = i + 20
enddo
! "s" is initialised as follows: s(1)%a(1) = 1, s(1)%a(2) = 11, s(1)%a(3)
= 21
! s(2)%a(1) = 2, s(2)%a(2) = 12, s(2)%a(3)
= 22
! s(3)%a(1) = 3, s(3)%a(2) = 13, s(3)%a(3)
= 23
! s(4)%a(1) = 4, s(4)%a(2) = 14, s(4)%a(3)
= 24
! s(5)%a(1) = 5, s(5)%a(2) = 15, s(5)%a(3)
= 25
do i=1, N
write(*, *) 'Original: ', s(i)%a(1), s(i)%a(2), s(i)%a(3)
enddo
write(*, *) ' '
! Add an offset to: s(1)%a(1), s(2)%a(1), s(3)%a(1), s(4)%a(1), s(5)%a(1)
call test_sub(s%a(1), 100)
! "s" should now contain: s(1)%a(1) = 101, s(1)%a(2) = 11, s(1)%a(3)
= 21
! s(2)%a(1) = 102, s(2)%a(2) = 12, s(2)%a(3)
= 22
! s(3)%a(1) = 103, s(3)%a(2) = 13, s(3)%a(3)
= 23
! s(4)%a(1) = 104, s(4)%a(2) = 14, s(4)%a(3)
= 24
! s(5)%a(1) = 105, s(5)%a(2) = 15, s(5)%a(3)
= 25
do i=1, N
write(*, *) 'Added 100 to a(1): ', s(i)%a(1), s(i)%a(2), s(i)%a(3)
enddo
contains
subroutine test_sub(array, offset)
integer array(:), offset
integer i
do i=1, N
array(i) = i + offset
enddo
end subroutine
end program
--
Summary: error passing an array derived from struc ture elements
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: stephen dot jeffrey at nrm dot qld dot gov dot au
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from struc ture elements
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
@ 2006-10-02 2:44 ` pinskia at gcc dot gnu dot org
2006-10-02 2:53 ` [Bug fortran/29315] error passing an array derived from type element pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-02 2:44 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|major |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
2006-10-02 2:44 ` [Bug fortran/29315] " pinskia at gcc dot gnu dot org
@ 2006-10-02 2:53 ` pinskia at gcc dot gnu dot org
2006-10-02 3:08 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-02 2:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2006-10-02 02:53 -------
I know I have seen a bug like this before.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
2006-10-02 2:44 ` [Bug fortran/29315] " pinskia at gcc dot gnu dot org
2006-10-02 2:53 ` [Bug fortran/29315] error passing an array derived from type element pinskia at gcc dot gnu dot org
@ 2006-10-02 3:08 ` pinskia at gcc dot gnu dot org
2006-10-02 8:09 ` paul dot richard dot thomas at cea dot fr
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-02 3:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-10-02 03:07 -------
Confirmed, we don't set the stride correctly as far as I can tell.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-10-02 03:07:51
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (2 preceding siblings ...)
2006-10-02 3:08 ` pinskia at gcc dot gnu dot org
@ 2006-10-02 8:09 ` paul dot richard dot thomas at cea dot fr
2006-10-27 14:37 ` pault at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: paul dot richard dot thomas at cea dot fr @ 2006-10-02 8:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from paul dot richard dot thomas at cea dot fr 2006-10-02 08:09 -------
(In reply to comment #2)
> Confirmed, we don't set the stride correctly as far as I can tell.
This comes about because of the admitted kludge in the mechanism for passing
components of derived type arrays. At line 1588 in trans-exp.c, you will find
the comment:
/* Returns a reference to a temporary array into which a component of
an actual argument derived type array is copied and then returned
after the function call.
TODO Get rid of this kludge, when array descriptors are capable of
handling aliased arrays. */
Maybe the time has come for byte size strides, although it will be a horrific
job to implement.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (3 preceding siblings ...)
2006-10-02 8:09 ` paul dot richard dot thomas at cea dot fr
@ 2006-10-27 14:37 ` pault at gcc dot gnu dot org
2006-11-09 22:41 ` patchapp at dberlin dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-10-27 14:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pault at gcc dot gnu dot org 2006-10-27 14:37 -------
I am sorry but I realised on looking at this again that the stride has nothing
to do with this one - the patch below regtests but has not been checked for
correct-in-all-cases logic. Since the original was incorrect, give me a couple
more days to get home and give this some clear thought... or what goes for
clear thought.
Paul
Index: gcc/fortran/trans-expr.c
===================================================================
*** gcc/fortran/trans-expr.c (revision 117860)
--- gcc/fortran/trans-expr.c (working copy)
*************** is_aliased_array (gfc_expr * e)
*** 1840,1846 ****
if (ref->type == REF_ARRAY)
seen_array = true;
! if (ref->next == NULL
&& ref->type != REF_ARRAY)
return seen_array;
}
--- 1845,1851 ----
if (ref->type == REF_ARRAY)
seen_array = true;
! if (seen_array
&& ref->type != REF_ARRAY)
return seen_array;
}
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2006-10-02 03:07:51 |2006-10-27 14:37:47
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (4 preceding siblings ...)
2006-10-27 14:37 ` pault at gcc dot gnu dot org
@ 2006-11-09 22:41 ` patchapp at dberlin dot org
2006-11-10 17:22 ` pault at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: patchapp at dberlin dot org @ 2006-11-09 22:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from patchapp at dberlin dot org 2006-11-09 22:40 -------
Subject: Bug number PR29315
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00582.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (5 preceding siblings ...)
2006-11-09 22:41 ` patchapp at dberlin dot org
@ 2006-11-10 17:22 ` pault at gcc dot gnu dot org
2006-11-12 7:41 ` pault at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-10 17:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pault at gcc dot gnu dot org 2006-11-10 17:22 -------
Subject: Bug 29315
Author: pault
Date: Fri Nov 10 17:21:57 2006
New Revision: 118659
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118659
Log:
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29315
* trans-expr.c (is_aliased_array): Treat correctly the case where the
component is itself and array or array reference.
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29315
* gfortran.dg/aliasing_dummy_4.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/aliasing_dummy_4.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (6 preceding siblings ...)
2006-11-10 17:22 ` pault at gcc dot gnu dot org
@ 2006-11-12 7:41 ` pault at gcc dot gnu dot org
2006-11-12 7:44 ` pault at gcc dot gnu dot org
2006-12-01 1:06 ` chaoyingfu at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-12 7:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pault at gcc dot gnu dot org 2006-11-12 07:40 -------
Subject: Bug 29315
Author: pault
Date: Sun Nov 12 07:40:26 2006
New Revision: 118719
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118719
Log:
2006-11-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29699
* trans-array.c (structure_alloc_comps): Detect pointers to
arrays and use indirect reference to declaration.
* resolve.c (resolve_fl_variable): Tidy up condition.
(resolve_symbol): The same and only add initialization code if
the symbol is referenced.
* trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
deferred_array before gfc_trans_auto_array_allocation.
PR fortran/21730
* symbol.c (check_done): Remove.
(gfc_add_attribute): Remove reference to check_done and remove
the argument attr_intent.
(gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
gfc_add_target, gfc_add_in_common, gfc_add_elemental,
gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
gfc_add_type): Remove references to check_done.
* decl.c (attr_decl1): Eliminate third argument in call to
gfc_add_attribute.
* gfortran.h : Change prototype for gfc_add_attribute.
PR fortran/29431
* trans-array.c (get_array_ctor_strlen): If we fall through to
default, use a constant character length if it is available.
PR fortran/29758
* check.c (gfc_check_reshape): Check that there are enough
elements in the source array as to be able to fill an array
defined by shape, when pad is absent.
PR fortran/29315
* trans-expr.c (is_aliased_array): Treat correctly the case where the
component is itself and array or array reference.
2006-11-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29699
* gfortran.dg/alloc_comp_auto_array_1.f90: New test.
PR fortran/21730
* gfortran.dg/change_symbol_attributes_1.f90: New test.
PR fortran/29431
* gfortran.dg/array_constructor_13.f90: New test.
PR fortran/29758
* gfortran.dg/reshape_source_size_1.f90: New test.
PR fortran/29315
* gfortran.dg/aliasing_dummy_4.f90: New test.
Added:
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/aliasing_dummy_4.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/alloc_comp_auto_array_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/array_constructor_13.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/change_symbol_attributes_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/reshape_source_size_1.f90
Modified:
branches/gcc-4_2-branch/gcc/fortran/ChangeLog
branches/gcc-4_2-branch/gcc/fortran/check.c
branches/gcc-4_2-branch/gcc/fortran/decl.c
branches/gcc-4_2-branch/gcc/fortran/gfortran.h
branches/gcc-4_2-branch/gcc/fortran/resolve.c
branches/gcc-4_2-branch/gcc/fortran/symbol.c
branches/gcc-4_2-branch/gcc/fortran/trans-array.c
branches/gcc-4_2-branch/gcc/fortran/trans-decl.c
branches/gcc-4_2-branch/gcc/fortran/trans-expr.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (7 preceding siblings ...)
2006-11-12 7:41 ` pault at gcc dot gnu dot org
@ 2006-11-12 7:44 ` pault at gcc dot gnu dot org
2006-12-01 1:06 ` chaoyingfu at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-12 7:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from pault at gcc dot gnu dot org 2006-11-12 07:44 -------
Fixed on trunk and 4.2. 4.1 will follow next weekend.
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/29315] error passing an array derived from type element
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
` (8 preceding siblings ...)
2006-11-12 7:44 ` pault at gcc dot gnu dot org
@ 2006-12-01 1:06 ` chaoyingfu at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: chaoyingfu at gcc dot gnu dot org @ 2006-12-01 1:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from chaoyingfu at gcc dot gnu dot org 2006-12-01 01:03 -------
Subject: Bug 29315
Author: chaoyingfu
Date: Fri Dec 1 01:01:21 2006
New Revision: 119392
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119392
Log:
Merged revisions 118654-118785 via svnmerge from
svn+ssh://chaoyingfu@sources.redhat.com/svn/gcc/trunk
........
r118654 | jakub | 2006-11-10 07:50:39 -0800 (Fri, 10 Nov 2006) | 3 lines
* config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
strtold_l over __strtold_l if available.
........
r118659 | pault | 2006-11-10 09:21:57 -0800 (Fri, 10 Nov 2006) | 12 lines
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29315
* trans-expr.c (is_aliased_array): Treat correctly the case where the
component is itself and array or array reference.
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29315
* gfortran.dg/aliasing_dummy_4.f90: New test.
........
r118661 | burnus | 2006-11-10 10:15:39 -0800 (Fri, 10 Nov 2006) | 6 lines
2006-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/29454
* resolve.c (gfc_resolve_blocks): Fix error message.
........
r118662 | fche | 2006-11-10 10:42:28 -0800 (Fri, 10 Nov 2006) | 14 lines
2006-11-10 Frank Ch. Eigler <fche@redhat.com>
PR libmudflap/28578
* mf-hooks1.c (__mf_0fn_malloc): Make the bootstrap buffers
static but not function scope static.
(free): Skip deallocation attempts for objects placed into
bootstrap buffers.
* testsuite/libmudflap.cth/pass59-frag.c: New test.
M libmudflap/mf-hooks1.c
M libmudflap/ChangeLog
A libmudflap/testsuite/libmudflap.cth/pass59-frag.c
........
r118664 | pault | 2006-11-10 13:06:42 -0800 (Fri, 10 Nov 2006) | 16 lines
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29758
* check.c (gfc_check_reshape): Check that there are enough
elements in the source array as to be able to fill an array
defined by shape, when pad is absent.
2006-11-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29758
* gfortran.dg/reshape_source_size_1.f90: New test.
........
r118665 | hubicka | 2006-11-10 13:42:04 -0800 (Fri, 10 Nov 2006) | 9 lines
* cse.c (cse_process_notes): Copy the propagated value.
* local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
in REG_EQUIV notes.
* gcse.c (try_replace_reg): Copy the replacement.
* i386.c (emit_i387_cw_initialization): Copy stored_mode
(assign_386_stack_local): Always return copied memory expression
* function.c (instantiate_virtual_regs_in_insn): Copy the operand
duplicates.
........
r118668 | brooks | 2006-11-10 14:34:26 -0800 (Fri, 10 Nov 2006) | 9 lines
* lang.opt (-fmodule-private): Remove option.
* gfortran.h (gfc_option_t): Remove module_access_private flag.
* options.c (gfc_init_options): Remove initialization for it.
(gfc_process_option): Remove handling for -fmodule-private.
* module.c (gfc_check_access): Add comments, remove check for
gfc_option.flag_module_access_private.
(Also fixed tab-damage in preceeding changelog entry.)
........
r118670 | brooks | 2006-11-10 15:43:05 -0800 (Fri, 10 Nov 2006) | 3 lines
Corrected gfc_process_option to gfc_handle_option in my last
ChangeLog entry.
........
r118676 | gccadmin | 2006-11-10 16:17:31 -0800 (Fri, 10 Nov 2006) | 1 line
Daily bump.
........
r118678 | sayle | 2006-11-10 17:47:18 -0800 (Fri, 10 Nov 2006) | 7 lines
* tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
when attempting to build INTEGER_CSTs of non-integral types.
* expmed.c (make_tree): Use the correct type, i.e. the inner
type, when constructing the individual elements of a CONST_VECTOR.
........
r118682 | ghazi | 2006-11-10 20:01:42 -0800 (Fri, 10 Nov 2006) | 6 lines
* fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.
testsuite:
* gcc.dg/torture/builtin-symmetric-1.c: New test.
........
r118683 | ghazi | 2006-11-10 20:05:14 -0800 (Fri, 10 Nov 2006) | 8 lines
* builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().
(fold_builtin_hypot): Likewise.
* fold-const.c (fold_strip_sign_ops): Handle "odd" builtins.
testsuite:
* gcc.dg/builtins-20.c: Add more cases for stripping sign ops.
........
r118684 | bergner | 2006-11-10 20:20:37 -0800 (Fri, 10 Nov 2006) | 3 lines
* rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
........
r118685 | sayle | 2006-11-10 21:00:10 -0800 (Fri, 10 Nov 2006) | 5 lines
* fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
........
r118686 | jiez | 2006-11-10 23:48:33 -0800 (Fri, 10 Nov 2006) | 3 lines
* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
(NO_PROFILE_COUNTERS): Define as 1.
........
r118689 | rsandifo | 2006-11-11 01:47:35 -0800 (Sat, 11 Nov 2006) | 10 lines
gcc/
PR middle-end/27528
* stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
constraints accept neither registers or memories.
gcc/testsuite/
PR middle-end/27528
* gcc.c-torture/compile/pr27528.c: New test.
* gcc.dg/pr27528.c: Likewise.
........
r118691 | rakdver | 2006-11-11 02:15:18 -0800 (Sat, 11 Nov 2006) | 5 lines
* tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
* tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file.
(tree_ssa_prefetch_arrays): Do not dump for removed loops.
........
r118692 | rguenth | 2006-11-11 04:05:16 -0800 (Sat, 11 Nov 2006) | 33 lines
2006-11-11 Richard Guenther <rguenther@suse.de>
* tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
Remove unused tree codes.
* tree-vrp.c (extract_range_from_unary_expr): Remove handling
of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
* tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
* tree.c (stabilize_reference): Likewise.
* fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
fold_unary): Likewise.
* tree-gimple.c (is_gimple_cast): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-cfg.c (verify_expr): Likewise.
cp/
* typeck.c (build_unary_op): Likewise.
java/
* check-init.c (check_init): Likewise.
ada/
* trans.c (maybe_stabilize_reference): Likewise.
fortran/
* trans-intrinsic.c (enum rounding_mode): New enum.
(build_fix_expr, gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
gfc_conv_intrinsic_function): Use it instead of FIX_CEIL_EXPR,
FIX_FLOOR_EXPR, FIX_ROUND_EXPR and FIX_TRUNC_EXPR.
........
r118693 | hubicka | 2006-11-11 07:50:16 -0800 (Sat, 11 Nov 2006) | 34 lines
* tree-pass.h (pass_purge_lineno_notes): Remove declaration.
* modulo-sched.c (find_line_note): Remove.
(loop_canon_p): Do not worry about line number notes.
(sms_schedule): Likewise.
* cse.c (cse_main): Likewise.
* regmove.c (fixup_match_1): Likewise
* function.c (emit_return_info_block): Likewise.
(expand_function_end): Likewise.
(thread_prologue_an_epilogue_insns): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
Likewise.
* emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
emit_note_copy_after): Kill.
(emit_note_copy): Do not worry about line numbers.
* jump.c (purge_line_number_notes): Kill.
(pass_purge_lineno_notes): Kill.
* cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
call.
* rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
* passes.c (init_optimization_passes): Don't purge_lineno_notes.
* sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
* tree-pass.h (pass_purge_lineno_notes): Kill.
* sched-ebb.c (schedule_ebb): Don't rm_line_notes,
rm_redundant_line_notes.
* sched-rgb.c (schedule_region): Don't rm_line_notes,
rm_redundant_line_notes.
* sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
* haifa-sched.c: Update comment about handling notes.
(unlink_line_notes): Kill.
(rm_line_notes): Kill.
(save_line_notes): Simplify.
(rm_redundant_line_notes): Kill.
........
r118694 | hubicka | 2006-11-11 08:13:09 -0800 (Sat, 11 Nov 2006) | 3 lines
* predict.c (predict_loops): Kill RTL variant.
........
r118695 | ghazi | 2006-11-11 08:51:17 -0800 (Sat, 11 Nov 2006) | 3 lines
* tree-pretty-print.c (dump_generic_node): Print sign of Inf.
........
r118696 | hubicka | 2006-11-11 08:54:57 -0800 (Sat, 11 Nov 2006) | 21 lines
* extended.texi (__builtin_expect): We no longer require second
argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch
probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.
........
r118697 | hubicka | 2006-11-11 08:55:48 -0800 (Sat, 11 Nov 2006) | 21 lines
* extended.texi (__builtin_expect): We no longer require second
argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch
probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.
........
r118698 | hubicka | 2006-11-11 08:57:13 -0800 (Sat, 11 Nov 2006) | 3 lines
Oops, commited wrong variant of patch in last commit, this is the diff
to correct one.
........
r118699 | ghazi | 2006-11-11 09:02:04 -0800 (Sat, 11 Nov 2006) | 5 lines
* configure.in (have_gmp): Only error if the gcc directory exists.
* configure: Regenerate.
........
r118700 | tobi | 2006-11-11 09:10:24 -0800 (Sat, 11 Nov 2006) | 5 lines
* data.c: Add 2006 to copyright years.
* interface.c: Same.
* misc.c: Same.
* trans-io.c: Same.
........
r118701 | paolo | 2006-11-11 09:32:12 -0800 (Sat, 11 Nov 2006) | 25 lines
2006-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29496
* include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
New.
* src/debug.cc: Define the latter.
(_Safe_sequence_base::_M_detach_all, _M_detach_singular,
_M_revalidate_singular, _M_swap): Use the mutex.
(_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
*_single version.
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
_M_invalidate_single): New.
* include/debug/safe_iterator.tcc: Define.
(_Safe_iterator<>::_M_invalidate): Adjust, forward to
_M_invalidate_single.
* include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
_M_transfer_iter): Use the mutex, adjust, forward to the *_single
versions of _M_invalidate and _M_attach.
* config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
Add @GLIBCXX_3.4.10; adjust.
* configure.ac (libtool_VERSION): To 6:10:0.
* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.10.
* configure: Regenerate.
........
r118702 | tobi | 2006-11-11 09:56:11 -0800 (Sat, 11 Nov 2006) | 1 line
Fix typo in previous check-in
........
r118703 | tobi | 2006-11-11 11:20:11 -0800 (Sat, 11 Nov 2006) | 1 line
Fix entry missing from previously committed ChangeLog
........
r118709 | gccadmin | 2006-11-11 16:17:50 -0800 (Sat, 11 Nov 2006) | 1 line
Daily bump.
........
r118711 | jiez | 2006-11-11 16:21:30 -0800 (Sat, 11 Nov 2006) | 3 lines
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
and __BFIN__.
........
r118713 | jiez | 2006-11-11 16:27:46 -0800 (Sat, 11 Nov 2006) | 8 lines
Revert
2006-11-11 Jie Zhang <jie.zhang@analog.com>
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
and __BFIN__.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
instead of builtin_define for bfin and BFIN.
........
r118716 | pinskia | 2006-11-11 17:10:56 -0800 (Sat, 11 Nov 2006) | 15 lines
2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/28812
* alias.c (fixed_scalar_and_varying_struct_p): Don't return a
non null value if the struct memory access is in the 0th
aliasing set.
2006-11-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR rtl-opt/28812
* gcc.c-torture/execute/mayalias-3.c: New test.
........
r118718 | sayle | 2006-11-11 18:57:10 -0800 (Sat, 11 Nov 2006) | 16 lines
* fold-const.c (int_binop_types_match_p): New function.
(size_binop): Relax constraint that both arguments must both have
exactly the same sizetype type. Instead use int_binop_types_match_p.
(size_diffop): Likewise.
(make_range): Use build_int_cst instead of fold_convert.
(fold_cond_expr_with_comparison): Use build_int_cst to construct
integer constants of the correct type.
(fold_div_compare): Likewise.
(fold_single_bit_test): Likewise.
(fold_binary): Likewise.
* stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.
........
r118721 | pault | 2006-11-12 02:15:04 -0800 (Sun, 12 Nov 2006) | 1 line
Correcting ChangeLog errors
........
r118722 | paolo | 2006-11-12 02:37:00 -0800 (Sun, 12 Nov 2006) | 6 lines
2006-11-12 Paolo Carlini <pcarlini@suse.de>
* include/ext/bitmap_allocator.h: Uglify some names.
* include/ext/concurrence.h: Likewise.
* src/bitmap_allocator.cc: Likewise.
........
r118723 | schwab | 2006-11-12 03:15:28 -0800 (Sun, 12 Nov 2006) | 2 lines
* except.c (sjlj_emit_function_enter): Remove unused variable.
........
r118724 | daney | 2006-11-12 09:12:13 -0800 (Sun, 12 Nov 2006) | 3 lines
PR java/29805
* typeck.c (build_java_array_type): Increase buffer sizes.
........
r118726 | rakdver | 2006-11-12 10:20:03 -0800 (Sun, 12 Nov 2006) | 8 lines
* cfgloopmanip.c (update_single_exit_for_duplicated_loop,
update_single_exit_for_duplicated_loops): New functions.
(duplicate_loop_to_header_edge): Use
update_single_exit_for_duplicated_loops.
* tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
functions only with ENABLE_CHECKING.
........
r118727 | sayle | 2006-11-12 10:41:31 -0800 (Sun, 12 Nov 2006) | 8 lines
PR tree-optimization/13827
* fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
as ((X^Y)&C) op 0.
* gcc.dg/fold-eqand-1.c: New test case.
........
r118728 | rakdver | 2006-11-12 11:17:02 -0800 (Sun, 12 Nov 2006) | 33 lines
* params.c (set_param_value): Initialize the "set" field.
* params.h (struct param_info): Add "set" field.
(PARAM_SET_P): New macro.
(PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
L1_CACHE_LINE_SIZE): New macros.
* toplev.c (DEFPARAM): Initialize the "set" field.
* tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
SIMULTANEOUS_PREFETCHES): Removed.
(PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
(tree_ssa_prefetch_arrays): Dump the values of the parameters.
* config/sparc/sparc.c: Include params.h.
(sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.c: Include params.h.
(k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
(override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
(OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.c (ia64_optimization_options): Set
SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
Removed.
* params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
* doc/invoke.texi: Document new params.
........
r118729 | rakdver | 2006-11-12 11:58:05 -0800 (Sun, 12 Nov 2006) | 42 lines
* Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
* tree-ssa-loop-niter.c (derive_constant_upper_bound): Follow
ud-chains. Handle AND_EXPR.
(record_estimate): Record whether the estimate is realistic
and whether it is derived from a loop exit.
(record_nonwrapping_iv, idx_infer_loop_bounds,
infer_loop_bounds_from_ref,
infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
functions.
(compute_estimated_nb_iterations): Take only realistic bounds into
account. Set estimate_state. Use double_ints.
(infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
and infer_loop_bounds_from_signedness. Do not consider basic blocks
that do not have to be always executed.
(estimate_numbers_of_iterations_loop): Set estimate_state, and use it
to determine whether to call infer_loop_bounds_from_undefined
and compute_estimated_nb_iterations.
(n_of_executions_at_most): Use double_ints.
(free_numbers_of_iterations_estimates_loop): Set estimate_state.
(substitute_in_loop_info): Do not replace in estimated_nb_iterations.
* double-int.c (double_int_to_tree): Improve comment.
(double_int_fits_to_tree_p): New function.
* double-int.h (double_int_fits_to_tree_p): Declare.
* tree-data-ref.c: Include langhooks.h.
(estimate_niter_from_size_of_data, estimate_iters_using_array):
Removed.
(analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
(analyze_array): Do not pass estimate_only argument to
analyze_array_indexes.
(get_number_of_iters_for_loop): Build tree from the stored double_int
value.
(get_references_in_stmt, find_data_references_in_stmt): New functions.
(find_data_references_in_loop): Use find_data_references_in_stmt.
* tree-data-ref.h (struct data_ref_loc_d): New.
(get_references_in_stmt): Declare.
(estimate_iters_using_array): Declaration removed.
* cfgloop.h (struct nb_iter_bound): Change type of bound to
double_int. Improve comments. Add is_exit and realistic
fields.
(struct loop): Changed type of estimated_nb_iterations to double_int.
Added estimate_state field.
(record_estimate): Declaration removed.
........
r118730 | rakdver | 2006-11-12 12:05:49 -0800 (Sun, 12 Nov 2006) | 11 lines
* tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
comments.
(issue_prefetch_ref): Move assignment to write_p out of loop.
(determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
SIMULTANEOUS_PREFETCHES into account.
(loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
* lambda-code.c (lcm): Renamed to ...
(least_common_multiple): ... and exported.
* tree-flow.h (least_common_multiple): Declare.
........
r118731 | rakdver | 2006-11-12 12:11:53 -0800 (Sun, 12 Nov 2006) | 8 lines
* tree-ssa-loop.c (tree_vectorize): Return the result of
vectorize_loops.
* tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
if anything changed.
* tree-vectorizer.h (vectorize_loops): Declaration removed.
* tree-flow.h (vectorize_loops): Declaration changed.
........
r118732 | rakdver | 2006-11-12 12:59:28 -0800 (Sun, 12 Nov 2006) | 6 lines
* tree-flow.h (name_mappings_registered_p): Declare.
* tree-into-ssa.c (name_mappings_registered_p): New function.
* tree-cfg.c (tree_can_merge_blocks_p): Check
name_mappings_registered_p instead of need_ssa_update_p.
........
r118733 | ghazi | 2006-11-12 15:51:36 -0800 (Sun, 12 Nov 2006) | 10 lines
* builtins.c (fold_builtin_cosh): New.
(fold_builtin_1): Use it.
* fold-const.c (negate_mathfn_p): Add llround, lround, round,
trunc to the list of "odd" functions. Also add llrint, lrint,
rint and nearbyint when flag_rounding_math is false.
testsuite:
* gcc.dg/torture/builtin-symmetric-1.c: Add more cases.
........
r118738 | gccadmin | 2006-11-12 16:17:41 -0800 (Sun, 12 Nov 2006) | 1 line
Daily bump.
........
r118740 | sayle | 2006-11-12 16:41:53 -0800 (Sun, 12 Nov 2006) | 10 lines
2006-11-12 Michael Matz <matz@suse.de>
Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/29797
* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
BITS_BIG_ENDIAN targets.
* gcc.c-torture/execute/pr29797-1.c: New test case.
........
r118742 | dberlin | 2006-11-12 18:18:07 -0800 (Sun, 12 Nov 2006) | 7 lines
2006-11-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/29587
* tree-ssa-structalias.c (process_constraint): Don't
mark address taken due only to escaped vars constraint.
........
r118744 | sayle | 2006-11-12 18:55:22 -0800 (Sun, 12 Nov 2006) | 7 lines
* fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
condition for transformations. Use !HONOR_SIGN_DEPENDENT_ROUNDING
&& !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
(fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.
........
r118745 | ghazi | 2006-11-12 19:02:14 -0800 (Sun, 12 Nov 2006) | 3 lines
Add PR number to ChangeLog from a previous commit.
........
r118746 | kkojima | 2006-11-12 19:28:13 -0800 (Sun, 12 Nov 2006) | 10 lines
* genemit.c (gen_insn): Call gen_exp with a non-null used
when handling multiple insns.
(gen_expand): Likewise.
* reorg.c (emit_delay_sequence): Copy the delay slot insn.
* config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
(movsi_const_16bit+1): Copy operands[1].
(call_pcrel): Copy the call_site pattern.
(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
........
r118747 | jason | 2006-11-13 00:16:11 -0800 (Mon, 13 Nov 2006) | 8 lines
PR middle-end/28915
* gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
vector ctors.
* tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
vector ctors.
* expmed.c (make_tree): Handle CONST, SYMBOL_REF.
* tree.c (build_vector): Handle non-_CST elements.
........
r118754 | rakdver | 2006-11-13 04:37:29 -0800 (Mon, 13 Nov 2006) | 7 lines
PR tree-optimization/29680
* tree-ssa-operands.c (access_can_touch_variable): Revert fix for
PR 14784.
* gcc.dg/alias-11.c: New test.
........
r118755 | jsm28 | 2006-11-13 05:10:17 -0800 (Mon, 13 Nov 2006) | 18 lines
gcc:
* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE but not
__GXX_MERGED_TYPEINFO_NAMES.
* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_MERGED_TYPEINFO_NAMES.
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.
libstdc++-v3:
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
definitions.
* libsupc++/tinfo.cc (operator==): Condition on
__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
to determine algorithm.
* libsupc++/tinfo2.cc (type_info::before): Likewise.
........
r118757 | jsm28 | 2006-11-13 05:28:28 -0800 (Mon, 13 Nov 2006) | 5 lines
* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
* libsupc++/eh_personality.cc (empty_exception_spec): Define
separately in __ARM_EABI_UNWINDER__ case.
........
r118761 | pinskia | 2006-11-13 06:36:09 -0800 (Mon, 13 Nov 2006) | 14 lines
2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR fortran/26994
* gfortran.fortran-torture/compile/transfer-1.f90:
New testcase.
2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR fortran/26994
* trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
new CONST_DECL.
........
r118762 | matz | 2006-11-13 06:36:47 -0800 (Mon, 13 Nov 2006) | 2 lines
* genemit.c (gen_expand): Allocate enough memory.
........
r118764 | hjl | 2006-11-13 07:29:21 -0800 (Mon, 13 Nov 2006) | 4 lines
2006-11-13 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c: Fix a typo in comment.
........
r118765 | carlos | 2006-11-13 09:25:59 -0800 (Mon, 13 Nov 2006) | 24 lines
gcc/
2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* gcc.c: Organize search path variables into $prefix relative,
and well-known native. Add comments.
(add_sysrooted_prefix): Add comment.
(process_command): If !gcc_exec_prefix add $prefix based paths.
If *cross_compile == '0', add native well-known paths.
Assert tooldir_base_prefix is always relative.
(main): If print_search_dirs, and if gcc_exec_prefix is set,
use this value for 'install:' path.
* Makefile.in: Add GCC_EXEC_PREFIX to generated site.exp.
gcc/testsuite/
2006-11-13 Carlos O'Donell <carlos@codesourcery.com>
* lib/c-torture.exp: Use target-libpath.exp.
* lib/target-libpath.exp (set_ld_library_path_env_vars): If present,
set GCC_EXEC_PREFIX env var from global variable of same name.
........
r118767 | mmitchel | 2006-11-13 09:48:28 -0800 (Mon, 13 Nov 2006) | 6 lines
PR c++/29518
* pt.c (coerce_template_parms): Do not skip_evaluation while
substituting template arguments.
PR c++/29518
* g++.dg/template/static28.C: New test.
........
r118768 | mmitchel | 2006-11-13 09:49:43 -0800 (Mon, 13 Nov 2006) | 6 lines
PR c++/29518
* pt.c (coerce_template_parms): Do not skip_evaluation while
substituting template arguments.
PR c++/29518
* g++.dg/template/static28.C: New test.
........
r118769 | rguenth | 2006-11-13 10:20:13 -0800 (Mon, 13 Nov 2006) | 12 lines
2006-11-13 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (ix86_expand_lround): Handle expand_simple_binop
return value.
(ix86_expand_lfloorceil): Likewise.
(ix86_expand_rint): Likewise.
(ix86_expand_floorceildf_32): Likewise.
(ix86_expand_floorceil): Likewise.
(ix86_expand_rounddf_32): Likewise.
(ix86_expand_truncdf_32): Likewise.
(ix86_expand_round): Likewise.
........
r118771 | hjl | 2006-11-13 10:53:27 -0800 (Mon, 13 Nov 2006) | 6 lines
2006-11-12 Jason Merrill <jason@redhat.com>
Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/28915
* gcc.target/i386/vectorize1.c: New.
........
r118773 | jakub | 2006-11-13 11:42:55 -0800 (Mon, 13 Nov 2006) | 6 lines
PR fortran/29759
* fortran/scanner.c (skip_free_comments): Clear openmp_flag
before returning true.
* gfortran.dg/gomp/pr29759.f90: New test.
........
r118775 | jakub | 2006-11-13 11:47:06 -0800 (Mon, 13 Nov 2006) | 4 lines
* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
style versions.
* configure: Rebuilt.
........
r118776 | pinskia | 2006-11-13 12:14:35 -0800 (Mon, 13 Nov 2006) | 33 lines
2006-11-13 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/rs6000/cell.md: New file.
* config/rs6000/rs6000.c (rs6000_cell_dont_microcode): New
variable.
(ppccell_cost): New cost matrix.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
(rs6000_override_options): Set rs6000_always_hint to false
for cell. Also align functions/lables/loops to 8byte
for the Cell. Use PROCESSOR_CELL.
(rs6000_emit_epilogue): Rename using_mfcr_multiple to
using_mtcr_multiple.
(rs6000_variable_issue): If the insn is a nonpipelined instruction
on the Cell, return 0.
(rs6000_adjust_cost): Add Cell cost adjustments.
(is_microcoded_insn): Return true for Cell microcoded
instructions.
(is_nonpipeline_insn): New function.
(rs6000_issue_rate): Add PROCESSOR_CELL.
(rs6000_use_sched_lookahead): If Cell, then we should look ahead 8
instructions.
(rs6000_use_sched_lookahead_guard): New function.
(rs6000_sched_reorder): Reorder the ready list, if the second
to last ready insn is a nonepipeline insn on the Cell.
* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_CELL.
(ASM_CPU_SPEC): Add Cell.
* config/rs6000/rs6000.md (cpu): Add Cell.
(cell_micro): New Attr.
Include cell.md
........
r118777 | drow | 2006-11-13 12:35:20 -0800 (Mon, 13 Nov 2006) | 2 lines
* tls.m4 (GCC_CHECK_TLS): Fall back to a link test.
........
r118780 | jakub | 2006-11-13 14:38:21 -0800 (Mon, 13 Nov 2006) | 4 lines
* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
test.
* configure: Rebuilt.
........
r118783 | sayle | 2006-11-13 15:02:41 -0800 (Mon, 13 Nov 2006) | 5 lines
* fold-const.c (optimize_bit_field_compare): Recursively call
fold when simplifying non-constant comparisons between bit-fields.
........
r118784 | kkojima | 2006-11-13 15:08:24 -0800 (Mon, 13 Nov 2006) | 5 lines
* config/sh/sh.c (expand_cbranchdi4): Initialize skip_label.
(sh_optimize_target_register_callee_saved): #if 0 the code
using NOTE_INSN_LOOP_{BEG,END}.
........
r118785 | sayle | 2006-11-13 15:28:25 -0800 (Mon, 13 Nov 2006) | 5 lines
* rtti.c (get_pseudo_ti_init): Ensure that the offset field of the
base type info initializer has the correct type.
........
Added:
branches/fixed-point/gcc/config/rs6000/cell.md
- copied unchanged from r118785, trunk/gcc/config/rs6000/cell.md
branches/fixed-point/gcc/testsuite/g++.dg/template/static28.C
- copied unchanged from r118785,
trunk/gcc/testsuite/g++.dg/template/static28.C
branches/fixed-point/gcc/testsuite/gcc.c-torture/compile/pr27528.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.c-torture/compile/pr27528.c
branches/fixed-point/gcc/testsuite/gcc.c-torture/execute/mayalias-3.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.c-torture/execute/mayalias-3.c
branches/fixed-point/gcc/testsuite/gcc.c-torture/execute/pr29797-1.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.c-torture/execute/pr29797-1.c
branches/fixed-point/gcc/testsuite/gcc.dg/alias-11.c
- copied unchanged from r118785, trunk/gcc/testsuite/gcc.dg/alias-11.c
branches/fixed-point/gcc/testsuite/gcc.dg/fold-eqand-1.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.dg/fold-eqand-1.c
branches/fixed-point/gcc/testsuite/gcc.dg/pr27528.c
- copied unchanged from r118785, trunk/gcc/testsuite/gcc.dg/pr27528.c
branches/fixed-point/gcc/testsuite/gcc.dg/torture/builtin-symmetric-1.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.dg/torture/builtin-symmetric-1.c
branches/fixed-point/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c
branches/fixed-point/gcc/testsuite/gcc.target/i386/vectorize1.c
- copied unchanged from r118785,
trunk/gcc/testsuite/gcc.target/i386/vectorize1.c
branches/fixed-point/gcc/testsuite/gfortran.dg/aliasing_dummy_4.f90
- copied unchanged from r118785,
trunk/gcc/testsuite/gfortran.dg/aliasing_dummy_4.f90
branches/fixed-point/gcc/testsuite/gfortran.dg/gomp/pr29759.f90
- copied unchanged from r118785,
trunk/gcc/testsuite/gfortran.dg/gomp/pr29759.f90
branches/fixed-point/gcc/testsuite/gfortran.dg/reshape_source_size_1.f90
- copied unchanged from r118785,
trunk/gcc/testsuite/gfortran.dg/reshape_source_size_1.f90
branches/fixed-point/gcc/testsuite/gfortran.fortran-torture/compile/transfer-1.f90
- copied unchanged from r118785,
trunk/gcc/testsuite/gfortran.fortran-torture/compile/transfer-1.f90
branches/fixed-point/libmudflap/testsuite/libmudflap.cth/pass59-frag.c
- copied unchanged from r118785,
trunk/libmudflap/testsuite/libmudflap.cth/pass59-frag.c
Modified:
branches/fixed-point/ (props changed)
branches/fixed-point/ChangeLog
branches/fixed-point/config/ChangeLog
branches/fixed-point/config/tls.m4
branches/fixed-point/configure
branches/fixed-point/configure.in
branches/fixed-point/gcc/ChangeLog
branches/fixed-point/gcc/DATESTAMP
branches/fixed-point/gcc/Makefile.in
branches/fixed-point/gcc/ada/ChangeLog
branches/fixed-point/gcc/ada/trans.c
branches/fixed-point/gcc/alias.c
branches/fixed-point/gcc/builtins.c
branches/fixed-point/gcc/cfgcleanup.c
branches/fixed-point/gcc/cfgexpand.c
branches/fixed-point/gcc/cfglayout.c
branches/fixed-point/gcc/cfgloop.h
branches/fixed-point/gcc/cfgloopmanip.c
branches/fixed-point/gcc/cfgrtl.c
branches/fixed-point/gcc/config/arm/bpabi.h
branches/fixed-point/gcc/config/arm/symbian.h
branches/fixed-point/gcc/config/bfin/bfin.h
branches/fixed-point/gcc/config/i386/cygming.h
branches/fixed-point/gcc/config/i386/i386.c
branches/fixed-point/gcc/config/i386/i386.h
branches/fixed-point/gcc/config/ia64/ia64.c
branches/fixed-point/gcc/config/ia64/ia64.h
branches/fixed-point/gcc/config/rs6000/rs6000.c
branches/fixed-point/gcc/config/rs6000/rs6000.h
branches/fixed-point/gcc/config/rs6000/rs6000.md
branches/fixed-point/gcc/config/sh/sh.c
branches/fixed-point/gcc/config/sh/sh.h
branches/fixed-point/gcc/config/sh/sh.md
branches/fixed-point/gcc/config/sparc/sparc.c
branches/fixed-point/gcc/config/sparc/sparc.h
branches/fixed-point/gcc/configure
branches/fixed-point/gcc/configure.ac
branches/fixed-point/gcc/cp/ChangeLog
branches/fixed-point/gcc/cp/pt.c
branches/fixed-point/gcc/cp/rtti.c
branches/fixed-point/gcc/cp/typeck.c
branches/fixed-point/gcc/doc/extend.texi
branches/fixed-point/gcc/doc/invoke.texi
branches/fixed-point/gcc/dojump.c
branches/fixed-point/gcc/double-int.c
branches/fixed-point/gcc/double-int.h
branches/fixed-point/gcc/dwarf2out.c
branches/fixed-point/gcc/emit-rtl.c
branches/fixed-point/gcc/except.c
branches/fixed-point/gcc/expmed.c
branches/fixed-point/gcc/expr.c
branches/fixed-point/gcc/final.c
branches/fixed-point/gcc/fold-const.c
branches/fixed-point/gcc/fortran/ChangeLog
branches/fixed-point/gcc/fortran/array.c
branches/fixed-point/gcc/fortran/check.c
branches/fixed-point/gcc/fortran/data.c
branches/fixed-point/gcc/fortran/gfortran.h
branches/fixed-point/gcc/fortran/interface.c
branches/fixed-point/gcc/fortran/lang.opt
branches/fixed-point/gcc/fortran/misc.c
branches/fixed-point/gcc/fortran/module.c
branches/fixed-point/gcc/fortran/options.c
branches/fixed-point/gcc/fortran/resolve.c
branches/fixed-point/gcc/fortran/scanner.c
branches/fixed-point/gcc/fortran/trans-expr.c
branches/fixed-point/gcc/fortran/trans-intrinsic.c
branches/fixed-point/gcc/fortran/trans-io.c
branches/fixed-point/gcc/function.c
branches/fixed-point/gcc/gcc.c
branches/fixed-point/gcc/gcse.c
branches/fixed-point/gcc/genemit.c
branches/fixed-point/gcc/gengtype.c
branches/fixed-point/gcc/gimplify.c
branches/fixed-point/gcc/haifa-sched.c
branches/fixed-point/gcc/ifcvt.c
branches/fixed-point/gcc/insn-notes.def
branches/fixed-point/gcc/java/ChangeLog
branches/fixed-point/gcc/java/check-init.c
branches/fixed-point/gcc/java/typeck.c
branches/fixed-point/gcc/jump.c
branches/fixed-point/gcc/lambda-code.c
branches/fixed-point/gcc/local-alloc.c
branches/fixed-point/gcc/modulo-sched.c
branches/fixed-point/gcc/params.c
branches/fixed-point/gcc/params.def
branches/fixed-point/gcc/params.h
branches/fixed-point/gcc/passes.c
branches/fixed-point/gcc/predict.c
branches/fixed-point/gcc/print-rtl.c
branches/fixed-point/gcc/regmove.c
branches/fixed-point/gcc/reorg.c
branches/fixed-point/gcc/rtl.h
branches/fixed-point/gcc/sched-ebb.c
branches/fixed-point/gcc/sched-int.h
branches/fixed-point/gcc/sched-rgn.c
branches/fixed-point/gcc/stmt.c
branches/fixed-point/gcc/stor-layout.c
branches/fixed-point/gcc/testsuite/ChangeLog
branches/fixed-point/gcc/testsuite/gcc.dg/builtins-20.c
branches/fixed-point/gcc/testsuite/lib/c-torture.exp
branches/fixed-point/gcc/testsuite/lib/target-libpath.exp
branches/fixed-point/gcc/toplev.c
branches/fixed-point/gcc/tree-cfg.c
branches/fixed-point/gcc/tree-data-ref.c
branches/fixed-point/gcc/tree-data-ref.h
branches/fixed-point/gcc/tree-eh.c
branches/fixed-point/gcc/tree-flow.h
branches/fixed-point/gcc/tree-gimple.c
branches/fixed-point/gcc/tree-inline.c
branches/fixed-point/gcc/tree-into-ssa.c
branches/fixed-point/gcc/tree-pass.h
branches/fixed-point/gcc/tree-pretty-print.c
branches/fixed-point/gcc/tree-ssa-loop-manip.c
branches/fixed-point/gcc/tree-ssa-loop-niter.c
branches/fixed-point/gcc/tree-ssa-loop-prefetch.c
branches/fixed-point/gcc/tree-ssa-loop.c
branches/fixed-point/gcc/tree-ssa-operands.c
branches/fixed-point/gcc/tree-ssa-structalias.c
branches/fixed-point/gcc/tree-vectorizer.c
branches/fixed-point/gcc/tree-vectorizer.h
branches/fixed-point/gcc/tree-vrp.c
branches/fixed-point/gcc/tree.c
branches/fixed-point/gcc/tree.def
branches/fixed-point/libgomp/ChangeLog
branches/fixed-point/libgomp/configure
branches/fixed-point/libjava/ChangeLog
branches/fixed-point/libjava/configure
branches/fixed-point/libmudflap/ChangeLog
branches/fixed-point/libmudflap/configure
branches/fixed-point/libmudflap/mf-hooks1.c
branches/fixed-point/libstdc++-v3/ChangeLog
branches/fixed-point/libstdc++-v3/config/abi/pre/gnu.ver
branches/fixed-point/libstdc++-v3/config/locale/gnu/c_locale.cc
branches/fixed-point/libstdc++-v3/configure
branches/fixed-point/libstdc++-v3/configure.ac
branches/fixed-point/libstdc++-v3/include/debug/safe_base.h
branches/fixed-point/libstdc++-v3/include/debug/safe_iterator.h
branches/fixed-point/libstdc++-v3/include/debug/safe_iterator.tcc
branches/fixed-point/libstdc++-v3/include/debug/safe_sequence.h
branches/fixed-point/libstdc++-v3/include/ext/bitmap_allocator.h
branches/fixed-point/libstdc++-v3/include/ext/concurrence.h
branches/fixed-point/libstdc++-v3/libsupc++/eh_globals.cc
branches/fixed-point/libstdc++-v3/libsupc++/eh_personality.cc
branches/fixed-point/libstdc++-v3/libsupc++/tinfo.cc
branches/fixed-point/libstdc++-v3/libsupc++/tinfo2.cc
branches/fixed-point/libstdc++-v3/libsupc++/typeinfo
branches/fixed-point/libstdc++-v3/src/bitmap_allocator.cc
branches/fixed-point/libstdc++-v3/src/debug.cc
branches/fixed-point/libstdc++-v3/testsuite/util/testsuite_abi.cc
Propchange: branches/fixed-point/
('svnmerge-integrated' modified)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29315
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2006-12-01 1:06 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-02 2:41 [Bug fortran/29315] New: error passing an array derived from struc ture elements stephen dot jeffrey at nrm dot qld dot gov dot au
2006-10-02 2:44 ` [Bug fortran/29315] " pinskia at gcc dot gnu dot org
2006-10-02 2:53 ` [Bug fortran/29315] error passing an array derived from type element pinskia at gcc dot gnu dot org
2006-10-02 3:08 ` pinskia at gcc dot gnu dot org
2006-10-02 8:09 ` paul dot richard dot thomas at cea dot fr
2006-10-27 14:37 ` pault at gcc dot gnu dot org
2006-11-09 22:41 ` patchapp at dberlin dot org
2006-11-10 17:22 ` pault at gcc dot gnu dot org
2006-11-12 7:41 ` pault at gcc dot gnu dot org
2006-11-12 7:44 ` pault at gcc dot gnu dot org
2006-12-01 1:06 ` chaoyingfu at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).