headers: properly decorate attributes

As pointed out here:
https://cygwin.com/ml/cygwin/2014-07/msg00371.html

any use of __attribute__ in a header that can be included by a user
should be namespace-safe, by decorating the attribute arguments with __
(while gcc does a lousy job at documenting it, ALL attributes have a __
counterpart, precisely so that public headers can use attributes without
risk of collision with macros belonging to user namespace).

* include/pthread.h: Decorate attribute names with __, for
namespace safety.
* include/cygwin/core_dump.h: Likewise.
* include/cygwin/cygwin_dll.h: Likewise.
* include/sys/cygwin.h: Likewise.
* include/sys/strace.h: Likewise.
This commit is contained in:
Eric Blake
2014-08-01 15:48:37 +00:00
parent ada456dcfe
commit 9067d19b9a
6 changed files with 36 additions and 27 deletions

View File

@@ -26,21 +26,21 @@ extern "C" {
/* DEPRECATED INTERFACES. These are restricted to MAX_PATH length.
Don't use in modern applications. They don't exist on x86_64. */
extern int cygwin_win32_to_posix_path_list (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_win32_to_posix_path_list_buf_size (const char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_posix_to_win32_path_list (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_posix_to_win32_path_list_buf_size (const char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_conv_to_win32_path (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_conv_to_full_win32_path (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_conv_to_posix_path (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
extern int cygwin_conv_to_full_posix_path (const char *, char *)
__attribute__ ((deprecated));
__attribute__ ((__deprecated__));
#endif /* !__x86_64__ */
/* Use these interfaces in favor of the above. */

View File

@@ -1,7 +1,7 @@
/* sys/strace.h
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
2010, 2011, 2012 Red Hat, Inc.
2010, 2011, 2012, 2014 Red Hat, Inc.
This file is part of Cygwin.
@@ -40,17 +40,17 @@ class strace
void write (unsigned category, const char *buf, int count);
unsigned char _active;
public:
void activate (bool) __attribute__ ((regparm (2)));;
void activate (bool) __attribute__ ((__regparm__ (2)));;
strace () {}
int microseconds ();
int version;
int lmicrosec;
bool execing;
void dll_info () __attribute__ ((regparm (1)));
void prntf (unsigned, const char *func, const char *, ...) /*__attribute__ ((regparm(3)))*/;
void vprntf (unsigned, const char *func, const char *, va_list ap) /*__attribute__ ((regparm(3)))*/;
void wm (int message, int word, int lon) __attribute__ ((regparm(3)));
void write_childpid (pid_t) __attribute__ ((regparm (3)));
void dll_info () __attribute__ ((__regparm__ (1)));
void prntf (unsigned, const char *func, const char *, ...) /*__attribute__ ((__regparm__(3)))*/;
void vprntf (unsigned, const char *func, const char *, va_list ap) /*__attribute__ ((__regparm__(3)))*/;
void wm (int message, int word, int lon) __attribute__ ((__regparm__(3)));
void write_childpid (pid_t) __attribute__ ((__regparm__ (3)));
bool attached () const {return _active == 3;}
bool active () const {return _active & 1;}
unsigned char& active_val () {return _active;}