From ac8ef7a5c878b5d6871826841824c6bbf69be394 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 26 Sep 2003 00:52:49 +0000 Subject: * defines.h (flush_register_windows): use volatile only for gcc on Solaris. [ruby-dev:21403] * lib/mkmf.rb (xsystem): use system directly to honor shell meta charaters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- defines.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'defines.h') diff --git a/defines.h b/defines.h index 6fd17808ae..2744b1650f 100644 --- a/defines.h +++ b/defines.h @@ -139,13 +139,18 @@ void xfree _((void*)); static inline void flush_register_windows(void) { -# if defined(__sparc_v9__) || defined(__arch64__) - asm volatile ("flushw" : :); + asm +#ifdef __GNUC__ + volatile +#endif +# if defined(__sparc_v9__) || defined(__sparcv9) || defined(__arch64__) + ("flushw" : :) # elif defined(linux) || defined(__linux__) - asm volatile ("ta 0x83"); + ("ta 0x83") # else /* Solaris, OpenBSD, NetBSD, etc. */ - asm volatile ("ta 0x03"); + ("ta 0x03") # endif /* trap always to flush register windows if we are on a Sparc system */ + ; } # define FLUSH_REGISTER_WINDOWS flush_register_windows() #else -- cgit v1.2.3