diff options
author | Carl Worth <cworth@cworth.org> | 2011-05-11 13:23:13 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2011-05-11 13:27:15 -0700 |
commit | d5523ead90b6be2b07d4af745b8ed9b980a6b9f1 (patch) | |
tree | 0e1e0c5f1e06256f2bdae80d6f006622d220478f /lib | |
parent | 2f3a76c569e5efad54520613315c0d29512ce69c (diff) |
Mark some structures in the library interface with visibility=default attribute.
As of gcc 4.6, there are new warnings from -Wattributes along the lines of:
warning: ‘_notmuch_messages’ declared with greater visibility
than the type of its field ‘_notmuch_messages::iterator’
[-Wattributes]
To squelch these, we decorate all such containing structs with
__attribute__((visibility("default"))). We take care to let only the
C++ compiler see this, (since the C compiler would otherwise warn
about ignored visibility attributes on types).
Diffstat (limited to 'lib')
-rw-r--r-- | lib/message.cc | 2 | ||||
-rw-r--r-- | lib/notmuch-private.h | 8 | ||||
-rw-r--r-- | lib/query.cc | 2 | ||||
-rw-r--r-- | lib/thread.cc | 2 |
4 files changed, 10 insertions, 4 deletions
diff --git a/lib/message.cc b/lib/message.cc index a5a65e21..4b59fa91 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -25,7 +25,7 @@ #include <gmime/gmime.h> -struct _notmuch_message { +struct visible _notmuch_message { notmuch_database_t *notmuch; Xapian::docid doc_id; int frozen; diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 0856751c..02e24ee8 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -81,6 +81,12 @@ _internal_error (const char *format, ...) PRINTF_ATTRIBUTE (1, 2); #define unused(x) x __attribute__ ((unused)) +#ifdef __cplusplus +# define visible __attribute__((visibility("default"))) +#else +# define visible +#endif + /* Thanks to Andrew Tridgell's (SAMBA's) talloc for this definition of * unlikely. The talloc source code comes to us via the GNU LGPL v. 3. */ @@ -405,7 +411,7 @@ typedef struct _notmuch_message_list { * somewhere with some nasty C++ objects in it. We'll try to maintain * ignorance of that here. (See notmuch_mset_messages_t in query.cc) */ -struct _notmuch_messages { +struct visible _notmuch_messages { notmuch_bool_t is_of_list_type; notmuch_message_node_t *iterator; }; diff --git a/lib/query.cc b/lib/query.cc index 07e695b9..6f02b04b 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -44,7 +44,7 @@ struct _notmuch_doc_id_set { #define DOCIDSET_WORD(bit) ((bit) / sizeof (unsigned int)) #define DOCIDSET_BIT(bit) ((bit) % sizeof (unsigned int)) -struct _notmuch_threads { +struct visible _notmuch_threads { notmuch_query_t *query; /* The ordered list of doc ids matched by the query. */ diff --git a/lib/thread.cc b/lib/thread.cc index ace5ce7f..0435ee6d 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -24,7 +24,7 @@ #include <gmime/gmime.h> #include <glib.h> /* GHashTable */ -struct _notmuch_thread { +struct visible _notmuch_thread { notmuch_database_t *notmuch; char *thread_id; char *subject; |