From 0e40468809eddddfed4c7ae02de1ea4be8e7218e Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 4 Nov 2014 07:10:41 +0900 Subject: specify alignment specifier for GCC and MSC; ref #2630 --- src/dump.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/dump.c b/src/dump.c index ea19bee60..67dd82e43 100644 --- a/src/dump.c +++ b/src/dump.c @@ -1032,7 +1032,15 @@ mrb_dump_irep_cfunc(mrb_state *mrb, mrb_irep *irep, int debug_info, FILE *fp, co mrb_free(mrb, bin); return MRB_DUMP_WRITE_FAULT; } - if (fprintf(fp, "const uint8_t %s[] = {", initname) < 0) { + if (fprintf(fp, + "const uint8_t\n" + "#if defined __GNUC__\n" + "__attribute__((aligned(%zu)))\n" + "#elif defined _MSC_VER\n" + "__declspec(align(%zu))\n" + "#endif\n" + "%s[] = {", + MRB_DUMP_ALIGNMENT, MRB_DUMP_ALIGNMENT, initname) < 0) { mrb_free(mrb, bin); return MRB_DUMP_WRITE_FAULT; } -- cgit v1.2.3