diff options
author | Dan McGee <dan@archlinux.org> | 2007-10-07 15:00:24 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-10-08 20:46:56 -0500 |
commit | 920b0d2049deb148efe89bfebda03d172b68c1f5 (patch) | |
tree | 885887ef8ac3ee6244fa8a2dfbc2fbc51df73145 | |
parent | b1613c26518abb55ae5fc970dccfb7e3c97398d1 (diff) |
Update usage of gcc __attribute__ flags
Change the default visibility of libalpm functions to internal instead of
hidden- this allows for slightly better optimization because it tells GCC
that the function can never be called outside of the current module (see
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html).
Also added some attributes to the pacman print functions so that they check
the format strings being passed to them.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/Makefile.am | 2 | ||||
-rw-r--r-- | lib/libalpm/util.h | 2 | ||||
-rw-r--r-- | src/pacman/util.h | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/libalpm/Makefile.am b/lib/libalpm/Makefile.am index 37053707..69482396 100644 --- a/lib/libalpm/Makefile.am +++ b/lib/libalpm/Makefile.am @@ -7,7 +7,7 @@ include_HEADERS = alpm_list.h alpm.h DEFS = -DLOCALEDIR=\"@localedir@\" @DEFS@ -AM_CFLAGS = -fvisibility=hidden -pedantic -D_GNU_SOURCE -fgnu89-inline +AM_CFLAGS = -fvisibility=internal -pedantic -D_GNU_SOURCE -fgnu89-inline libalpm_la_SOURCES = \ add.h add.c \ diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h index acf2eb3b..5ebc70c5 100644 --- a/lib/libalpm/util.h +++ b/lib/libalpm/util.h @@ -65,7 +65,7 @@ char *strsep(char **, const char *); /* check exported library symbols with: nm -C -D <lib> */ #define SYMEXPORT __attribute__((visibility("default"))) -#define SYMHIDDEN __attribute__((visibility("hidden"))) +#define SYMHIDDEN __attribute__((visibility("internal"))) #endif /* _ALPM_UTIL_H */ diff --git a/src/pacman/util.h b/src/pacman/util.h index 73347fe8..f3171caf 100644 --- a/src/pacman/util.h +++ b/src/pacman/util.h @@ -49,9 +49,9 @@ char *strreplace(const char *str, const char *needle, const char *replace); void list_display(const char *title, const alpm_list_t *list); void display_targets(const alpm_list_t *syncpkgs); int yesno(char *fmt, ...); -int pm_printf(pmloglevel_t level, const char *format, ...); -int pm_fprintf(FILE *stream, pmloglevel_t level, const char *format, ...); -int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list args); +int pm_printf(pmloglevel_t level, const char *format, ...) __attribute__((format(printf,2,3))); +int pm_fprintf(FILE *stream, pmloglevel_t level, const char *format, ...) __attribute__((format(printf,3,4))); +int pm_vfprintf(FILE *stream, pmloglevel_t level, const char *format, va_list args) __attribute__((format(printf,3,0))); #endif /* _PM_UTIL_H */ |