public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/25104]  New: better diagnostic needed
@ 2005-11-26 18:09 jv244 at cam dot ac dot uk
  2005-11-27  3:52 ` [Bug fortran/25104] " kargl at gcc dot gnu dot org
                   ` (21 more replies)
  0 siblings, 22 replies; 25+ messages in thread
From: jv244 at cam dot ac dot uk @ 2005-11-26 18:09 UTC (permalink / raw)
  To: gcc-bugs

using GNU Fortran 95 (GCC) 4.1.0 20051126 (prerelease)  with '-g -pedantic
-std=f95', I get a bad / no diagnostic for the following invalid code:

INTEGER, PARAMETER :: K(2)=1
SELECT CASE(I)
CASE(MAXLOC(K,1))
END SELECT
END


-- 
           Summary: better diagnostic needed
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] better diagnostic needed
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
@ 2005-11-27  3:52 ` kargl at gcc dot gnu dot org
  2005-11-30 14:19 ` eedelman at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: kargl at gcc dot gnu dot org @ 2005-11-27  3:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from kargl at gcc dot gnu dot org  2005-11-27 03:52 -------
What broken here?  Where are the details?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] better diagnostic needed
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
  2005-11-27  3:52 ` [Bug fortran/25104] " kargl at gcc dot gnu dot org
@ 2005-11-30 14:19 ` eedelman at gcc dot gnu dot org
  2005-11-30 18:29 ` [Bug fortran/25104] Non-initialization expr. as case-selector eedelman at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: eedelman at gcc dot gnu dot org @ 2005-11-30 14:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from eedelman at gcc dot gnu dot org  2005-11-30 14:18 -------
(In reply to comment #1)
> What broken here?  Where are the details?

I wondered that as well for a while. The problem, IIUC is that the
case-selector  
must be an initialization expression.  I'm no language lawyer, but if I
understand the F2003 (draft) standard, MAXLOC(k,1), where 'k' is a PARAMETER,
ought to be a perfectly valid initialization expression.  The standard, section
7.1.7, says on initialization expressions:

"It is an expression in which each operation is intrinsic, and each primary is

[...]

(5) A reference to a transformational standard intrinsic function other than  
    NULL, where each argument is an initialization expression,"

MAXLOC, is, AFAIK, a transformational standard intrinsic, and 'k' and 1 are,
AFAIK, initialization expressions.

It turns out, however, that the F95 standard has a slightly different
definition 
of initialization expressions (in section 7.1.6.1); it seems that MAXLOC is not
allowed here. So it seems the code is still invalid F95, and we should give a
warning/error message if strict F95 standard checking is requested.  I must,
however, say, that I find it a bit wierd that MAXLOC isn't allowed in this
context, so I'm not sure what to think here ...  I leave this as unconfirmed
for now.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
  2005-11-27  3:52 ` [Bug fortran/25104] " kargl at gcc dot gnu dot org
  2005-11-30 14:19 ` eedelman at gcc dot gnu dot org
@ 2005-11-30 18:29 ` eedelman at gcc dot gnu dot org
  2006-01-10  4:39 ` pinskia at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: eedelman at gcc dot gnu dot org @ 2005-11-30 18:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from eedelman at gcc dot gnu dot org  2005-11-30 18:29 -------
(In reply to comment #2)
> context, so I'm not sure what to think here ...  I leave this as unconfirmed
> for now.

Ifort 8.1 reports the following error:

In a CASE statement, the case-value must be a constant expression.   [MAXLOC]
CASE(MAXLOC(K,1))
-----^

Which agrees with my interpretation of the F95 standard.  And now when I
actually try it in gfortran (:-)), I get an ICE:

erik:~$ gfortran huj.f90
huj.f90: In function 'MAIN__':
huj.f90:1: internal compiler error: in gfc_conv_constant_to_tree, at
fortran/trans-const.c:276

Confirmed as 'ice-on-invalid'.


-- 

eedelman at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-30 18:29:31
               date|                            |
            Summary|better diagnostic needed    |Non-initialization expr. as
                   |                            |case-selector


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2005-11-30 18:29 ` [Bug fortran/25104] Non-initialization expr. as case-selector eedelman at gcc dot gnu dot org
@ 2006-01-10  4:39 ` pinskia at gcc dot gnu dot org
  2006-05-12 21:18 ` fxcoudert at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-10  4:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-01-10 04:39 -------
