Boris Boesler wrote: > The following "program" can be compiled without problems. > > extern void something(char *s); > char msg[] = "123456"; > int main(int argc, char **argv) > { > something(msg); > return 0; > } > > But I can't compile it correctly with my backend. The content of msg is > not emitted; there is only the label. It will be emitted when it the > size is at least 8 characters. > > I assume the problem is that I set BITS_PER_UNIT to 1 and that there is > some size computation that depends on BITS_PER_UNIT >= 8. Is that > possible? How can I fix that?
C requires BITS_PER_UNIT to be at least 8. char must always be large enough to hold a character, and sizeof (char) == 1. Andrew.