fileoffsetbits.h

Go to the documentation of this file.
00001 #ifndef __fileoffsetbits
00002 #define __fileoffsetbits
00003 // DQ (3/12/2006): This is included here as specified in the Autoconf manual (using <> instead of "")
00004 // We have also abandoned the ifdef HAVE_CONFIG_H cpp conditional use of rose_config.h as well.
00005 // This is placed here in sage3.h instead of in rose.h because it needs to always be seen even 
00006 // by internal ROSE files that only include sage3.h.
00007 
00008 // DQ (10/14/2010): We don't want to include this into our header file system
00009 // since then users will see the defined macros in our autoconf generated 
00010 // config.h (which we generate as rose_config.h to avoid filename conflicts).
00011 // This fixes the problem that causes macro names to conflict (e.g. PACKAGE_BUGREPORT).
00012 // #include <rose_config.h>
00013 
00014 // DQ (4/21/2009): Error checking to avoid difficult to debug ODR violations on 32-bit systems.
00015 #if defined(_SYS_STAT_H)
00016 #error "sys/stat.h should not have been included before the _FILE_OFFSET_BITS macro is set! (use rose.h first...)"
00017 #endif
00018 
00019 // DQ (4/21/2009): This must be included before rose_paths.h since that 
00020 // header includes the STL string header which will include sys/stat.h first.
00021 // Force 64-bit file offsets in struct stat
00022 #define _FILE_OFFSET_BITS 64
00023 
00024 // DQ (4/21/2009): This must be set before sys/stat.h is included by any other header file.
00025 // Use of _FILE_OFFSET_BITS macro is required on 32-bit systems to controling size of "struct stat"
00026 #if !(defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64))
00027 #error "The _FILE_OFFSET_BITS macro should be set before any sys/stat.h is included by any other header file!"
00028 #endif
00029 
00030 #endif

Generated on Sat May 19 00:53:06 2012 for ROSE by  doxygen 1.4.7