Qore Programming Language  0.8.3
include/qore/macros-parisc.h (4311)
00001 /* -*- mode: c++; indent-tabs-mode: nil -*- */
00002 #ifndef _QORE_MACHINE_MACROS_H
00003 
00004 #define _QORE_MACHINE_MACROS_H
00005 
00006 // we don't have code for 64-bit pa-risc yet
00007 #if !defined(__LP64__)
00008 
00009 #define STACK_DIRECTION_UP 1
00010 
00011 #ifdef __GNUC__
00012 
00013 /*
00014 #define HAVE_ATOMIC_MACROS
00015 
00016 static inline int atomic_dec(int *pw) {
00017 }
00018 
00019 static inline void atomic_inc(int *pw) {
00020 }
00021 */
00022 
00023 #define HAVE_CHECK_STACK_POS
00024 
00025 static inline size_t get_stack_pos() {
00026    size_t addr;
00027    __asm__("copy %%sp,%0" : "=r" (addr) );
00028    return addr;
00029 }
00030 
00031 #endif
00032 
00033 #ifdef __HP_aCC
00034 
00035 //#define HAVE_ATOMIC_MACROS
00036 
00037 // routines are implemented in assembler
00038 //extern "C" int atomic_dec(int *pw);
00039 //extern "C" void atomic_inc(int *pw);
00040 
00041 #define HAVE_CHECK_STACK_POS
00042 
00043 extern "C" size_t get_stack_pos();
00044 
00045 #endif
00046 
00047 #endif
00048 
00049 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines