diff options
author | David Robillard <d@drobilla.net> | 2018-09-23 15:14:08 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2018-09-23 15:14:08 +0200 |
commit | e9f0796b44c85246ad829269e4fb1d229a6644a4 (patch) | |
tree | 8790c0238ccf40bcc95a9c825c956f7f40f003ec /lv2/core | |
parent | 569dc8a49d7590e6669e150052ad27faf590ab29 (diff) | |
download | lv2-e9f0796b44c85246ad829269e4fb1d229a6644a4.tar.xz |
Factor out deprecation attribute and warning boilerplate
Diffstat (limited to 'lv2/core')
-rw-r--r-- | lv2/core/attributes.h | 58 | ||||
-rw-r--r-- | lv2/core/meta.ttl | 2 |
2 files changed, 60 insertions, 0 deletions
diff --git a/lv2/core/attributes.h b/lv2/core/attributes.h new file mode 100644 index 0000000..c054ae1 --- /dev/null +++ b/lv2/core/attributes.h @@ -0,0 +1,58 @@ +/* + Copyright 2018 David Robillard <http://drobilla.net> + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#ifndef LV2_CORE_ATTRIBUTES_H +#define LV2_CORE_ATTRIBUTES_H + +/** + @defgroup attributes Attributes + + Macros for source code attributes. + + @{ +*/ + +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) +#define LV2_DEPRECATED __attribute__((__deprecated__)) +#else +#define LV2_DEPRECATED +#endif + +#if defined(__clang__) +#define LV2_DISABLE_DEPRECATION_WARNINGS \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) +#define LV2_DISABLE_DEPRECATION_WARNINGS \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#else +#define LV2_DISABLE_DEPRECATION_WARNINGS +#endif + +#if defined(__clang__) +#define LV2_RESTORE_WARNINGS _Pragma("clang diagnostic pop") +#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) +#define LV2_RESTORE_WARNINGS _Pragma("GCC diagnostic pop") +#else +#define LV2_RESTORE_WARNINGS +#endif + +/** + @} +*/ + +#endif /* LV2_CORE_ATTRIBUTES_H */ diff --git a/lv2/core/meta.ttl b/lv2/core/meta.ttl index 8ed9595..d6290f9 100644 --- a/lv2/core/meta.ttl +++ b/lv2/core/meta.ttl @@ -43,6 +43,8 @@ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH R dcs:blame <http://drobilla.net/drobilla#me> ; dcs:changeset [ dcs:item [ + rdfs:label "Add core/attributes.h utility header." + ] , [ rdfs:label "Include waf sources and fix build with Python 3.7." ] , [ rdfs:label "eg-sampler: Add waveform display to UI." |