Changes in src/prelude/builtins.c [1ae06fa:88e79ad]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/prelude/builtins.c
r1ae06fa r88e79ad 91 91 static inline unsigned int ?\=?( unsigned int & x, unsigned long int y ) { x = x \ y; return x; } 92 92 93 // type that wraps a pointer and a destructor-like function - used in generating implicit destructor calls for struct members in user-defined functions 94 forall(dtype T) 95 struct __Destructor { 96 T * object; 97 void (*dtor)(T *); 98 }; 99 100 // defined destructor in the case that non-generated code wants to use __Destructor 101 forall(dtype T) 102 static inline void ^?{}(__Destructor(T) & x) { 103 x.dtor(x.object); 104 } 105 106 // easy interface into __Destructor's destructor for easy codegen purposes 107 extern "C" { 108 forall(dtype T) 109 static inline void __destroy_Destructor(__Destructor(T) * dtor) { 110 ^(*dtor){}; 111 } 112 } 113 93 114 // Local Variables: // 94 115 // mode: c //
Note: See TracChangeset
for help on using the changeset viewer.