public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Fortran bootstrap broken
@ 2009-05-18 13:45 Tobias Burnus
  2009-05-18 13:59 ` Richard Guenther
  2009-05-18 14:52 ` Janus Weil
  0 siblings, 2 replies; 7+ messages in thread
From: Tobias Burnus @ 2009-05-18 13:45 UTC (permalink / raw)
  To: gcc; +Cc: Gerald Pfeifer, Janus Weil

Dear Gerald,

> /usr/test/gcc/gcc/fortran/intrinsic.c: In function 'add_sym':
> /usr/test/gcc/gcc/fortran/intrinsic.c:306: error: enum conversion in assignment is invalid in C++

Can you try whether the following patch works? If so, you can
commit it as obvious. (I cannot test/commit it until this evening.)

Tobias

Index: intrinsic.c
===================================================================
--- intrinsic.c (revision 147659)
+++ intrinsic.c (working copy)
@@ -303,7 +303,7 @@
       type = (bt) va_arg (argp, int);
       kind = va_arg (argp, int);
       optional = va_arg (argp, int);
-      intent = va_arg (argp, int);
+      intent = (sym_intent) va_arg (argp, int);

       if (sizing != SZ_NOTHING)
        nargs++;

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

* Re: Fortran bootstrap broken
  2009-05-18 13:45 Fortran bootstrap broken Tobias Burnus
@ 2009-05-18 13:59 ` Richard Guenther
  2009-05-18 14:40   ` Andreas Schwab
  2009-05-19  0:28   ` Joseph S. Myers
  2009-05-18 14:52 ` Janus Weil
  1 sibling, 2 replies; 7+ messages in thread
From: Richard Guenther @ 2009-05-18 13:59 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc, Gerald Pfeifer, Janus Weil

On Mon, May 18, 2009 at 3:00 PM, Tobias Burnus <burnus@net-b.de> wrote:
> Dear Gerald,
>
>> /usr/test/gcc/gcc/fortran/intrinsic.c: In function 'add_sym':
>> /usr/test/gcc/gcc/fortran/intrinsic.c:306: error: enum conversion in assignment is invalid in C++
>
> Can you try whether the following patch works? If so, you can
> commit it as obvious. (I cannot test/commit it until this evening.)
>
> Tobias
>
> Index: intrinsic.c
> ===================================================================
> --- intrinsic.c (revision 147659)
> +++ intrinsic.c (working copy)
> @@ -303,7 +303,7 @@
>       type = (bt) va_arg (argp, int);
>       kind = va_arg (argp, int);
>       optional = va_arg (argp, int);
> -      intent = va_arg (argp, int);
> +      intent = (sym_intent) va_arg (argp, int);

  intent = va_arg (argp, sym_intent);

instead?

>
>       if (sizing != SZ_NOTHING)
>        nargs++;
>

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

* Re: Fortran bootstrap broken
  2009-05-18 13:59 ` Richard Guenther
@ 2009-05-18 14:40   ` Andreas Schwab
  2009-05-19  0:28   ` Joseph S. Myers
  1 sibling, 0 replies; 7+ messages in thread
From: Andreas Schwab @ 2009-05-18 14:40 UTC (permalink / raw)
  To: Richard Guenther; +Cc: Tobias Burnus, gcc, Gerald Pfeifer, Janus Weil

Richard Guenther <richard.guenther@gmail.com> writes:

> On Mon, May 18, 2009 at 3:00 PM, Tobias Burnus <burnus@net-b.de> wrote:
>> Index: intrinsic.c
>> ===================================================================
>> --- intrinsic.c (revision 147659)
>> +++ intrinsic.c (working copy)
>> @@ -303,7 +303,7 @@
>>       type = (bt) va_arg (argp, int);
>>       kind = va_arg (argp, int);
>>       optional = va_arg (argp, int);
>> -      intent = va_arg (argp, int);
>> +      intent = (sym_intent) va_arg (argp, int);
>
>   intent = va_arg (argp, sym_intent);

The argument of va_arg must be the promoted type, the enum type may not
qualify.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

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

* Re: Fortran bootstrap broken
  2009-05-18 13:45 Fortran bootstrap broken Tobias Burnus
  2009-05-18 13:59 ` Richard Guenther
@ 2009-05-18 14:52 ` Janus Weil
  2009-05-18 15:26   ` Janus Weil
  1 sibling, 1 reply; 7+ messages in thread
From: Janus Weil @ 2009-05-18 14:52 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc, Gerald Pfeifer

2009/5/18 Tobias Burnus <burnus@net-b.de>:
> Can you try whether the following patch works? If so, you can
> commit it as obvious. (I cannot test/commit it until this evening.)
>
> Tobias
>
> Index: intrinsic.c
> ===================================================================
> --- intrinsic.c (revision 147659)
> +++ intrinsic.c (working copy)
> @@ -303,7 +303,7 @@
>       type = (bt) va_arg (argp, int);
>       kind = va_arg (argp, int);
>       optional = va_arg (argp, int);
> -      intent = va_arg (argp, int);
> +      intent = (sym_intent) va_arg (argp, int);
>
>       if (sizing != SZ_NOTHING)
>        nargs++;

