* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
@ 2013-06-20 10:20 ` dominiq at lps dot ens.fr
2013-06-21 13:06 ` bdavis at gcc dot gnu.org
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-20 10:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
No activity for over three years. I'll close it as WONTFIX in a few days if
nobody care anymore.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
2013-06-20 10:20 ` [Bug fortran/34928] Extension: volatile common blocks dominiq at lps dot ens.fr
@ 2013-06-21 13:06 ` bdavis at gcc dot gnu.org
2013-06-21 17:01 ` dominiq at lps dot ens.fr
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: bdavis at gcc dot gnu.org @ 2013-06-21 13:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #5 from Bud Davis <bdavis at gcc dot gnu.org> ---
As the reporter of this enhancement request, I think it is something that
should be left open.
Low priority, but this was a 'feature' of some f77 compilers in the past.
Even if no-one ever adds this functionality, those porting old f77 code that
encounter this will be able to see that it is not implemented and they can
infer why it was not added.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
2013-06-20 10:20 ` [Bug fortran/34928] Extension: volatile common blocks dominiq at lps dot ens.fr
2013-06-21 13:06 ` bdavis at gcc dot gnu.org
@ 2013-06-21 17:01 ` dominiq at lps dot ens.fr
2013-06-24 20:02 ` dominiq at lps dot ens.fr
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-21 17:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> As the reporter of this enhancement request, I think it is something
> that should be left open.
>
> Low priority, but this was a 'feature' of some f77 compilers in the past.
G77 does compile the test.
> Even if no-one ever adds this functionality, those porting old f77 code
> that encounter this will be able to see that it is not implemented
> and they can infer why it was not added.
IMO the f77 extensions that have not been already added to gfortran should not
be implemented, but documented in the section
6.2 Extensions not implemented in GNU Fortran
of the manual. I can submit a draft patch for this PR if someone is will to fix
my Frenglish and formatting issues and do the commit.
As for today, there are 738 opened PRs, among them 245 are UNCONFIRMED.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2013-06-21 17:01 ` dominiq at lps dot ens.fr
@ 2013-06-24 20:02 ` dominiq at lps dot ens.fr
2013-11-23 13:38 ` dominiq at lps dot ens.fr
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-24 20:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #7 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Bud,
What was the purpose of this construct?
What is the valid way to replace it?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2013-06-24 20:02 ` dominiq at lps dot ens.fr
@ 2013-11-23 13:38 ` dominiq at lps dot ens.fr
2013-12-21 20:21 ` bdavis at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-11-23 13:38 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #8 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> Bud,
>
> What was the purpose of this construct?
> What is the valid way to replace it?
Should I close again this PR as WONTFIX to get an answer?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2013-11-23 13:38 ` dominiq at lps dot ens.fr
@ 2013-12-21 20:21 ` bdavis at gcc dot gnu.org
2014-02-03 14:42 ` dominiq at lps dot ens.fr
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: bdavis at gcc dot gnu.org @ 2013-12-21 20:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #9 from Bud Davis <bdavis at gcc dot gnu.org> ---
I completely support closing this PR with a note in the documentation.
On shared memory mini computers of a bygone era, it was common to map the
common blocks to a specific memory address, and then more than one program (in
more than one cpu) could access them.
You used the volatile keyword to ensure the writes happened to memory, and
didn't stay in the register set of a cpu.
I also wouldn't be surprised if I/O devices (think VME) were mapped to a fortan
common block name, and thus also required volatile.
Both concepts are long gone, but the code still lives.
A note in the documentation is all it needs.
--bud
p.s. This explanation may be wrong. It was a long time ago. !!
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2013-12-21 20:21 ` bdavis at gcc dot gnu.org
@ 2014-02-03 14:42 ` dominiq at lps dot ens.fr
2014-03-26 20:40 ` dominiq at gcc dot gnu.org
2014-04-03 8:33 ` dominiq at lps dot ens.fr
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-02-03 14:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #10 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Bud,
Will the following patch be good enough before closing this PR as WONTFIX?
--- ../_clean/gcc/fortran/gfortran.texi 2014-01-04 15:51:42.000000000 +0100
+++ gcc/fortran/gfortran.texi 2014-02-03 15:33:50.000000000 +0100
@@ -1990,6 +1990,7 @@ code that uses them running with the GNU
@c * CARRIAGECONTROL, DEFAULTFILE, DISPOSE and RECORDTYPE I/O specifiers::
@c * Omitted arguments in procedure call::
* Alternate complex function syntax::
+* Volatile COMMON blocks::
@end menu
@@ -2184,6 +2185,18 @@ extensions. @command{gfortran} accepts
common, but not the former.
+@node Volatile COMMON blocks
+@subsection Volatile @code{COMMON} blocks
+@cindex @code{VOLATILE}
+@cindex @code{COMMON}
+
+Some Fortran compilers, including @command{g77}, let the user declare
+@code{COMMON} with the @code{VOLATILE} attribute. This is
+invalid standard Fortran 77/90/95/2003/2008 syntax and is not
+supported by @command{gfortran}. Note that @command{gfortran} accepts
+VOLATILE variables in COMMON blocks since revision 4.3.
+
+
@c ---------------------------------------------------------------------
@c Mixed-Language Programming
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2014-02-03 14:42 ` dominiq at lps dot ens.fr
@ 2014-03-26 20:40 ` dominiq at gcc dot gnu.org
2014-04-03 8:33 ` dominiq at lps dot ens.fr
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at gcc dot gnu.org @ 2014-03-26 20:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
--- Comment #11 from dominiq at gcc dot gnu.org ---
Author: dominiq
Date: Wed Mar 26 20:39:42 2014
New Revision: 208852
URL: http://gcc.gnu.org/viewcvs?rev=208852&root=gcc&view=rev
Log:
PR fortran/34928
* fortran.texi: Document Volatile COMMON as not supported.
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/34928] Extension: volatile common blocks
[not found] <bug-34928-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2014-03-26 20:40 ` dominiq at gcc dot gnu.org
@ 2014-04-03 8:33 ` dominiq at lps dot ens.fr
8 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-04-03 8:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34928
Dominique d'Humieres <dominiq at lps dot ens.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |WONTFIX
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Following r208852, closing as WONTFIX.
^ permalink raw reply [flat|nested] 11+ messages in thread