| // RUN: %clang_cc1 -std=c++11 -ast-print %s | FileCheck %s |
| // FIXME: align attribute print |
| |
| // CHECK: int x __attribute__((aligned(4, 0))); |
| int x __attribute__((aligned(4))); |
| |
| // CHECK: int y __attribute__((align(4, 0))); |
| int y __attribute__((align(4))); |
| |
| // CHECK: gnu::aligned(4, 0)]]; |
| int z [[gnu::aligned(4)]]; |
| |
| // CHECK: __attribute__((deprecated("warning"))); |
| int a __attribute__((deprecated("warning"))); |
| |
| // CHECK: gnu::deprecated("warning")]]; |
| int b [[gnu::deprecated("warning")]]; |
| |
| // CHECK: void foo() __attribute__((const)); |
| void foo() __attribute__((const)); |
| |
| // CHECK: void bar() __attribute__((__const)); |
| void bar() __attribute__((__const)); |
| |
| // CHECK: int f1() __attribute__((warn_unused_result)); |
| int f1() __attribute__((warn_unused_result)); |
| |
| // CHECK: clang::warn_unused_result]]; |
| int f2 [[clang::warn_unused_result]] (); |
| |
| // CHECK: gnu::warn_unused_result]]; |
| int f3 [[gnu::warn_unused_result]] (); |
| |
| // FIXME: ast-print need to print C++11 |
| // attribute after function declare-id. |
| // CHECK: noreturn]]; |
| void f4 [[noreturn]] (); |
| |
| // CHECK: std::noreturn]]; |
| void f5 [[std::noreturn]] (); |
| |
| // CHECK: __attribute__((gnu_inline)); |
| inline void f6() __attribute__((gnu_inline)); |
| |
| // CHECK: gnu::gnu_inline]]; |
| inline void f7 [[gnu::gnu_inline]] (); |
| |
| // arguments printing |
| // CHECK: __attribute__((format("printf", 2, 3))); |
| void f8 (void *, const char *, ...) __attribute__ ((format (printf, 2, 3))); |