* [committed] Fortran: resolve.c - remove '*XCNEW' based nullifying
@ 2021-06-14 12:49 Tobias Burnus
0 siblings, 0 replies; only message in thread
From: Tobias Burnus @ 2021-06-14 12:49 UTC (permalink / raw)
To: gcc-patches, fortran
[-- Attachment #1: Type: text/plain, Size: 696 bytes --]
Found this odd code. It starts fine with:
gfc_ref *ref = gfc_get_ref ();
this uses XCNEW to return nullified memory.
We then operate on
ref->u.ar
where 'ar' is a struct which is in a 'u'nion which is in gfc_ref.
Hence, 'ref->u.ar' is not a pointer. Hence, the following is a
wasteful way to memset '\0' the struct – which is still '\0'
from the first XCNEW:
ref->u.ar = *gfc_get_array_ref()
Note the '*' before the XCNEW calling macro gfc_get_array_ref!
Committed as obvious.
Tobias
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf
[-- Attachment #2: committed.diff --]
[-- Type: text/x-patch, Size: 718 bytes --]
commit a893b26f7311fe65b604f12a8fa5d5d64f5454e2
Author: Tobias Burnus <tobias@codesourcery.com>
Date: Mon Jun 14 14:36:20 2021 +0200
Fortran: resolve.c - remove '*XCNEW' based nullifying
gcc/fortran/ChangeLog:
* resolve.c (resolve_variable): Remove *XCNEW used to
nullify nullified memory.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index a37ad665645..45c3ad387ac 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -5709,7 +5709,6 @@ resolve_variable (gfc_expr *e)
part_ref. */
gfc_ref *ref = gfc_get_ref ();
ref->type = REF_ARRAY;
- ref->u.ar = *gfc_get_array_ref();
ref->u.ar.type = AR_FULL;
if (sym->as)
{
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-06-14 12:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-14 12:49 [committed] Fortran: resolve.c - remove '*XCNEW' based nullifying Tobias Burnus
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).