From: Bernhard Reutner-Fischer <al...@gcc.gnu.org> gcc/fortran/ChangeLog:
2017-11-23 Bernhard Reutner-Fischer <al...@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