Viewing file: pr49923.c (1013 B) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */ /* { dg-options "-O3" } */
#define PACKED __attribute__(( packed ))
struct PACKED aostk_point_u8 { unsigned char x; unsigned char y; };
struct PACKED aostk_size_u8 { unsigned char width; unsigned char height; };
struct PACKED aostk_glyph { unsigned short i; struct aostk_size_u8 size; char top; struct aostk_point_u8 advance; unsigned char pitch; unsigned char* data; char left; };
struct PACKED aostk_font { unsigned short numglyphs; unsigned char height; struct aostk_glyph* glyphs; };
struct aostk_font glob_font;
static struct aostk_glyph* aostk_get_glyph(struct aostk_font* f, unsigned int c) { return f->glyphs; }
int aostk_font_strwidth(struct aostk_font* font, const char* str) { struct aostk_glyph* g = aostk_get_glyph(font, 0); return (g != 0); }
struct aostk_font* __attribute__ ((noinline, noclone)) get_some_font (void) { return &glob_font; }
int main (int argc, char *argv[]) { return (int) aostk_font_strwidth (get_some_font (), "sth"); }
|