diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-26 00:52:49 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-26 00:52:49 +0000 |
commit | 5e73dc9233f8a5ea926c90e2178555a932b111c2 (patch) | |
tree | e6dd3106e1b46b72edca324c69856238bd70f0fa /defines.h | |
parent | 6104291af4c25b493064971f9d81fc212513db0c (diff) | |
download | ruby-5e73dc9233f8a5ea926c90e2178555a932b111c2.tar.gz ruby-5e73dc9233f8a5ea926c90e2178555a932b111c2.tar.xz ruby-5e73dc9233f8a5ea926c90e2178555a932b111c2.zip |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@4600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'defines.h')
-rw-r--r-- | defines.h | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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 |