vms-c.c (vms_construct_include_filename): New function.
2012-03-09 Tristan Gingold <gingold@adacore.com> * config/vms/vms-c.c (vms_construct_include_filename): New function. (vms_c_register_includes): Reference it. From-SVN: r185133
This commit is contained in:
parent
0d7de0e10b
commit
575a623526
@ -1,3 +1,8 @@
|
|||||||
|
2012-03-09 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
|
* config/vms/vms-c.c (vms_construct_include_filename): New function.
|
||||||
|
(vms_c_register_includes): Reference it.
|
||||||
|
|
||||||
2012-03-09 Andrew Pinski <apinski@cavium.com>
|
2012-03-09 Andrew Pinski <apinski@cavium.com>
|
||||||
|
|
||||||
PR middle-end/51988
|
PR middle-end/51988
|
||||||
@ -7,8 +12,8 @@
|
|||||||
value_replacement instead of just the singleton one.
|
value_replacement instead of just the singleton one.
|
||||||
(value_replacement): Change return type to int. Return 0 instead of
|
(value_replacement): Change return type to int. Return 0 instead of
|
||||||
false.
|
false.
|
||||||
Allow the middle basic block to contain more than just the definings
|
Allow the middle basic block to contain more than just the defining
|
||||||
tatement.
|
statement.
|
||||||
Handle non empty middle basic blocks.
|
Handle non empty middle basic blocks.
|
||||||
* Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
|
* Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
|
||||||
|
|
||||||
|
@ -304,6 +304,36 @@ vms_c_register_pragma (void)
|
|||||||
c_register_pragma (NULL, "__extern_prefix", vms_pragma_extern_prefix);
|
c_register_pragma (NULL, "__extern_prefix", vms_pragma_extern_prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Canonicalize the filename (remove directory prefix, force the .h extension),
|
||||||
|
and append it to the directory to create the path, but don't
|
||||||
|
turn / into // or // into ///; // may be a namespace escape. */
|
||||||
|
|
||||||
|
static char *
|
||||||
|
vms_construct_include_filename (const char *fname, cpp_dir *dir)
|
||||||
|
{
|
||||||
|
size_t dlen, flen;
|
||||||
|
char *path;
|
||||||
|
const char *fbasename = lbasename (fname);
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
dlen = dir->len;
|
||||||
|
flen = strlen (fbasename) + 2;
|
||||||
|
path = XNEWVEC (char, dlen + 1 + flen + 1);
|
||||||
|
memcpy (path, dir->name, dlen);
|
||||||
|
if (dlen && !IS_DIR_SEPARATOR (path[dlen - 1]))
|
||||||
|
path[dlen++] = '/';
|
||||||
|
for (i = 0; i < flen; i++)
|
||||||
|
if (fbasename[i] == '.')
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
path[dlen + i] = TOLOWER (fbasename[i]);
|
||||||
|
path[dlen + i + 0] = '.';
|
||||||
|
path[dlen + i + 1] = 'h';
|
||||||
|
path[dlen + i + 2] = 0;
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
/* Standard modules list. */
|
/* Standard modules list. */
|
||||||
static const char * const vms_std_modules[] = { "rtldef", "starlet_c", NULL };
|
static const char * const vms_std_modules[] = { "rtldef", "starlet_c", NULL };
|
||||||
|
|
||||||
@ -341,7 +371,7 @@ vms_c_register_includes (const char *sysroot,
|
|||||||
p->next = NULL;
|
p->next = NULL;
|
||||||
p->name = path;
|
p->name = path;
|
||||||
p->sysp = 1;
|
p->sysp = 1;
|
||||||
p->construct = 0;
|
p->construct = vms_construct_include_filename;
|
||||||
p->user_supplied_p = 0;
|
p->user_supplied_p = 0;
|
||||||
add_cpp_dir_path (p, SYSTEM);
|
add_cpp_dir_path (p, SYSTEM);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user