public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use
@ 2013-06-07  7:43 burnus at gcc dot gnu.org
  2013-06-07  7:46 ` [Bug fortran/57553] " burnus at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-06-07  7:43 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 57553
           Summary: Valid use of STORAGE_SIZE rejected, bad error message
                    for invalid use
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: diagnostic, rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

Found at http://mailman.j3-fortran.org/pipermail/j3/2013-June/006442.html
(please read also follow up email).


* The following looks valid to me and it is rejected with a bogus error
message:
  integer, parameter :: ESize = storage_size('a')
                                              1
  Error: Invalid character in name at (1)

integer, parameter :: ESize = storage_size('a')
end


* The following is invalid, but the error message location is bad:
    integer, parameter :: ESize = ( storage_size(a) + 7 ) / 8
    1
  Error: Unclassifiable statement at (1)

subroutine S ( A )
  character(len=*), intent(in) :: A
  integer, parameter :: ESize = ( storage_size(a) + 7 ) / 8
end


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

* [Bug fortran/57553] Valid use of STORAGE_SIZE rejected, bad error message for invalid use
  2013-06-07  7:43 [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use burnus at gcc dot gnu.org
@ 2013-06-07  7:46 ` burnus at gcc dot gnu.org
  2013-06-08 12:22 ` burnus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-06-07  7:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
"13.7.160 STORAGE SIZE (A [, KIND])
 Description. Storage size in bits.
 Class. Inquiry function.
 Arguments.
 A     shall be a scalar or array of any type. If it is polymorphic it shall
       not be an undefined pointer. If it has any deferred type parameters
       it shall not be an unallocated allocatable variable or a disassociated
       or undefined pointer."

My impression is that the current code assumes that the argument is a variable
and not an expression (including literal constants).


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

* [Bug fortran/57553] Valid use of STORAGE_SIZE rejected, bad error message for invalid use
  2013-06-07  7:43 [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use burnus at gcc dot gnu.org
  2013-06-07  7:46 ` [Bug fortran/57553] " burnus at gcc dot gnu.org
@ 2013-06-08 12:22 ` burnus at gcc dot gnu.org
  2013-06-08 12:24 ` burnus at gcc dot gnu.org
  2013-06-29 15:24 ` dominiq at lps dot ens.fr
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-06-08 12:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Sat Jun  8 12:21:58 2013
New Revision: 199850

URL: http://gcc.gnu.org/viewcvs?rev=199850&root=gcc&view=rev
Log:
2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57553
        * simplify.c (gfc_simplify_storage_size): Handle literal
        strings.
        * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
        Add missing fold_convert.

2013-06-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57553
        * gfortran.dg/storage_size_4.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/storage_size_4.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/simplify.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug fortran/57553] Valid use of STORAGE_SIZE rejected, bad error message for invalid use
  2013-06-07  7:43 [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use burnus at gcc dot gnu.org
  2013-06-07  7:46 ` [Bug fortran/57553] " burnus at gcc dot gnu.org
  2013-06-08 12:22 ` burnus at gcc dot gnu.org
@ 2013-06-08 12:24 ` burnus at gcc dot gnu.org
  2013-06-29 15:24 ` dominiq at lps dot ens.fr
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-06-08 12:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
The rejects-valid and the ICE-on-valid-code issue has been solved.


TODO: The following message for invalid code should be improved. [The problem
is that storage_size cannot handle "a", which is required for a constant
expression.]

    integer, parameter :: ESize = ( storage_size(a) + 7 ) / 8
    1
  Error: Unclassifiable statement at (1)


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

* [Bug fortran/57553] Valid use of STORAGE_SIZE rejected, bad error message for invalid use
  2013-06-07  7:43 [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-06-08 12:24 ` burnus at gcc dot gnu.org
@ 2013-06-29 15:24 ` dominiq at lps dot ens.fr
  3 siblings, 0 replies; 5+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-29 15:24 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-06-29
     Ever confirmed|0                           |1

--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> TODO: The following message for invalid code should be improved. ...

Confirmed.


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

end of thread, other threads:[~2013-06-29 15:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-07  7:43 [Bug fortran/57553] New: Valid use of STORAGE_SIZE rejected, bad error message for invalid use burnus at gcc dot gnu.org
2013-06-07  7:46 ` [Bug fortran/57553] " burnus at gcc dot gnu.org
2013-06-08 12:22 ` burnus at gcc dot gnu.org
2013-06-08 12:24 ` burnus at gcc dot gnu.org
2013-06-29 15:24 ` 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).