1*3ed2fb1aSAaron Ballman // RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-print-source-range-info %s 2>&1 | FileCheck %s 2*3ed2fb1aSAaron Ballman 3*3ed2fb1aSAaron Ballman void f(int i) __attribute__((format_arg(1))); 4*3ed2fb1aSAaron Ballman // CHECK: attr-source-range.cpp:3:30:{3:41-3:42}{3:8-3:13} 5*3ed2fb1aSAaron Ballman 6*3ed2fb1aSAaron Ballman void g(int i, ...) __attribute__((format(printf, 1, 1))); 7*3ed2fb1aSAaron Ballman // CHECK: attr-source-range.cpp:6:35:{6:50-6:51}{6:8-6:13} 8*3ed2fb1aSAaron Ballman 9*3ed2fb1aSAaron Ballman int h(void) __attribute__((returns_nonnull)); 10*3ed2fb1aSAaron Ballman // CHECK: attr-source-range.cpp:9:28:{9:1-9:4} 11*3ed2fb1aSAaron Ballman 12*3ed2fb1aSAaron Ballman void i(int j) __attribute__((nonnull(1))); 13*3ed2fb1aSAaron Ballman // CHECK: attr-source-range.cpp:12:30:{12:38-12:39}{12:8-12:13} 14*3ed2fb1aSAaron Ballman 15*3ed2fb1aSAaron Ballman void j(__attribute__((nonnull)) int i); 16*3ed2fb1aSAaron Ballman // CHECK: attr-source-range.cpp:15:23:{15:8-15:38} 17