X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeemitter_binary.c;h=f80246f8fe0432a045ac6e21339f30bec0516b0c;hb=e0e9e9ace61d3ec46e4d09c7ab2c6947b17b2778;hp=e9291e68025217d0a0b113d125ab4e9fe7431410;hpb=09b33db929514c565b37e1b15151c56bf381a9df;p=libfirm diff --git a/ir/be/beemitter_binary.c b/ir/be/beemitter_binary.c index e9291e680..f80246f8f 100644 --- a/ir/be/beemitter_binary.c +++ b/ir/be/beemitter_binary.c @@ -43,8 +43,8 @@ struct obstack code_fragment_obst; be_emit(8/16/32/entity) call!) */ code_fragment_t *be_get_current_fragment(void) { - assert(obstack_object_size(&code_fragment_obst) >= sizeof(code_fragment_t)); code_fragment_t *fragment = obstack_base(&code_fragment_obst); + assert(obstack_object_size(&code_fragment_obst) >= sizeof(code_fragment_t)); assert(fragment->magic == CODE_FRAGMENT_MAGIC); return fragment; @@ -192,10 +192,11 @@ void be_emit_code(FILE *output, const binary_emiter_interface_t *interface) for (fragment = first_fragment; fragment != NULL; fragment = fragment->next) { unsigned char *jmpbuffer; + unsigned nops; /* assure alignment by emitting nops */ assert(fragment->offset >= offset); - unsigned nops = fragment->offset - offset; + nops = fragment->offset - offset; if (nops > 0) { unsigned char *nopbuffer = obstack_alloc(&code_fragment_obst, nops); interface->create_nops(nopbuffer, nops);