/*
- * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
- *
* This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
*/
/**
* @brief Interface for machine code output
* @author Matthias Braun
* @date 12.03.2007
- * @version $Id$
*/
#include "config.h"
be_emit(8/16/32/entity) call!) */
code_fragment_t *be_get_current_fragment(void)
{
- code_fragment_t *fragment = obstack_base(&code_fragment_obst);
+ code_fragment_t *fragment = (code_fragment_t*)obstack_base(&code_fragment_obst);
assert(obstack_object_size(&code_fragment_obst) >= sizeof(code_fragment_t));
assert(fragment->magic == CODE_FRAGMENT_MAGIC);
assert(obstack_object_size(&code_fragment_obst) == 0);
obstack_blank(&code_fragment_obst, sizeof(*fragment));
- fragment = obstack_base(&code_fragment_obst);
+ fragment = (code_fragment_t*)obstack_base(&code_fragment_obst);
memset(fragment, 0, sizeof(*fragment));
#ifndef NDEBUG
fragment->magic = CODE_FRAGMENT_MAGIC;
size_t i2;
fputs("\t.byte ", file);
for (i2 = i; i2 < i + 30 && i2 < len; ++i2) {
- fprintf(file, "0x%02X", buffer[i2]);
+ fprintf(file, "0x%02X", (unsigned)buffer[i2]);
}
i = i2;
fputs("\n", file);
assert(fragment->offset >= offset);
nops = fragment->offset - offset;
if (nops > 0) {
- unsigned char *nopbuffer = obstack_alloc(&code_fragment_obst, nops);
- interface->create_nops(nopbuffer, nops);
- emit(output, nopbuffer, nops);
+ unsigned char *nopbuffer = (unsigned char*)obstack_alloc(&code_fragment_obst, nops);
+ interface->create_nops(nopbuffer, nops);
+ emit(output, nopbuffer, nops);
offset = fragment->offset;
obstack_free(&code_fragment_obst, nopbuffer);
}
offset += fragment->len;
/* emit the jump */
- jmpbuffer = obstack_alloc(&code_fragment_obst, fragment->jumpsize_min);
+ jmpbuffer = (unsigned char*)obstack_alloc(&code_fragment_obst, fragment->jumpsize_min);
interface->emit_jump(fragment, jmpbuffer);
emit(output, jmpbuffer, fragment->jumpsize_min);
offset += fragment->jumpsize_min;