diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-07-31 22:40:48 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-07-31 22:40:48 +0000 |
commit | 032db47f0f6184847851ab122704150052da6f0c (patch) | |
tree | 0f1ee1c412f59edf078aafcfb62c52f06ed1248e /clang/test/Sema/constructor-attribute.c | |
parent | a7045d663d69304699ee4c56f3516ea8c90dfc44 (diff) | |
download | bcm5719-llvm-032db47f0f6184847851ab122704150052da6f0c.tar.gz bcm5719-llvm-032db47f0f6184847851ab122704150052da6f0c.zip |
Support __attribute__(({con,de}structor)) in Parse & Sema
- Including possible priority argument
- In other news, the attribute parsing code really needs a cleanup
llvm-svn: 54257
Diffstat (limited to 'clang/test/Sema/constructor-attribute.c')
-rw-r--r-- | clang/test/Sema/constructor-attribute.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Sema/constructor-attribute.c b/clang/test/Sema/constructor-attribute.c new file mode 100644 index 00000000000..3f240b02e5a --- /dev/null +++ b/clang/test/Sema/constructor-attribute.c @@ -0,0 +1,15 @@ +// RUN: clang -fsyntax-only -verify %s + +int x __attribute__((constructor)); // expected-warning {{'constructor' attribute only applies to function types}} +int f() __attribute__((constructor)); +int f() __attribute__((constructor(1))); +int f() __attribute__((constructor(1,2))); // expected-error {{attribute requires 0 or 1 argument(s)}} +int f() __attribute__((constructor(1.0))); // expected-error {{'constructor' attribute requires parameter 1 to be an integer constant}} + +int x __attribute__((destructor)); // expected-warning {{'destructor' attribute only applies to function types}} +int f() __attribute__((destructor)); +int f() __attribute__((destructor(1))); +int f() __attribute__((destructor(1,2))); // expected-error {{attribute requires 0 or 1 argument(s)}} +int f() __attribute__((destructor(1.0))); // expected-error {{'destructor' attribute requires parameter 1 to be an integer constant}} + + |