1 // RUN: %clang_cc1 -DDIGRAPHS=1 -fsyntax-only -verify -ffreestanding %s
2 // RUN: %clang_cc1 -DDIGRAPHS=1 -fno-digraphs -fdigraphs -fsyntax-only -verify -ffreestanding %s
3 // RUN: %clang_cc1 -fno-digraphs -fsyntax-only -verify -ffreestanding %s
4 // RUN: %clang_cc1 -fdigraphs -fno-digraphs -fsyntax-only -verify -ffreestanding %s
5 // RUN: %clang_cc1 -std=c89 -DDIGRAPHS=1 -fdigraphs -fsyntax-only -verify -ffreestanding %s
6 // RUN: %clang_cc1 -std=c89 -fno-digraphs -fsyntax-only -verify -ffreestanding %s
7
8 #if DIGRAPHS
9
10 // expected-no-diagnostics
11 %:include <stdint.h>
12
13 %:ifndef BUFSIZE
14 %:define BUFSIZE 512
15 %:endif
16
copy(char d[],const char s[],int len)17 void copy(char d<::>, const char s<::>, int len)
18 <%
19 while (len-- >= 0)
20 <%
21 d<:len:> = s<:len:>;
22 %>
23 %>
24 #else
25
26 // expected-error@+1 {{expected identifier or '('}}
27 %:include <stdint.h>
28 ;
29 // expected-error@+1 {{expected ')'}} expected-note@+1{{to match this '('}}
30 void copy(char d<::>);
31
32 // expected-error@+1 {{expected function body}}
copy()33 void copy() <% %>
34
35 #endif
36