Qore Programming Language  1.12.0
macros-parisc.h
1 /* -*- mode: c++; indent-tabs-mode: nil -*- */
2 #ifndef _QORE_MACHINE_MACROS_H
3 #define _QORE_MACHINE_MACROS_H
4 
5 //#pragma message "using macros-parisc.h"
6 
7 // need 10KB on HPUX on PA-RISC
8 #define QORE_STACK_GUARD (1024 * 10)
9 
10 // we don't have code for 64-bit pa-risc yet
11 #if !defined(__LP64__)
12 
13 #define STACK_DIRECTION_UP 1
14 
15 #ifdef __GNUC__
16 
17 #define HAVE_CHECK_STACK_POS
18 
19 static inline size_t get_stack_pos() {
20  size_t addr;
21  __asm__("copy %%sp,%0" : "=r" (addr) );
22  return addr;
23 }
24 
25 #endif
26 
27 #ifdef __HP_aCC
28 
29 #define HAVE_CHECK_STACK_POS
30 
31 extern "C" size_t get_stack_pos();
32 
33 #endif
34 
35 #endif
36 
37 #endif