This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH,FORTRAN 17/29] Use stringpool for iso_fortran_env
- From: Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com>
- To: fortran at gcc dot gnu dot org
- Cc: Bernhard Reutner-Fischer <aldot at gcc dot gnu dot org>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 5 Sep 2018 14:57:20 +0000
- Subject: [PATCH,FORTRAN 17/29] Use stringpool for iso_fortran_env
- References: <CAC1BbcSJmqmQW7Zuv+6UQu0znbsVm85i3gP_y4Dny3czMCANgA@mail.gmail.com>
From: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
gcc/fortran/ChangeLog:
2017-11-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* module.c (use_iso_fortran_env_module): Use stringpool and use
pointer comparison instead of strcmp.
---
gcc/fortran/module.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index d7bc7fbef1c..3b644234921 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -6678,7 +6678,7 @@ read_module_to_tmpbuf ()
static void
use_iso_fortran_env_module (void)
{
- static char mod[] = "iso_fortran_env";
+ const char *mod = gfc_get_string ("%s", "iso_fortran_env");
gfc_use_rename *u;
gfc_symbol *mod_sym;
gfc_symtree *mod_symtree;
@@ -6686,11 +6686,11 @@ use_iso_fortran_env_module (void)
int i, j;
intmod_sym symbol[] = {
-#define NAMED_INTCST(a,b,c,d) { a, b, 0, d },
-#define NAMED_KINDARRAY(a,b,c,d) { a, b, 0, d },
-#define NAMED_DERIVED_TYPE(a,b,c,d) { a, b, 0, d },
-#define NAMED_FUNCTION(a,b,c,d) { a, b, c, d },
-#define NAMED_SUBROUTINE(a,b,c,d) { a, b, c, d },
+#define NAMED_INTCST(a,b,c,d) { a, gfc_get_string ("%s", b), 0, d },
+#define NAMED_KINDARRAY(a,b,c,d) { a, gfc_get_string ("%s", b), 0, d },
+#define NAMED_DERIVED_TYPE(a,b,c,d) { a, gfc_get_string ("%s", b), 0, d },
+#define NAMED_FUNCTION(a,b,c,d) { a, gfc_get_string ("%s", b), c, d },
+#define NAMED_SUBROUTINE(a,b,c,d) { a, gfc_get_string ("%s", b), c, d },
#include "iso-fortran-env.def"
{ ISOFORTRANENV_INVALID, NULL, -1234, 0 } };
@@ -6708,7 +6708,7 @@ use_iso_fortran_env_module (void)
mod_sym->attr.flavor = FL_MODULE;
mod_sym->attr.intrinsic = 1;
- mod_sym->module = gfc_get_string ("%s", mod);
+ mod_sym->module = mod;
mod_sym->from_intmod = INTMOD_ISO_FORTRAN_ENV;
}
else
@@ -6723,7 +6723,7 @@ use_iso_fortran_env_module (void)
bool found = false;
for (u = gfc_rename_list; u; u = u->next)
{
- if (strcmp (symbol[i].name, u->use_name) == 0)
+ if (symbol[i].name == u->use_name)
{
found = true;
u->found = 1;
--
2.19.0.rc1