Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/Varargs.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* @(#)root/base:$Id$ */
0002 
0003 /*************************************************************************
0004  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0005  * All rights reserved.                                                  *
0006  *                                                                       *
0007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0009  *************************************************************************/
0010 
0011 #ifndef ROOT_Varargs
0012 #define ROOT_Varargs
0013 
0014 #if defined(sparc) && defined(__CC_ATT301__)
0015 
0016    extern "C" __builtin_va_arg_incr(...);
0017    typedef char *va_list;
0018 #   define va_end(ap)
0019 #   define va_start(ap, parmN) ap= (char*)(&parmN+1)
0020 #   define va_arg(ap, mode) ((mode*) __builtin_va_arg_incr((mode*)ap))[0]
0021 #   define va_(arg) __builtin_va_alist
0022 
0023 #   include <stdio.h>
0024 
0025    extern "C" {
0026       int vfprintf(FILE*, const char *fmt, va_list ap);
0027       char *vsprintf(char*, const char *fmt, va_list ap);
0028    };
0029 
0030 #else
0031 #   include <stdarg.h>
0032 #   if defined(sparc) && !defined(__GNUG__) && !defined(__CC_SUN21__) && !defined(__SVR4)
0033 #      define va_(arg) __builtin_va_alist
0034 #   else
0035 #      define va_(arg) arg
0036 #   endif
0037 
0038 #endif
0039 
0040 #if !defined(R__VA_COPY)
0041 #  if defined(va_copy)
0042 #     define R__VA_COPY(to, from) va_copy((to), (from))
0043 #  elif defined(__va_copy)
0044 #     define R__VA_COPY(to, from) __va_copy((to), (from))
0045 #  elif defined(_WIN32) && _MSC_VER < 1310
0046 #     define R__VA_COPY(to, from) (*(to) = *(from))
0047 #  else
0048 #     define R__VA_COPY(to, from) ((to) = (from))
0049 #  endif
0050 #endif
0051 
0052 #endif