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