Yes, we are not rejecting this early enough so we get the ICE in the trans*
functions.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104



^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2006-01-10  4:39 ` pinskia at gcc dot gnu dot org
@ 2006-05-12 21:18 ` fxcoudert at gcc dot gnu dot org
  2006-06-19 18:44 ` [Bug fortran/25104] [F2003] " fxcoudert at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-05-12 21:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from fxcoudert at gcc dot gnu dot org  2006-05-12 21:18 -------
Well, the testcase is valid F2003 but not valid F95. We have to get it working
(for F2003 mode), which probably means adding a simplification function for
MAXLOC. And the same is true for all the intrinsics allowed by F2003 in an
initialization expression.

But we also have to get it rejected in F95 mode, which means keeping an
explicit list of the intrinsics that are allowed in initialization expressions
in F95, under the rules of 7.1.6.1 (all subcases a to e of case #7). I see two
options here: either we add a property for all intrinsics, define it in the
list and use that (lots of changes and thinking) or we add a new function
valid_intrinsic_in_init_expr(). I'd prefer the second option, and will be
thinking of something along these lines.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org
         AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-01-27 20:55:34         |2006-05-12 21:18:24
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2006-05-12 21:18 ` fxcoudert at gcc dot gnu dot org
@ 2006-06-19 18:44 ` fxcoudert at gcc dot gnu dot org
  2006-07-09 10:32 ` steven at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-06-19 18:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from fxcoudert at gcc dot gnu dot org  2006-06-19 18:21 -------
Paul Thomas proposed a patch that fixes the F95 problem. We still need to write
simplification routines to enable such code (which is valid F2003) to compile
with gfortran. I don't have time for that right now.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|fxcoudert at gcc dot gnu dot|unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (5 preceding siblings ...)
  2006-06-19 18:44 ` [Bug fortran/25104] [F2003] " fxcoudert at gcc dot gnu dot org
@ 2006-07-09 10:32 ` steven at gcc dot gnu dot org
  2007-06-06 13:22 ` P dot Schaffnit at access dot rwth-aachen dot de
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-07-09 10:32 UTC (permalink / raw)
  To: gcc-bugs



-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (6 preceding siblings ...)
  2006-07-09 10:32 ` steven at gcc dot gnu dot org
@ 2007-06-06 13:22 ` P dot Schaffnit at access dot rwth-aachen dot de
  2007-07-03 18:29 ` jv244 at cam dot ac dot uk
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: P dot Schaffnit at access dot rwth-aachen dot de @ 2007-06-06 13:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from P dot Schaffnit at access dot rwth-aachen dot de  2007-06-06 13:21 -------

If someone acts on FX's suggestion, Bug 32035 might also be tackeled at the
same time...

Philippe


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (7 preceding siblings ...)
  2007-06-06 13:22 ` P dot Schaffnit at access dot rwth-aachen dot de
@ 2007-07-03 18:29 ` jv244 at cam dot ac dot uk
  2007-07-23 20:35 ` dfranke at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: jv244 at cam dot ac dot uk @ 2007-07-03 18:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jv244 at cam dot ac dot uk  2007-07-03 18:29 -------
change the keyword, as the error is now generated for std=f95 but the code is
rejected for std=f2003


-- 

jv244 at cam dot ac dot uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-invalid-code         |rejects-valid


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (8 preceding siblings ...)
  2007-07-03 18:29 ` jv244 at cam dot ac dot uk
@ 2007-07-23 20:35 ` dfranke at gcc dot gnu dot org
  2007-07-23 20:38 ` dfranke at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2007-07-23 20:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from dfranke at gcc dot gnu dot org  2007-07-23 20:35 -------
Subject: Bug 25104

Author: dfranke
Date: Mon Jul 23 20:35:03 2007
New Revision: 126858

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126858
Log:
gcc/fortran:
2007-07-23  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/31639
        * expr.c (check_transformational): Reject valid transformational
        intrinsics to avoid ICE.
        (check_inquiry): Report error for assumed character lengths for
        all supported standards.
        (check_init_expr): Whitespace fix.

