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).