Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
alignof.h
Go to the documentation of this file.
00001 /* $Id: alignof.h,v 1.1 2003-12-09 19:09:23 eraxxon Exp $ */
00002 /* -*-Mode: C;-*- */
00003 /* * BeginRiceCopyright *****************************************************
00004  * 
00005  * ******************************************************* EndRiceCopyright */
00006 
00007 /* ====================================================================
00008  * ====================================================================
00009  *
00010  *
00011  * Nathan Tallent.
00012  *
00013  * Description:
00014  *
00015  * Standard interface to alignof() function.
00016  *
00017  * ====================================================================
00018  * ==================================================================== */
00019 
00020 #ifndef alignof_h
00021 #define alignof_h
00022 
00023 /*************************** System Include Files ***************************/
00024 
00025 /**************************** User Include Files ****************************/
00026 
00027 /*************************** Forward Declarations ***************************/
00028 
00029 /****************************************************************************/
00030 
00031 /* ALIGNOF(type): return a size_t giving alignment information for type. */
00032 #if defined(__GNUC__)
00033 
00034   /* GCC provides as a compiler builtin */
00035 # define ALIGNOF(x) __alignof__(x)
00036 
00037 #else
00038 
00039 # if defined(__sun)
00040    /* Sun compiler provides as builtin */
00041 #  define ALIGNOF(x) __alignof(x)
00042 # elif defined(__sgi)
00043    /* SGI compiler provides as builtin */
00044 #  define ALIGNOF(x) __builtin_alignof(x)
00045 # elif defined(__alpha)
00046    /* Compaq compiler does not provide as a builtin */
00047 #  include <alignof_replacement.h> /* for ALIGNOF */
00048 # else
00049 #  error "Please verify definition for alignof()." 
00050 # endif
00051 
00052 #endif
00053 
00054 
00055 /****************************************************************************/
00056 
00057 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines