annotate gcc/testsuite/gcc.dg/tree-ssa/pr49923.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-options "-O3" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #define PACKED __attribute__(( packed ))
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 struct PACKED aostk_point_u8 {
kono
parents:
diff changeset
7 unsigned char x;
kono
parents:
diff changeset
8 unsigned char y;
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 struct PACKED aostk_size_u8 {
kono
parents:
diff changeset
12 unsigned char width;
kono
parents:
diff changeset
13 unsigned char height;
kono
parents:
diff changeset
14 };
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 struct PACKED aostk_glyph {
kono
parents:
diff changeset
17 unsigned short i;
kono
parents:
diff changeset
18 struct aostk_size_u8 size;
kono
parents:
diff changeset
19 char top;
kono
parents:
diff changeset
20 struct aostk_point_u8 advance;
kono
parents:
diff changeset
21 unsigned char pitch;
kono
parents:
diff changeset
22 unsigned char* data;
kono
parents:
diff changeset
23 char left;
kono
parents:
diff changeset
24 };
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 struct PACKED aostk_font {
kono
parents:
diff changeset
28 unsigned short numglyphs;
kono
parents:
diff changeset
29 unsigned char height;
kono
parents:
diff changeset
30 struct aostk_glyph* glyphs;
kono
parents:
diff changeset
31 };
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 struct aostk_font glob_font;
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 static struct aostk_glyph* aostk_get_glyph(struct aostk_font* f, unsigned int c) {
kono
parents:
diff changeset
36 return f->glyphs;
kono
parents:
diff changeset
37 }
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 int aostk_font_strwidth(struct aostk_font* font, const char* str) {
kono
parents:
diff changeset
40 struct aostk_glyph* g = aostk_get_glyph(font, 0);
kono
parents:
diff changeset
41 return (g != 0);
kono
parents:
diff changeset
42 }
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 struct aostk_font*
kono
parents:
diff changeset
45 __attribute__ ((noinline, noclone))
kono
parents:
diff changeset
46 get_some_font (void)
kono
parents:
diff changeset
47 {
kono
parents:
diff changeset
48 return &glob_font;
kono
parents:
diff changeset
49 }
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 int main (int argc, char *argv[])
kono
parents:
diff changeset
52 {
kono
parents:
diff changeset
53 return (int) aostk_font_strwidth (get_some_font (), "sth");
kono
parents:
diff changeset
54
kono
parents:
diff changeset
55 }