Author: heimdall
Date: Wed Aug 10 07:50:32 2005
New Revision: 8903

Modified:
   branches/gmc/include/parrot/pobj.h
Log:
Real pmc_body type (hopefully the good one)

Modified: branches/gmc/include/parrot/pobj.h
==============================================================================
--- branches/gmc/include/parrot/pobj.h  (original)
+++ branches/gmc/include/parrot/pobj.h  Wed Aug 10 07:50:32 2005
@@ -98,12 +98,13 @@ typedef Buffer PObj;
 #define PObj_bufstart(pmc)    (pmc)->obj.u._b._bufstart
 #define PObj_buflen(pmc)      (pmc)->obj.u._b._buflen
 #define PMC_body(pmc)         (pmc)->body
-#define PMC_struct_val(pmc)   (pmc)->body->_ptrs._struct_val
-#define PMC_pmc_val(pmc)      (pmc)->body->_ptrs._pmc_val
-#define PMC_int_val(pmc)      (pmc)->body->_i._int_val
-#define PMC_int_val2(pmc)     (pmc)->body->_i._int_val2
-#define PMC_num_val(pmc)      (pmc)->body->_num_val
-#define PMC_str_val(pmc)      (pmc)->body->_string_val
+#define PMC_struct_val(pmc)   LVALUE_CAST(DPOINTER*,PMC_body(pmc))
+#define PMC_pmc_val(pmc)      LVALUE_CAST(PMC*,PMC_body(pmc))
+#define PMC_int_val(pmc)      LVALUE_CAST(INTVAL,PMC_body(pmc))
+/* TODO: real int_val2 */
+#define PMC_int_val2(pmc)     LVALUE_CAST(INTVAL,PMC_body(pmc))
+#define PMC_num_val(pmc)      LVALUE_CAST(FLOATVAL,PMC_body(pmc))
+#define PMC_str_val(pmc)      LVALUE_CAST(struct parrot_string_t 
*,PMC_body(pmc))
 
 #else
 
@@ -163,7 +164,8 @@ struct parrot_string_t {
 
 /* TODO: Change to a real pmc_body type. */
 #if PARROT_GC_GMC
-typedef UnionVal pmc_body;
+/* typedef UnionVal pmc_body;*/
+typedef void pmc_body;
 
 /* Hack for the get_FLAGS macro to be happy. */
 typedef struct flags_holder {

Reply via email to