Skip to content

Commit

Permalink
Add cc-compat.h - C compiler compat macros for internal use
Browse files Browse the repository at this point in the history
Holds things such as FLEX_ARRAY and whatnot.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  • Loading branch information
ageric authored and spearce committed Nov 22, 2008
1 parent c215be4 commit f501265
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/cc-compat.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* cc-compat.h - C compiler compat macros for internal use
*/
#ifndef INCLUDE_compat_h__
#define INCLUDE_compat_h__

/*
* See if our compiler is known to support flexible array members.
*/
#ifndef FLEX_ARRAY
# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
# define FLEX_ARRAY /* empty */
# elif defined(__GNUC__)
# if (__GNUC__ >= 3)
# define FLEX_ARRAY /* empty */
# else
# define FLEX_ARRAY 0 /* older GNU extension */
# endif
# endif

/* Default to safer but a bit wasteful traditional style */
# ifndef GIT_FLEX_ARRAY
# define GIT_FLEX_ARRAY 1
# endif
#endif

#ifdef __GNUC__
# define TYPEOF(x) (__typeof__(x))
#else
# define TYPEOF(x)
#endif

#endif /* INCLUDE_compat_h__ */

0 comments on commit f501265

Please sign in to comment.