~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to include/my_attribute.h

Merged build changes from Antony.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2000-2003 MySQL AB
2
 
 
3
 
   This program is free software; you can redistribute it and/or modify
4
 
   it under the terms of the GNU General Public License as published by
5
 
   the Free Software Foundation; version 2 of the License.
6
 
 
7
 
   This program is distributed in the hope that it will be useful,
8
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 
   GNU General Public License for more details.
11
 
 
12
 
   You should have received a copy of the GNU General Public License
13
 
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
 
 
16
 
/*
17
 
  Helper macros used for setting different __attributes__
18
 
  on functions in a portable fashion
19
 
*/
20
 
 
21
 
#ifndef _my_attribute_h
22
 
#define _my_attribute_h
23
 
 
24
 
/*
25
 
  Disable __attribute__ for non GNU compilers, since we're using them
26
 
  only to either generate or suppress warnings.
27
 
*/
28
 
#ifndef __attribute__
29
 
# if !defined(__GNUC__)
30
 
#  define __attribute__(A)
31
 
# endif
32
 
#endif
33
 
 
34
 
/*
35
 
  __attribute__((format(...))) is only supported in gcc >= 2.8 and g++ >= 3.4
36
 
  But that's already covered by the __attribute__ tests above, so this is
37
 
  just a convenience macro.
38
 
*/
39
 
#ifndef ATTRIBUTE_FORMAT
40
 
# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n)))
41
 
#endif
42
 
 
43
 
 
44
 
#endif
45
 
 
46
 
#ifndef ATTRIBUTE_FORMAT_FPTR
47
 
# define ATTRIBUTE_FORMAT_FPTR(style, m, n) ATTRIBUTE_FORMAT(style, m, n)
48
 
#endif