| Index: ppapi/c/pp_var.h
|
| ===================================================================
|
| --- ppapi/c/pp_var.h (revision 68374)
|
| +++ ppapi/c/pp_var.h (working copy)
|
| @@ -26,7 +26,6 @@
|
| PP_VARTYPE_STRING,
|
| PP_VARTYPE_OBJECT
|
| } PP_VarType;
|
| -
|
| PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_VarType, 4);
|
|
|
| /**
|
| @@ -43,6 +42,13 @@
|
| */
|
| struct PP_Var {
|
| PP_VarType type;
|
| +
|
| + /** Ensures @a value is aligned on an 8-byte boundary relative to the
|
| + * start of the struct. Some compilers align doubles on 8-byte boundaries
|
| + * for 32-bit x86, and some align on 4-byte boundaries.
|
| + */
|
| + int32_t padding;
|
| +
|
| union {
|
| PP_Bool as_bool;
|
| int32_t as_int;
|
| @@ -56,31 +62,32 @@
|
| int64_t as_id;
|
| } value;
|
| };
|
| +PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Var, 16);
|
|
|
| PP_INLINE struct PP_Var PP_MakeUndefined() {
|
| - struct PP_Var result = { PP_VARTYPE_UNDEFINED, {PP_FALSE} };
|
| + struct PP_Var result = { PP_VARTYPE_UNDEFINED, 0, {PP_FALSE} };
|
| return result;
|
| }
|
|
|
| PP_INLINE struct PP_Var PP_MakeNull() {
|
| - struct PP_Var result = { PP_VARTYPE_NULL, {PP_FALSE} };
|
| + struct PP_Var result = { PP_VARTYPE_NULL, 0, {PP_FALSE} };
|
| return result;
|
| }
|
|
|
| PP_INLINE struct PP_Var PP_MakeBool(PP_Bool value) {
|
| - struct PP_Var result = { PP_VARTYPE_BOOL, {PP_FALSE} };
|
| + struct PP_Var result = { PP_VARTYPE_BOOL, 0, {PP_FALSE} };
|
| result.value.as_bool = value;
|
| return result;
|
| }
|
|
|
| PP_INLINE struct PP_Var PP_MakeInt32(int32_t value) {
|
| - struct PP_Var result = { PP_VARTYPE_INT32, {PP_FALSE} };
|
| + struct PP_Var result = { PP_VARTYPE_INT32, 0, {PP_FALSE} };
|
| result.value.as_int = value;
|
| return result;
|
| }
|
|
|
| PP_INLINE struct PP_Var PP_MakeDouble(double value) {
|
| - struct PP_Var result = { PP_VARTYPE_DOUBLE, {PP_FALSE} };
|
| + struct PP_Var result = { PP_VARTYPE_DOUBLE, 0, {PP_FALSE} };
|
| result.value.as_double = value;
|
| return result;
|
| }
|
|
|