blob: 33465e0aa137843f7d98ab8807adee5f739d8fac [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -S %s -o -
Seo Sanghyeonec86b972007-12-03 06:23:43 +00002
3typedef int Int;
4
Daniel Dunbarb09fae72009-01-23 18:51:09 +00005int f0(int *a, Int *b) { return a - b; }
Seo Sanghyeon9bb947a2007-12-26 05:21:37 +00006
Daniel Dunbarb09fae72009-01-23 18:51:09 +00007int f1(const char *a, char *b) { return b - a; }
8
9// GNU extensions
10typedef void (*FP)(void);
11void *f2(void *a, int b) { return a + b; }
12void *f2_1(void *a, int b) { return (a += b); }
13void *f3(int a, void *b) { return a + b; }
14void *f3_1(int a, void *b) { return (a += b); }
15void *f4(void *a, int b) { return a - b; }
16void *f4_1(void *a, int b) { return (a -= b); }
17FP f5(FP a, int b) { return a + b; }
18FP f5_1(FP a, int b) { return (a += b); }
19FP f6(int a, FP b) { return a + b; }
20FP f6_1(int a, FP b) { return (a += b); }
21FP f7(FP a, int b) { return a - b; }
22FP f7_1(FP a, int b) { return (a -= b); }