diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2012-09-24 17:21:15 +0200 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-09-27 12:49:13 -0300 |
commit | da12807734cc90d8bf78ce5814636aaf5a18827b (patch) | |
tree | 27eb016ecc1129fff721d72dc574e9b2bf6dc153 /compat | |
parent | f164784d56b76d7babb44b942d43e3d1009d158a (diff) |
Provide a __has_attribute compatibility macro
__has_attribute is defined by clang and tests whether a given function
attribute is supported by clang.
Add a compatibility macro for other compilers.
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
Diffstat (limited to 'compat')
-rw-r--r-- | compat/function-attributes.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/compat/function-attributes.h b/compat/function-attributes.h new file mode 100644 index 00000000..18f90903 --- /dev/null +++ b/compat/function-attributes.h @@ -0,0 +1,31 @@ +/* function-attributes.h - Provides compiler abstractions for + * function attributes + * + * Copyright (c) 2012 Justus Winter <4winter@informatik.uni-hamburg.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/ . + */ + +#ifndef FUNCTION_ATTRIBUTES_H +#define FUNCTION_ATTRIBUTES_H + +/* clang provides this macro to test for support for function + * attributes. If it isn't defined, this provides a compatibility + * macro for other compilers. + */ +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#endif |