From 2c198561dd878dcfa4fca3b7785215fd3490ca84 Mon Sep 17 00:00:00 2001 From: Luqman Aden Date: Wed, 13 Feb 2013 15:41:04 -0500 Subject: [PATCH] rt: Fix alignment in debug_opaque --- src/rt/rust_builtin.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index a8e1e7a0be4..3f6545caaa8 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -241,13 +241,12 @@ debug_opaque(type_desc *t, uint8_t *front) { rust_task *task = rust_get_current_task(); LOG(task, stdlib, "debug_opaque"); debug_tydesc_helper(t); + // Account for alignment. `front` may not indeed be the + // front byte of the passed-in argument + if (((uintptr_t)front % t->align) != 0) { + front = (uint8_t *)align_to((uintptr_t)front, (size_t)t->align); + } for (uintptr_t i = 0; i < t->size; ++front, ++i) { - - // Account for alignment. `front` may not indeed be the - // front byte of the passed-in argument - if (((uintptr_t)front % t->align) != 0) - front = (uint8_t *)align_to((uintptr_t)front, (size_t)t->align); - LOG(task, stdlib, " byte %" PRIdPTR ": 0x%" PRIx8, i, *front); } } -- 2.44.0