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.
162
2002/06/11 17:
41
:
36
mast Exp $
+
* $Id: program.h,v 1.
163
2002/06/11 17:
48
:
11
mast Exp $
*/ #ifndef PROGRAM_H #define PROGRAM_H #include <stdarg.h> #include "global.h" #include "pike_types.h" #include "pike_macros.h" #include "svalue.h" #include "time_stuff.h"
pike.git/src/program.h:21:
#define STRUCT #include "compilation.h" #define EXTERN #include "compilation.h" /* Needed to support dynamic loading on NT */ PMOD_PROTO extern struct program_state * Pike_compiler;
-
#ifdef PIKE_DEBUG
-
#define PROGRAM_LINE_ARGS int line, char *file
-
#else
-
#define PROGRAM_LINE_ARGS void
-
#endif
-
+
extern struct pike_string *this_program_string; #define LFUN___INIT 0 #define LFUN_CREATE 1 #define LFUN_DESTROY 2 #define LFUN_ADD 3 #define LFUN_SUBTRACT 4 #define LFUN_AND 5 #define LFUN_OR 6 #define LFUN_XOR 7
pike.git/src/program.h:214:
#define ID_INHERITED 0x80 /* Symbol is inherited */ #define ID_OPTIONAL 0x100 /* Symbol is not required by the interface */ #define ID_EXTERN 0x200 /* Symbol is defined later */ #define ID_VARIANT 0x400 /* Function is overloaded by argument. */ #define ID_ALIAS 0x800 /* Variable is an overloaded alias. */ #define ID_MODIFIER_MASK 0x0fff #define ID_STRICT_TYPES 0x8000 /* #pragma strict_types */ #define ID_SAVE_PARENT 0x10000 /* #pragma save_parent */
+
#define ID_DONT_SAVE_PARENT 0x20000 /* #pragma dont_save_parent */
/* * All identifiers in this program * and all identifiers in inherited programs * needs to have a 'struct reference' in this * program. When we overload a function, we simply * change the reference to point to the new 'struct identifier'. */ struct reference
pike.git/src/program.h:464:
void optimize_program(struct program *p); int program_function_index_compare(const void *a,const void *b); struct pike_string *find_program_name(struct program *p, INT32 *line); int override_identifier (struct reference *ref, struct pike_string *name); void fixate_program(void); struct program *low_allocate_program(void); void low_start_new_program(struct program *p, struct pike_string *name, int flags, int *idp);
-
PMOD_EXPORT void debug_start_new_program(
PROGRAM_LINE_ARGS
);
+
PMOD_EXPORT void debug_start_new_program(
int line, char *file
);
void dump_program_desc(struct program *p); int sizeof_variable(int run_time_type); void dump_program_tables (struct program *p, int indent); void check_program(struct program *p); struct program *end_first_pass(int finish); PMOD_EXPORT struct program *debug_end_program(void); PMOD_EXPORT size_t low_add_storage(size_t size, size_t alignment, ptrdiff_t modulo_orig); PMOD_EXPORT void set_init_callback(void (*init)(struct object *)); PMOD_EXPORT void set_exit_callback(void (*exit)(struct object *));
pike.git/src/program.h:719:
#define end_class(NAME, FLAGS) (debug_malloc_touch(Pike_compiler->new_program), debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS)) #else #define end_class(NAME,FLAGS) debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS) #define end_program debug_end_program #endif #ifdef PIKE_DEBUG #define start_new_program() debug_start_new_program(__LINE__,__FILE__) #else
-
#define start_new_program() debug_start_new_program()
+
#define start_new_program() debug_start_new_program(
0, "native module"
)
#endif #define gc_cycle_check_program(X, WEAK) \ gc_cycle_enqueue((gc_cycle_check_cb *) real_gc_cycle_check_program, (X), (WEAK)) /* This can be used for backwards compatibility * (if added to program.h in Pike 0.6 and Pike 7.0 * -Hubbe */ #define Pike_new_program Pike_compiler->new_program