[PATCH,FORTRAN 17/29] Use stringpool for iso_fortran_env
Bernhard Reutner-Fischer
rep.dot.nop@gmail.com
Wed Sep 5 15:02:00 GMT 2018
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
More information about the Fortran
mailing list