summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-24 12:33:25 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2019-11-28 01:06:32 +0100
commitd4d231f9aed5a8675e63effa02357a1aeae75c59 (patch)
tree150535e6aec229e37690a23a4bff5a677678fbb5
parent6bca188679d235ddbad2e97aa3e4186a4730686e (diff)
downloadsparse-d4d231f9aed5a8675e63effa02357a1aeae75c59.tar.gz
arch: fix wchar_t & wint_t on SunOS/Solaris
On 32-bit sparc running SunOS or Solaris, wchar_t and wint_t are long, not uint or int. Add a special case to handle this. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--target.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/target.c b/target.c
index c89bb07d..64e6533f 100644
--- a/target.c
+++ b/target.c
@@ -98,7 +98,6 @@ void init_target(void)
}
break;
case MACH_M68K:
- case MACH_SPARC32:
case MACH_PPC32:
wchar_ctype = &long_ctype;
break;
@@ -106,6 +105,12 @@ void init_target(void)
case MACH_ARM64:
wchar_ctype = &uint_ctype;
break;
+ case MACH_SPARC32:
+ if (arch_os == OS_SUNOS) {
+ wint_ctype = &long_ctype;
+ wchar_ctype = &long_ctype;
+ }
+ break;
default:
break;
}