summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2017-11-11 23:42:58 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2017-11-12 00:28:22 +0200
commit414a4955f949830cc40d2ebc5de95dfb329c8490 (patch)
tree3d40d20ef247b5cf7be87cc413fc7a6933478eda
parent4c6aef17d645fd501a56f1d09d3a54a0dc0c1fa3 (diff)
downloadfribidi-414a4955f949830cc40d2ebc5de95dfb329c8490.tar.gz
Copy BEGIN/END_IGNORE_DEPRECATIONS from GLib
-rw-r--r--bin/fribidi-benchmark.c4
-rw-r--r--bin/fribidi-main.c12
-rw-r--r--lib/fribidi-common.h34
3 files changed, 37 insertions, 13 deletions
diff --git a/bin/fribidi-benchmark.c b/bin/fribidi-benchmark.c
index 233239b..151262b 100644
--- a/bin/fribidi-benchmark.c
+++ b/bin/fribidi-benchmark.c
@@ -218,7 +218,7 @@ benchmark (
{
/* Create a bidi string */
base = FRIBIDI_PAR_ON;
-FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
+FRIBIDI_BEGIN_IGNORE_DEPRECATIONS
if (!fribidi_log2vis (us, len, &base,
/* output */
out_us, positionVtoL, positionLtoV,
@@ -226,7 +226,7 @@ FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
die2
("something failed in fribidi_log2vis.\n"
"perhaps memory allocation failure.", NULL);
-FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
+FRIBIDI_END_IGNORE_DEPRECATIONS
}
/* stop timer */
diff --git a/bin/fribidi-main.c b/bin/fribidi-main.c
index 084518d..ac0b97f 100644
--- a/bin/fribidi-main.c
+++ b/bin/fribidi-main.c
@@ -344,10 +344,10 @@ main (
if (!char_set_num)
die2 ("unrecognized character set `%s'\n", char_set);
-FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
+FRIBIDI_BEGIN_IGNORE_DEPRECATIONS
fribidi_set_mirroring (do_mirror);
fribidi_set_reorder_nsm (do_reorder_nsm);
-FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
+FRIBIDI_END_IGNORE_DEPRECATIONS
exit_val = 0;
file_found = false;
while (optind < argc || !file_found)
@@ -427,11 +427,11 @@ FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
/* Create a bidi string. */
base = input_base_direction;
-FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
+FRIBIDI_BEGIN_IGNORE_DEPRECATIONS
log2vis = fribidi_log2vis (logical, len, &base,
/* output */
visual, ltov, vtol, levels);
-FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
+FRIBIDI_END_IGNORE_DEPRECATIONS
if (log2vis)
{
@@ -439,12 +439,12 @@ FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
printf ("%-*s => ", padding_width, S_);
/* Remove explicit marks, if asked for. */
-FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
+FRIBIDI_BEGIN_IGNORE_DEPRECATIONS
if (do_clean)
len =
fribidi_remove_bidi_marks (visual, len, ltov, vtol,
levels);
-FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
+FRIBIDI_END_IGNORE_DEPRECATIONS
if (show_visual)
{
diff --git a/lib/fribidi-common.h b/lib/fribidi-common.h
index bf7b574..72d7007 100644
--- a/lib/fribidi-common.h
+++ b/lib/fribidi-common.h
@@ -62,13 +62,37 @@
# endif /* !__FRIBIDI_DOC */
# define FRIBIDI_BEGIN_DECLS G_BEGIN_DECLS
# define FRIBIDI_END_DECLS G_END_DECLS
-# define FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-# define FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS G_GNUC_END_IGNORE_DEPRECATIONS
-#else /* !FRIBIDI_USE_GLIB */
-# define FRIBIDI_GNUC_BEGIN_IGNORE_DEPRECATIONS
-# define FRIBIDI_GNUC_END_IGNORE_DEPRECATIONS
#endif /* !FRIBIDI_USE_GLIB */
+#ifdef __ICC
+#define FRIBIDI_BEGIN_IGNORE_DEPRECATIONS \
+ _Pragma ("warning (push)") \
+ _Pragma ("warning (disable:1478)")
+#define FRIBIDI_END_IGNORE_DEPRECATIONS \
+ _Pragma ("warning (pop)")
+#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#define FRIBIDI_BEGIN_IGNORE_DEPRECATIONS \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+#define FRIBIDI_END_IGNORE_DEPRECATIONS \
+ _Pragma ("GCC diagnostic pop")
+#elif defined (_MSC_VER) && (_MSC_VER >= 1500)
+#define FRIBIDI_BEGIN_IGNORE_DEPRECATIONS \
+ __pragma (warning (push)) \
+ __pragma (warning (disable : 4996))
+#define FRIBIDI_END_IGNORE_DEPRECATIONS \
+ __pragma (warning (pop))
+#elif defined (__clang__)
+#define FRIBIDI_BEGIN_IGNORE_DEPRECATIONS \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
+#define FRIBIDI_END_IGNORE_DEPRECATIONS \
+ _Pragma("clang diagnostic pop")
+#else
+#define FRIBIDI_BEGIN_IGNORE_DEPRECATIONS
+#define FRIBIDI_END_IGNORE_DEPRECATIONS
+#endif
+
#if defined(__GNUC__) && (__GNUC__ > 2)
# define FRIBIDI_GNUC_WARN_UNUSED __attribute__((__warn_unused_result__))
# define FRIBIDI_GNUC_MALLOC __attribute__((__malloc__))