pike.git
/
src
/
program.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.h:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: program.h,v 1.
216
2005/03/14 17:
38
:
41
per Exp $
+
|| $Id: program.h,v 1.
217
2005/03/14 17:
59
:
14
per Exp $
*/ #ifndef PROGRAM_H #define PROGRAM_H #include <stdarg.h> #include "global.h" #include "pike_macros.h" #include "pike_error.h" #include "svalue.h"
pike.git/src/program.h:608:
extern int compilation_depth; /* Flags for identifier finding... */ #define SEE_STATIC 1 #define SEE_PRIVATE 2 #define COMPILER_IN_CATCH 1 #ifdef __cplusplus
-
#define
ADD_STORAGE(X)
do{
\
-
struct { char
_
x;
X
_z
;
} *
___offset
=NULL;
\
-
low_add_storage(sizeof(X),
PTR
_
TO
_
INT
(
&___offset->_z
),0)
; \
-
} while(0)
+
extern
"C++"
{
+
template<typename
T>
static
inline
int
_low_alignof(T
*ignored)
+
{
+
struct { char x;
T
y
;} *
bar
=
NULL;
+
return
PTR_TO_INT(&bar->y);
+
}
+
};
+
#define
ADD_STORAGE(X)
low_add_storage(
sizeof(X),_
low
_
alignof
(
(X*
)
NULL)
,0)
#else #define ADD_STORAGE(X) low_add_storage(sizeof(X), ALIGNOF(X),0) #endif
-
+
#define STORAGE_NEEDED(X) ((X)->storage_needed - (X)->inherits[0].storage_offset) #define FOO(NUMTYPE,TYPE,ARGTYPE,NAME) void PIKE_CONCAT(add_to_,NAME(ARGTYPE ARG)); #include "program_areas.h" typedef int supporter_callback (void *, int); struct Supporter { #ifdef PIKE_DEBUG int magic;