blob: 985d9a44feff5df712f20e793cfb5b949e3fd98f [file] [log] [blame]
Michael Han99315932013-01-24 16:46:58 +00001// RUN: %clang_cc1 -std=c++11 -ast-print %s | FileCheck %s
2// FIXME: align attribute print
3
4// CHECK: int x __attribute__((aligned(4, 0)));
5int x __attribute__((aligned(4)));
6
7// CHECK: int y __attribute__((align(4, 0)));
8int y __attribute__((align(4)));
9
10// CHECK: gnu::aligned(4, 0)]];
11int z [[gnu::aligned(4)]];
12
13// CHECK: __attribute__((deprecated("warning")));
14int a __attribute__((deprecated("warning")));
15
16// CHECK: gnu::deprecated("warning")]];
17int b [[gnu::deprecated("warning")]];
18
19// CHECK: void foo() __attribute__((const));
20void foo() __attribute__((const));
21
22// CHECK: void bar() __attribute__((__const));
23void bar() __attribute__((__const));
24
25// CHECK: int f1() __attribute__((warn_unused_result));
26int f1() __attribute__((warn_unused_result));
27
28// CHECK: clang::warn_unused_result]];
29int f2 [[clang::warn_unused_result]] ();
30
31// CHECK: gnu::warn_unused_result]];
32int f3 [[gnu::warn_unused_result]] ();
33
34// FIXME: ast-print need to print C++11
35// attribute after function declare-id.
36// CHECK: noreturn]];
37void f4 [[noreturn]] ();
38
39// CHECK: std::noreturn]];
40void f5 [[std::noreturn]] ();
41
42// CHECK: __attribute__((gnu_inline));
43inline void f6() __attribute__((gnu_inline));
44
45// CHECK: gnu::gnu_inline]];
46inline void f7 [[gnu::gnu_inline]] ();
47
48// arguments printing
49// CHECK: __attribute__((format("printf", 2, 3)));
50void f8 (void *, const char *, ...) __attribute__ ((format (printf, 2, 3)));