Commit 74039253 by Iain Buclaw Committed by Iain Buclaw

Fix ODR violation in d/runtime.cc

gcc/d/ChangeLog:

	PR d/90893
	* runtime.cc (enum libcall_type): Rename to...
	(enum d_libcall_type): ...this.
	(get_libcall_type): Use d_libcall_type.
	(build_libcall_decl): Likewise.

From-SVN: r274249
parent 8fa64062
2019-08-10 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/90893
* runtime.cc (enum libcall_type): Rename to...
(enum d_libcall_type): ...this.
(get_libcall_type): Use d_libcall_type.
(build_libcall_decl): Likewise.
2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/90559 PR d/90559
......
...@@ -34,7 +34,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -34,7 +34,7 @@ along with GCC; see the file COPYING3. If not see
We represent them in the frontend here, however there's no guarantee that We represent them in the frontend here, however there's no guarantee that
the compiler implementation actually matches the actual implementation. */ the compiler implementation actually matches the actual implementation. */
enum libcall_type enum d_libcall_type
{ {
LCT_VOID, /* void */ LCT_VOID, /* void */
LCT_BYTE, /* byte */ LCT_BYTE, /* byte */
...@@ -81,7 +81,7 @@ static tree libcall_decls[LIBCALL_LAST]; ...@@ -81,7 +81,7 @@ static tree libcall_decls[LIBCALL_LAST];
arrayOf() will return cached types if they have been requested before. */ arrayOf() will return cached types if they have been requested before. */
static Type * static Type *
get_libcall_type (libcall_type type) get_libcall_type (d_libcall_type type)
{ {
if (libcall_types[type]) if (libcall_types[type])
return libcall_types[type]; return libcall_types[type];
...@@ -212,7 +212,7 @@ get_libcall_type (libcall_type type) ...@@ -212,7 +212,7 @@ get_libcall_type (libcall_type type)
the number of arguments, the types of which are provided in `...'. */ the number of arguments, the types of which are provided in `...'. */
static tree static tree
build_libcall_decl (const char *name, libcall_type return_type, build_libcall_decl (const char *name, d_libcall_type return_type,
int flags, int nparams, ...) int flags, int nparams, ...)
{ {
tree *args = XALLOCAVEC (tree, nparams); tree *args = XALLOCAVEC (tree, nparams);
...@@ -226,7 +226,7 @@ build_libcall_decl (const char *name, libcall_type return_type, ...@@ -226,7 +226,7 @@ build_libcall_decl (const char *name, libcall_type return_type,
for (int i = 0; i < nparams; i++) for (int i = 0; i < nparams; i++)
{ {
libcall_type ptype = (libcall_type) va_arg (ap, int); d_libcall_type ptype = (d_libcall_type) va_arg (ap, int);
Type *type = get_libcall_type (ptype); Type *type = get_libcall_type (ptype);
if (type == Type::tvoid) if (type == Type::tvoid)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment