use some fancy compiler magic (thanks to Matthew Woehlke on the gcc-help mailing...