gcc/testsuite:
2007-07-23  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31639
        * gfortran.dg/initialization_9.f90: New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/initialization_9.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (9 preceding siblings ...)
  2007-07-23 20:35 ` dfranke at gcc dot gnu dot org
@ 2007-07-23 20:38 ` dfranke at gcc dot gnu dot org
  2009-03-31 20:02 ` dfranke at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2007-07-23 20:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from dfranke at gcc dot gnu dot org  2007-07-23 20:38 -------
Commit shown in comment #9 restores the situation as described in comment #8,
no further development yet.


-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dfranke at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (10 preceding siblings ...)
  2007-07-23 20:38 ` dfranke at gcc dot gnu dot org
@ 2009-03-31 20:02 ` dfranke at gcc dot gnu dot org
  2009-04-05 20:40 ` dfranke at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-03-31 20:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from dfranke at gcc dot gnu dot org  2009-03-31 20:02 -------
Subject: Bug 25104

Author: dfranke
Date: Tue Mar 31 20:01:51 2009
New Revision: 145369

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145369
Log:
gcc/fortran/:
2009-03-31  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * intrinsic.h (gfc_simplify_dot_product): New prototype.
        (gfc_simplify_matmul): Likewise.
        (gfc_simplify_transpose): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (init_result_expr): New.
        (compute_dot_product): New.
        (gfc_simplify_dot_product): New.
        (gfc_simplify_matmul): New.
        (gfc_simplify_transpose): New.
        * expr.c (check_transformational): Allow transformational intrinsics
        with simplifier in initialization expression.

gcc/testsuite/:
2009-03-31  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/dot_product_1.f03: New.
        * gfortran.dg/matmul_8.f03: New.
        * gfortran.dg/transpose_3.f03: New.


Added:
    branches/fortran-dev/gcc/testsuite/gfortran.dg/dot_product_1.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/matmul_8.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/transpose_3.f03
Modified:
    branches/fortran-dev/gcc/fortran/ChangeLog.dev
    branches/fortran-dev/gcc/fortran/expr.c
    branches/fortran-dev/gcc/fortran/intrinsic.c
    branches/fortran-dev/gcc/fortran/intrinsic.h
    branches/fortran-dev/gcc/fortran/simplify.c
    branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (11 preceding siblings ...)
  2009-03-31 20:02 ` dfranke at gcc dot gnu dot org
@ 2009-04-05 20:40 ` dfranke at gcc dot gnu dot org
  2009-04-10 14:05 ` dfranke at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-04-05 20:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from dfranke at gcc dot gnu dot org  2009-04-05 20:40 -------
Subject: Bug 25104

Author: dfranke
Date: Sun Apr  5 20:40:13 2009
New Revision: 145573

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145573
Log:
gcc/fortran/:
2009-04-05  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * check.c (gfc_check_all_any): Check rank of DIM.
        (gfc_check_count): Likewise.
        * intrinsic.h (gfc_simplify_all): New prototype.
        (gfc_simplify_any): Likewise.
        (gfc_simplify_count): Likewise.
        (gfc_simplify_sum): Likewise.
        (gfc_simplify_product): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (transformational_result): New.
        (simplify_transformation_to_scalar): New.
        (simplify_transformation_to_array): New.
        (gfc_count): New.
        (gfc_simplify_all): New.
        (gfc_simplify_any): New.
        (gfc_simplify_count): New.
        (gfc_simplify_sum): New.
        (gfc_simplify_product): New.
        * expr.c (check_transformational): Allow additional transformational
        intrinsics in initialization expression.

gcc/testsuite/:
2009-04-05  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/count_init_expr.f03
        * gfortran.dg/product_init_expr.f03
        * gfortran.dg/sum_init_expr.f03


Added:
    branches/fortran-dev/gcc/testsuite/gfortran.dg/count_init_expr.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/product_init_expr.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/sum_init_expr.f03
Modified:
    branches/fortran-dev/gcc/fortran/ChangeLog.dev
    branches/fortran-dev/gcc/fortran/check.c
    branches/fortran-dev/gcc/fortran/expr.c
    branches/fortran-dev/gcc/fortran/intrinsic.c
    branches/fortran-dev/gcc/fortran/intrinsic.h
    branches/fortran-dev/gcc/fortran/simplify.c
    branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (12 preceding siblings ...)
  2009-04-05 20:40 ` dfranke at gcc dot gnu dot org
