[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2024-06-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|12.4|12.5

--- Comment #10 from Richard Biener  ---
GCC 12.4 is being released, retargeting bugs to GCC 12.5.

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2023-05-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|12.3|12.4

--- Comment #9 from Richard Biener  ---
GCC 12.3 is being released, retargeting bugs to GCC 12.4.

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2022-08-19 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|12.2|12.3

--- Comment #8 from Richard Biener  ---
GCC 12.2 is being released, retargeting bugs to GCC 12.3.

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2022-05-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|12.0|12.2

--- Comment #7 from Jakub Jelinek  ---
GCC 12.1 is being released, retargeting bugs to GCC 12.2.

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2022-03-17 Thread msebor at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Martin Sebor  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
 CC|msebor at gcc dot gnu.org  |

--- Comment #6 from Martin Sebor  ---
I'm no longer working on this.

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2021-04-02 Thread msebor at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Martin Sebor  changed:

   What|Removed |Added

 CC||msebor at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org
   Last reconfirmed|2017-12-30 00:00:00 |2021-4-2
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=31279
  Known to fail||10.2.0, 11.0, 8.3.0, 9.3.0
   Target Milestone|--- |12.0
 Status|NEW |ASSIGNED

--- Comment #5 from Martin Sebor  ---
Pr31279 asks for a warning for a warning for call-by-reference arguments with
known intent(in).  This is the converse, but as I mentioned in pr31279 comment
#7 the middle end infrastructure to issue these warnings is in place.  The
Fortran front end needs to make use of it.

That being said, detecting read accesses to write-only arguments within the
annotated function itself isn't implemented yet (only passing uninitialized
arguments to read-only arguments is).  So I suggest tracking the Fortran
changes in pr31279 and the missing middle-end support here.

$ cat z.c && gcc -S -Wall z.c
__attribute__ ((access (read_only, 1)))
void f1 (int *);

void f2 (void)
{
  int i;
  f1 (); // -Wuninitialized (good)
}

__attribute__ ((access (write_only, 1)))
int g1 (int *p)
{
  return *p;   // missing warning
}

z.c: In function ‘f2’:
z.c:7:3: warning: ‘i’ is used uninitialized [-Wuninitialized]
7 |   f1 (); // -Wuninitialized (good)
  |   ^~~
z.c:2:6: note: in a call to ‘f1’ declared with attribute ‘access (read_only,
1)’ here
2 | void f1 (int *);
  |  ^~
z.c:6:7: note: ‘i’ declared here
6 |   int i;
  |   ^

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2017-12-30 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-30
 Ever confirmed|0   |1

--- Comment #4 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (8.0).

[Bug middle-end/82601] missing uninitialized warning for INTENT(OUT) argument with -O0 / -Og

2017-10-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82601

--- Comment #3 from janus at gcc dot gnu.org ---
Here is a variant of the example in comment 0, where the subroutine has been
substituted by a function:


program uninit

   integer :: p,q
   p = -1
   q = f(p)
   if (p