This seems to work. I will commit it.

I'm really sorry I broke bootstrap. I usually don't test my Fortran
patches with a full bootstrap (to save time), since I assumed
bootstrapping would not be essential for the Fortran front end.

Sorry for the inconvenience,
Janus

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

* Re: Fortran bootstrap broken
  2009-05-18 14:52 ` Janus Weil
@ 2009-05-18 15:26   ` Janus Weil
  0 siblings, 0 replies; 7+ messages in thread
From: Janus Weil @ 2009-05-18 15:26 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc, Gerald Pfeifer

2009/5/18 Janus Weil <janus@gcc.gnu.org>:
> 2009/5/18 Tobias Burnus <burnus@net-b.de>:
>> Can you try whether the following patch works? If so, you can
>> commit it as obvious. (I cannot test/commit it until this evening.)
>>
>> Tobias
>>
>> Index: intrinsic.c
>> ===================================================================
>> --- intrinsic.c (revision 147659)
>> +++ intrinsic.c (working copy)
>> @@ -303,7 +303,7 @@
>>       type = (bt) va_arg (argp, int);
>>       kind = va_arg (argp, int);
>>       optional = va_arg (argp, int);
>> -      intent = va_arg (argp, int);
>> +      intent = (sym_intent) va_arg (argp, int);
>>
>>       if (sizing != SZ_NOTHING)
>>        nargs++;
>
> This seems to work. I will commit it.

Sending        gcc/fortran/ChangeLog
Sending        gcc/fortran/intrinsic.c
Transmitting file data ..
Committed revision 147662.

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

* Re: Fortran bootstrap broken
  2009-05-18 13:59 ` Richard Guenther
  2009-05-18 14:40   ` Andreas Schwab
@ 2009-05-19  0:28   ` Joseph S. Myers
  1 sibling, 0 replies; 7+ messages in thread
From: Joseph S. Myers @ 2009-05-19  0:28 UTC (permalink / raw)
  To: Richard Guenther; +Cc: Tobias Burnus, gcc, Gerald Pfeifer, Janus Weil

[-- Attachment #1: Type: TEXT/PLAIN, Size: 363 bytes --]

On Mon, 18 May 2009, Richard Guenther wrote:

> > -      intent = va_arg (argp, int);
> > +      intent = (sym_intent) va_arg (argp, int);
> 
>   intent = va_arg (argp, sym_intent);
> 
> instead?

You can't use va_arg with an enum type on short-enums hosts, though we may 
not presently support any such.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* Fortran bootstrap broken
       [not found] <200905181159.n4IBx3La062665@sputnik1.dbai.tuwien.ac.at>
@ 2009-05-18 13:21 ` Gerald Pfeifer
  0 siblings, 0 replies; 7+ messages in thread
From: Gerald Pfeifer @ 2009-05-18 13:21 UTC (permalink / raw)
  To: gcc, Janus Weil

As follows:

> cc1: warnings being treated as errors
> /usr/test/gcc/gcc/fortran/intrinsic.c: In function 'add_sym':
> /usr/test/gcc/gcc/fortran/intrinsic.c:306: error: enum conversion in assignment is invalid in C++
> gmake[3]: *** [fortran/intrinsic.o] Error 1
> gmake[3]: Leaving directory `/usr/nabil-files/pfeifer/OBJ-0518-1229/gcc'

Looks like a consequence of:

  2009-05-18  Janus Weil  <janus@gcc.gnu.org>

        PR fortran/36947
        PR fortran/40039
        * expr.c (gfc_check_pointer_assign): Check intents when comparing
        interfaces.
        * gfortran.h (typedef struct gfc_intrinsic_arg): Add 'intent' member.
        (gfc_compare_interfaces): Additional argument.
        * interface.c (operator_correspondence): Add check for equality of
        intents, and new argument 'intent_check'.
        (gfc_compare_interfaces): New argument 'intent_check', which is passed
        on to operator_correspondence.
        (check_interface1): Don't check intents when comparing interfaces.
        (compare_parameter): Do check intents when comparing interfaces.
        * intrinsic.c (add_sym): Add intents for arguments of intrinsic
        procedures. ...
       
I'm trying to develop and test my stdint.h patch on FreeBSD, but bootstrap
keeps being broken for all sorts of different reasons. :-(

Gerald

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

end of thread, other threads:[~2009-05-18 17:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-18 13:45 Fortran bootstrap broken Tobias Burnus
2009-05-18 13:59 ` Richard Guenther
2009-05-18 14:40   ` Andreas Schwab
2009-05-19  0:28   ` Joseph S. Myers
2009-05-18 14:52 ` Janus Weil
2009-05-18 15:26   ` Janus Weil
     [not found] <200905181159.n4IBx3La062665@sputnik1.dbai.tuwien.ac.at>
2009-05-18 13:21 ` Gerald Pfeifer

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