@ 2009-04-10 14:05 ` dfranke at gcc dot gnu dot org
  2009-04-10 21:26 ` dfranke at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-04-10 14:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from dfranke at gcc dot gnu dot org  2009-04-10 14:04 -------
Subject: Bug 25104

Author: dfranke
Date: Fri Apr 10 14:04:16 2009
New Revision: 145907

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145907
Log:
gcc/fortran/:
2009-04-10  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * array.c (gfc_append_constructor): Added NULL-check.
        * check.c (gfc_check_spread): Check DIM.
        (gfc_check_unpack): Check that the ARRAY arguments provides enough
        values for MASK.
        * intrinsic.h (gfc_simplify_spread): New prototype.
        (gfc_simplify_unpack): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (gfc_simplify_spread): New.
        (gfc_simplify_unpack): New.
        * expr.c (check_transformational): Allow additional transformational
        intrinsics in initialization expression.

gcc/testsuite/:
2009-04-10  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/spread_init_expr.f03: New.
        * gfortran.dg/unpack_init_expr.f03: New.
        * gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted
        error message.



Added:
    branches/fortran-dev/gcc/testsuite/gfortran.dg/spread_init_expr.f03
    branches/fortran-dev/gcc/testsuite/gfortran.dg/unpack_init_expr.f03
Modified:
    branches/fortran-dev/gcc/fortran/ChangeLog.dev
    branches/fortran-dev/gcc/fortran/array.c
    branches/fortran-dev/gcc/fortran/check.c
    branches/fortran-dev/gcc/fortran/expr.c
    branches/fortran-dev/gcc/fortran/intrinsic.c
    branches/fortran-dev/gcc/fortran/intrinsic.h
    branches/fortran-dev/gcc/fortran/simplify.c
    branches/fortran-dev/gcc/testsuite/ChangeLog.fortran-dev
   
branches/fortran-dev/gcc/testsuite/gfortran.dg/intrinsic_argument_conformance_2.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (13 preceding siblings ...)
  2009-04-10 14:05 ` dfranke at gcc dot gnu dot org
@ 2009-04-10 21:26 ` dfranke at gcc dot gnu dot org
  2009-04-10 22:33 ` dominiq at lps dot ens dot fr
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-04-10 21:26 UTC (permalink / raw)
  To: gcc-bugs



-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |dfranke at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2006-05-12 21:18:24         |2009-04-10 21:26:10
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (14 preceding siblings ...)
  2009-04-10 21:26 ` dfranke at gcc dot gnu dot org
@ 2009-04-10 22:33 ` dominiq at lps dot ens dot fr
  2009-04-11  8:33 ` dfranke at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-04-10 22:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from dominiq at lps dot ens dot fr  2009-04-10 22:33 -------
Could the patches in comments #11 to #13 be applied to trunk too?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (15 preceding siblings ...)
  2009-04-10 22:33 ` dominiq at lps dot ens dot fr
@ 2009-04-11  8:33 ` dfranke at gcc dot gnu dot org
  2009-06-07 11:53 ` burnus at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-04-11  8:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from dfranke at gcc dot gnu dot org  2009-04-11 08:33 -------
> Could the patches in comments #11 to #13 be applied to trunk too?

They can and will, but there are at least two more coming and I want to have
and test them together before moving them over to trunk.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (16 preceding siblings ...)
  2009-04-11  8:33 ` dfranke at gcc dot gnu dot org
@ 2009-06-07 11:53 ` burnus at gcc dot gnu dot org
  2009-06-07 16:35 ` burnus at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-06-07 11:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from burnus at gcc dot gnu dot org  2009-06-07 11:53 -------
Subject: Bug 25104

