From 740392538848e2c1b4535f3b6fc7e018930c0a64 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sat, 10 Aug 2019 05:25:44 +0000 Subject: [PATCH] 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 --- gcc/d/ChangeLog | 8 ++++++++ gcc/d/runtime.cc | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 51d17216816..fb7b974d745 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,11 @@ +2019-08-10 Iain Buclaw + + 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 PR d/90559 diff --git a/gcc/d/runtime.cc b/gcc/d/runtime.cc index c2a5c55a1ab..72659aea0e3 100644 --- a/gcc/d/runtime.cc +++ b/gcc/d/runtime.cc @@ -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 the compiler implementation actually matches the actual implementation. */ -enum libcall_type +enum d_libcall_type { LCT_VOID, /* void */ LCT_BYTE, /* byte */ @@ -81,7 +81,7 @@ static tree libcall_decls[LIBCALL_LAST]; arrayOf() will return cached types if they have been requested before. */ static Type * -get_libcall_type (libcall_type type) +get_libcall_type (d_libcall_type type) { if (libcall_types[type]) return libcall_types[type]; @@ -212,7 +212,7 @@ get_libcall_type (libcall_type type) the number of arguments, the types of which are provided in `...'. */ 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, ...) { tree *args = XALLOCAVEC (tree, nparams); @@ -226,7 +226,7 @@ build_libcall_decl (const char *name, libcall_type return_type, 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); if (type == Type::tvoid) -- 2.30.2