From 8863ef79012f6c1329db53855572b3bec045dbd4 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sun, 17 Oct 2021 12:24:39 +0200 Subject: Avoid multiple definition of macro __fl_attr() This could happen if both FL/fl_ask.H and fluid/Fl_Type.h were included in the same file. --- FL/fl_ask.H | 9 +-------- FL/fl_attr.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 FL/fl_attr.h (limited to 'FL') diff --git a/FL/fl_ask.H b/FL/fl_ask.H index 84e9ef227..964ea366b 100644 --- a/FL/fl_ask.H +++ b/FL/fl_ask.H @@ -22,6 +22,7 @@ # define fl_ask_H # include "Enumerations.H" +# include "fl_attr.h" class Fl_Widget; /** Different system beeps available. @@ -35,14 +36,6 @@ enum Fl_Beep { FL_BEEP_NOTIFICATION ///< Notification beep. }; -# ifdef __GNUC__ -/* the GNUC-specific attribute appearing below in prototypes with a variable list of arguments - helps detection of mismatches between format string and argument list at compilation time */ -# define __fl_attr(x) __attribute__ (x) -# else -# define __fl_attr(x) -# endif // __GNUC__ - FL_EXPORT void fl_beep(int type = FL_BEEP_DEFAULT); FL_EXPORT void fl_message(const char *,...) __fl_attr((__format__ (__printf__, 1, 2))); FL_EXPORT void fl_alert(const char *,...) __fl_attr((__format__ (__printf__, 1, 2))); diff --git a/FL/fl_attr.h b/FL/fl_attr.h new file mode 100644 index 000000000..32e88a2a4 --- /dev/null +++ b/FL/fl_attr.h @@ -0,0 +1,34 @@ +/* + * Function attribute declarations for the Fast Light Tool Kit (FLTK). + * + * Copyright 1998-2021 by Bill Spitzak and others. + * + * This library is free software. Distribution and use rights are outlined in + * the file "COPYING" which should have been included with this file. If this + * file is missing or damaged, see the license at: + * + * https://www.fltk.org/COPYING.php + * + * Please see the following page on how to report bugs and issues: + * + * https://www.fltk.org/bugs.php + */ + +#ifndef _FL_fl_attr_h_ +#define _FL_fl_attr_h_ + +/* + The GNUC-specific attribute appearing below in prototypes with a variable + list of arguments helps detection of mismatches between format string and + argument list at compilation time. + + Examples: see fl_ask.H +*/ + +#ifdef __GNUC__ +# define __fl_attr(x) __attribute__ (x) +#else +# define __fl_attr(x) +#endif + +#endif /* !_FL_fl_attr_h_ */ -- cgit v1.2.3