Author: burnus
Date: Sun Jun  7 11:53:21 2009
New Revision: 148243

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148243
Log:
2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * intrinsic.h (gfc_simplify_dot_product): New prototype.
        (gfc_simplify_matmul): Likewise.
        (gfc_simplify_transpose): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (init_result_expr): New.
        (compute_dot_product): New.
        (gfc_simplify_dot_product): New.
        (gfc_simplify_matmul): New.
        (gfc_simplify_transpose): New.
        * expr.c (check_transformational): Allow transformational
        * intrinsics
        with simplifier in initialization expression.


2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/dot_product_1.f03: New.
        * gfortran.dg/matmul_8.f03: New.
        * gfortran.dg/transpose_3.f03: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/dot_product_1.f03
    trunk/gcc/testsuite/gfortran.dg/matmul_8.f03
    trunk/gcc/testsuite/gfortran.dg/transpose_3.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/simplify.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (17 preceding siblings ...)
  2009-06-07 11:53 ` burnus at gcc dot gnu dot org
@ 2009-06-07 16:35 ` burnus at gcc dot gnu dot org
  2009-06-07 17:34 ` burnus at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-06-07 16:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from burnus at gcc dot gnu dot org  2009-06-07 16:35 -------
Subject: Bug 25104

Author: burnus
Date: Sun Jun  7 16:35:06 2009
New Revision: 148249

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148249
Log:
2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * check.c (gfc_check_all_any): Check rank of DIM.
        (gfc_check_count): Likewise.
        * intrinsic.h (gfc_simplify_all): New prototype.
        (gfc_simplify_any): Likewise.
        (gfc_simplify_count): Likewise.
        (gfc_simplify_sum): Likewise.
        (gfc_simplify_product): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (transformational_result): New.
        (simplify_transformation_to_scalar): New.
        (simplify_transformation_to_array): New.
        (gfc_count): New.
        (gfc_simplify_all): New.
        (gfc_simplify_any): New.
        (gfc_simplify_count): New.
        (gfc_simplify_sum): New.
        (gfc_simplify_product): New.
        * expr.c (check_transformational): Allow additional
        * transformational
        intrinsics in initialization expression.

2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/count_init_expr.f03
        * gfortran.dg/product_init_expr.f03
        * gfortran.dg/sum_init_expr.f03


Added:
    trunk/gcc/testsuite/gfortran.dg/count_init_expr.f03
    trunk/gcc/testsuite/gfortran.dg/product_init_expr.f03
    trunk/gcc/testsuite/gfortran.dg/sum_init_expr.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/simplify.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (18 preceding siblings ...)
  2009-06-07 16:35 ` burnus at gcc dot gnu dot org
@ 2009-06-07 17:34 ` burnus at gcc dot gnu dot org
  2009-12-06 15:08 ` dfranke at gcc dot gnu dot org
  2010-09-16 13:03 ` dominiq at lps dot ens dot fr
  21 siblings, 0 replies; 25+ messages in thread
From: burnus at gcc dot gnu dot org @ 2009-06-07 17:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from burnus at gcc dot gnu dot org  2009-06-07 17:33 -------
Subject: Bug 25104

Author: burnus
Date: Sun Jun  7 17:33:34 2009
New Revision: 148250

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148250
Log:
2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * array.c (gfc_append_constructor): Added NULL-check.
        * check.c (gfc_check_spread): Check DIM.
        (gfc_check_unpack): Check that the ARRAY arguments provides
        enough values for MASK.
        * intrinsic.h (gfc_simplify_spread): New prototype.
        (gfc_simplify_unpack): Likewise.
        * intrinsic.c (add_functions): Added new simplifier callbacks.
        * simplify.c (gfc_simplify_spread): New.
        (gfc_simplify_unpack): New.
        * expr.c (check_transformational): Allow additional
        * transformational
        intrinsics in initialization expression.

2009-06-07  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/25104
        PR fortran/29962
        * gfortran.dg/spread_init_expr.f03: New.
        * gfortran.dg/unpack_init_expr.f03: New.
        * gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted
        error message.


Added:
    trunk/gcc/testsuite/gfortran.dg/spread_init_expr.f03
    trunk/gcc/testsuite/gfortran.dg/unpack_init_expr.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/array.c
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/simplify.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/intrinsic_argument_conformance_2.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (19 preceding siblings ...)
  2009-06-07 17:34 ` burnus at gcc dot gnu dot org
