summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-09-05 14:50:35 +0200
committerDavid Schleef <ds@schleef.org>2010-09-06 00:06:50 -0700
commit05876857216b1142f4dcd01fbbc0eae7fe31bafa (patch)
tree9829194b0ae634df38507a85c75161d1589c0e4a
parent69c114bb55843ef9005b863c026e83173dcabe83 (diff)
orcc: Implement handling of 64 bit constants
This uses %lx for printing 64 bit integers but on 32 bit architectures something like %llx would be needed.
-rw-r--r--tools/orcc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/orcc.c b/tools/orcc.c
index 40e1db1..d32fe3d 100644
--- a/tools/orcc.c
+++ b/tools/orcc.c
@@ -834,9 +834,12 @@ output_program_generation (OrcProgram *p, FILE *output, int is_inline)
}
for(i=0;i<8;i++){
var = &p->vars[ORC_VAR_C1 + i];
- if (var->size) {
+ if (var->size <= 4) {
fprintf(output, " orc_program_add_constant (p, %d, 0x%08x, \"%s\");\n",
var->size, (int)var->value.i, varnames[ORC_VAR_C1 + i]);
+ } else if (var->size > 4) {
+ fprintf(output, " orc_program_add_constant_int64 (p, %d, 0x%016lx, \"%s\");\n",
+ var->size, var->value.i, varnames[ORC_VAR_C1 + i]);
}
}
for(i=0;i<8;i++){