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

--- Comment #2 from Sergio Losilla <loximann at gmail dot com> ---
(In reply to kargl from comment #1)
> How is the compiler suppose to know that the programmer may have
> meant
> 
>    program ifelif
>    if (.TRUE.) i = 42
>    if (.FALSE.) then
>       j = 42
>    end if
>    end program

As far as I know, there are two possible statements starting with if:

if (<expr>) then
if (<expr>) <statement>

The compiler should recognize that *something* is missing, be it either a then
or a statement.

> As for the message that you think makes no sense, I suspect
> the parse has identified (.TRUE.) as a malformed expression.

Well, the message objectively makes no sense because there is no assignment
whatsoever. At the very least, the message is confusing.

Reply via email to