@ 2009-12-06 15:08 ` dfranke at gcc dot gnu dot org
  2010-09-16 13:03 ` dominiq at lps dot ens dot fr
  21 siblings, 0 replies; 25+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2009-12-06 15:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from dfranke at gcc dot gnu dot org  2009-12-06 15:07 -------
Unassigning myself.


-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|dfranke at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
  2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
                   ` (20 preceding siblings ...)
  2009-12-06 15:08 ` dfranke at gcc dot gnu dot org
@ 2010-09-16 13:03 ` dominiq at lps dot ens dot fr
  21 siblings, 0 replies; 25+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-09-16 13:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from dominiq at lps dot ens dot fr  2010-09-16 13:03 -------
The test in comment #0 now gives (with/without -std=g95)

pr25104.f90:3.5:

CASE(MAXLOC(K,1))
     1
Error: transformational intrinsic 'maxloc' at (1) is not permitted in an
initialization expression

for 4.4.4, 4.5.0, and trunk. I think this wrong without -std=f95 (see pr45689).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
       [not found] <bug-25104-4@http.gcc.gnu.org/bugzilla/>
  2013-06-25 17:17 ` dominiq at lps dot ens.fr
@ 2013-06-25 17:27 ` dominiq at lps dot ens.fr
  1 sibling, 0 replies; 25+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-25 17:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #21 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Duplicate of pr45689.

*** This bug has been marked as a duplicate of bug 45689 ***


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug fortran/25104] [F2003] Non-initialization expr. as case-selector
       [not found] <bug-25104-4@http.gcc.gnu.org/bugzilla/>
@ 2013-06-25 17:17 ` dominiq at lps dot ens.fr
  2013-06-25 17:27 ` dominiq at lps dot ens.fr
  1 sibling, 0 replies; 25+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-25 17:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25104

Bug 25104 depends on bug 29962, which changed state.

Bug 29962 Summary: Initialization expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29962

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2013-06-25 17:27 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-26 18:09 [Bug fortran/25104] New: better diagnostic needed jv244 at cam dot ac dot uk
2005-11-27  3:52 ` [Bug fortran/25104] " kargl at gcc dot gnu dot org
2005-11-30 14:19 ` eedelman at gcc dot gnu dot org
2005-11-30 18:29 ` [Bug fortran/25104] Non-initialization expr. as case-selector eedelman at gcc dot gnu dot org
2006-01-10  4:39 ` pinskia at gcc dot gnu dot org
2006-05-12 21:18 ` fxcoudert at gcc dot gnu dot org
2006-06-19 18:44 ` [Bug fortran/25104] [F2003] " fxcoudert at gcc dot gnu dot org
2006-07-09 10:32 ` steven at gcc dot gnu dot org
2007-06-06 13:22 ` P dot Schaffnit at access dot rwth-aachen dot de
2007-07-03 18:29 ` jv244 at cam dot ac dot uk
2007-07-23 20:35 ` dfranke at gcc dot gnu dot org
2007-07-23 20:38 ` dfranke at gcc dot gnu dot org
2009-03-31 20:02 ` dfranke at gcc dot gnu dot org
2009-04-05 20:40 ` dfranke at gcc dot gnu dot org
2009-04-10 14:05 ` dfranke at gcc dot gnu dot org
2009-04-10 21:26 ` dfranke at gcc dot gnu dot org
2009-04-10 22:33 ` dominiq at lps dot ens dot fr
2009-04-11  8:33 ` dfranke at gcc dot gnu dot org
2009-06-07 11:53 ` burnus at gcc dot gnu dot org
2009-06-07 16:35 ` burnus at gcc dot gnu dot org
2009-06-07 17:34 ` burnus at gcc dot gnu dot org
2009-12-06 15:08 ` dfranke at gcc dot gnu dot org
2010-09-16 13:03 ` dominiq at lps dot ens dot fr
     [not found] <bug-25104-4@http.gcc.gnu.org/bugzilla/>
2013-06-25 17:17 ` dominiq at lps dot ens.fr
2013-06-25 17:27 ` dominiq at lps dot ens.fr

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