Revision: 1766
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1766&view=rev
Author: roman_yakovenko
Date: 2009-10-04 20:02:50 +0000 (Sun, 04 Oct 2009)
Log Message:
-----------
adding missing code
Added Paths:
-----------
gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h
gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/
gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README
gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh
gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags
Added: gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h
===================================================================
--- gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h (rev 0)
+++ gccxml_bin/v09/linux2/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h 2009-10-04 20:02:50 UTC (rev 1766)
@@ -0,0 +1,181 @@
+#define __builtin_apply(x,y,z) ((void*)0)
+#define __builtin_nan(x) (0.0)
+#define __builtin_nanf(x) (0.0f)
+#define __builtin_nanl(x) (0.0l)
+#define __builtin_huge_val(x) (0.0)
+#define __builtin_huge_valf(x) (0.0f)
+#define __builtin_huge_vall(x) (0.0l)
+#define __builtin_apply_args(x) ((void*)0)
+#define __builtin_types_compatible_p(x,y) 0
+#define __builtin_choose_expr(x,y,z) int
+#define __builtin_constant_p(x) 0
+void* __builtin_memchr(void const*, int, unsigned int);
+void __builtin_return (void *RESULT);
+void * __builtin_return_address (unsigned int LEVEL);
+void * __builtin_frame_address (unsigned int LEVEL);
+long __builtin_expect (long EXP, long C);
+void __builtin_prefetch (const void *ADDR, ...);
+double __builtin_inf (void);
+float __builtin_inff (void);
+long double __builtin_infl (void);
+double __builtin_nans (const char *str);
+float __builtin_nansf (const char *str);
+long double __builtin_nansl (const char *str);
+double __builtin_acos(double);
+float __builtin_acosf(float);
+long double __builtin_acosl(long double);
+double __builtin_asin(double);
+float __builtin_asinf(float);
+long double __builtin_asinl(long double);
+double __builtin_atan(double);
+double __builtin_atan2(double, double);
+float __builtin_atan2f(float, float);
+long double __builtin_atan2l(long double, long double);
+float __builtin_atanf(float);
+long double __builtin_atanl(long double);
+double __builtin_ceil(double);
+float __builtin_ceilf(float);
+long double __builtin_ceill(long double);
+double __builtin_cos(double);
+float __builtin_cosf(float);
+double __builtin_cosh(double);
+float __builtin_coshf(float);
+long double __builtin_coshl(long double);
+long double __builtin_cosl(long double);
+double __builtin_exp(double);
+float __builtin_expf(float);
+long double __builtin_expl(long double);
+double __builtin_fabs(double);
+float __builtin_fabsf(float);
+long double __builtin_fabsl(long double);
+double __builtin_floor(double);
+float __builtin_floorf(float);
+long double __builtin_floorl(long double);
+float __builtin_fmodf(float, float);
+long double __builtin_fmodl(long double, long double);
+double __builtin_frexp(double, int*);
+float __builtin_frexpf(float, int*);
+long double __builtin_frexpl(long double, int*);
+double __builtin_ldexp(double, int);
+float __builtin_ldexpf(float, int);
+long double __builtin_ldexpl(long double, int);
+double __builtin_log(double);
+double __builtin_log10(double);
+float __builtin_log10f(float);
+long double __builtin_log10l(long double);
+float __builtin_logf(float);
+long double __builtin_logl(long double);
+float __builtin_modff(float, float*);
+long double __builtin_modfl(long double, long double*);
+float __builtin_powf(float, float);
+long double __builtin_powl(long double, long double);
+double __builtin_powi(double, int);
+float __builtin_powif(float, int);
+long double __builtin_powil(long double, int);
+double __builtin_sin(double);
+float __builtin_sinf(float);
+double __builtin_sinh(double);
+float __builtin_sinhf(float);
+long double __builtin_sinhl(long double);
+long double __builtin_sinl(long double);
+double __builtin_sqrt(double);
+float __builtin_sqrtf(float);
+long double __builtin_sqrtl(long double);
+double __builtin_tan(double);
+float __builtin_tanf(float);
+double __builtin_tanh(double);
+float __builtin_tanhf(float);
+long double __builtin_tanhl(long double);
+long double __builtin_tanl(long double);
+float __builtin_cabsf(float __complex__);
+double __builtin_cabs(double __complex__);
+long double __builtin_cabsl(long double __complex__);
+float __builtin_cargf(float __complex__);
+double __builtin_carg(double __complex__);
+long double __builtin_cargl(long double __complex__);
+int __builtin_ctz(int);
+int __builtin_ctzl(long);
+int __builtin_ctzll(long long);
+int __builtin_popcount(int);
+int __builtin_popcountl(long);
+int __builtin_popcountll(long long);
+float __complex__ __builtin_ccosf(float __complex__);
+double __complex__ __builtin_ccos(double __complex__);
+long double __complex__ __builtin_ccosl(long double __complex__);
+float __complex__ __builtin_ccoshf(float __complex__);
+double __complex__ __builtin_ccosh(double __complex__);
+long double __complex__ __builtin_ccoshl(long double __complex__);
+float __complex__ __builtin_cexpf(float __complex__);
+double __complex__ __builtin_cexp(double __complex__);
+long double __complex__ __builtin_cexpl(long double __complex__);
+float __complex__ __builtin_clogf(float __complex__);
+double __complex__ __builtin_clog(double __complex__);
+long double __complex__ __builtin_clogl(long double __complex__);
+float __complex__ __builtin_csinf(float __complex__);
+double __complex__ __builtin_csin(double __complex__);
+long double __complex__ __builtin_csinl(long double __complex__);
+float __complex__ __builtin_csinhf(float __complex__);
+double __complex__ __builtin_csinh(double __complex__);
+long double __complex__ __builtin_csinhl(long double __complex__);
+float __complex__ __builtin_csqrtf(float __complex__);
+double __complex__ __builtin_csqrt(double __complex__);
+long double __complex__ __builtin_csqrtl(long double __complex__);
+float __complex__ __builtin_ctanf(float __complex__);
+double __complex__ __builtin_ctan(double __complex__);
+long double __complex__ __builtin_ctanl(long double __complex__);
+float __complex__ __builtin_ctanhf(float __complex__);
+double __complex__ __builtin_ctanh(double __complex__);
+long double __complex__ __builtin_ctanhl(long double __complex__);
+float __complex__ __builtin_cpowf(float __complex__, float __complex__);
+double __complex__ __builtin_cpow(double __complex__, double __complex__);
+long double __complex__ __builtin_cpowl(long double __complex__, long double __complex__);
+
+/* The GCC 4.3 parser hard-codes handling of these, so they do not
+ have real signatures. */
+bool __builtin_isfinite(...);
+bool __builtin_isinf(...);
+bool __builtin_isnan(...);
+bool __builtin_isnormal(...);
+bool __builtin_isgreater(...);
+bool __builtin_isgreaterequal(...);
+bool __builtin_isless(...);
+bool __builtin_islessequal(...);
+bool __builtin_islessgreater(...);
+bool __builtin_isunordered(...);
+
+/*
+
+GCC 4.3 has the following additional builtin compile-time constant
+expressions:
+
+ __builtin_va_arg ( assignment-expression , type-id )
+ __builtin_offsetof ( type-id , offsetof-expression )
+
+ __has_nothrow_assign(T)
+ __has_nothrow_constructor(T)
+ __has_nothrow_copy(T)
+ __has_trivial_assign(T)
+ __has_trivial_constructor(T)
+ __has_trivial_copy(T)
+ __has_trivial_destructor(T)
+ __has_virtual_destructor(T)
+ __is_abstract(T)
+ __is_base_of(Tbase,Tderived)
+ __is_class(T)
+ __is_convertible_to(Tfrom,Tto)
+ __is_empty(T)
+ __is_enum(T)
+ __is_pod(T)
+ __is_polymorphic(T)
+ __is_union(T)
+
+In order to really support these we would have to update GCC-XML's
+internal parser to be GCC 4.3. Since this has not yet been done we
+get most of the way by defining some of these as macros with fake
+answers. It is enough to get through GCC 4.3's C++98 standard
+library.
+*/
+
+#define __is_pod(x) false
+#define __is_empty(x) false
+#define __has_trivial_destructor(x) false
Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README
===================================================================
--- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README (rev 0)
+++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README 2009-10-04 20:02:50 UTC (rev 1766)
@@ -0,0 +1,8 @@
+Sun CC support contributed by Pierre-Olivier Gaillard
+
+This is a small README file regarding gccxml support for Solaris and Sun CC 5.8.
+
+The Sun CC headers are not suitable for GCC and need to be adapted. The adapted files may not be redistributed freely. This forces you to perform the following operations:
+ ./adapt_headers.sh
+
+This will produce corrected header files in the 5.8 directory.
Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh
===================================================================
--- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh (rev 0)
+++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh 2009-10-04 20:02:50 UTC (rev 1766)
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+INCLUDES=/usr/include
+CC_INCLUDES=`find_flags | perl -ne '($a) = m|-I([/a-zA-Z0-9_-]+/include/CC)|o ; print "$a\n" if $a'`
+
+cd 5.8
+
+cp $INCLUDES/math.h .
+cp $CC_INCLUDES/typeinfo .
+cp $CC_INCLUDES/Cstd/istream .
+cp $CC_INCLUDES/Cstd/streambuf .
+cp $CC_INCLUDES/Cstd/string .
+
+mkdir -p rw
+mkdir -p sys
+mkdir -p iso
+
+cp $CC_INCLUDES/Cstd/rw/iterator rw/iterator
+cp $INCLUDES/iso/stdio_iso.h iso
+cp $INCLUDES/iso/stdlib_iso.h iso
+
+cp $INCLUDES/sys/regset.h sys
+
+patch -p1 < adaptation.patch
Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags
===================================================================
--- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags (rev 0)
+++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags 2009-10-04 20:02:50 UTC (rev 1766)
@@ -0,0 +1,69 @@
+#!/bin/sh
+#=============================================================================
+#
+# Program: GCC-XML
+# Module: $RCSfile: find_flags,v $
+# Language: C++
+# Date: $Date: 2007/11/28 19:52:06 $
+# Version: $Revision: 1.1 $
+#
+# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+# See Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even
+# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the above copyright notices for more information.
+#
+#=============================================================================
+# Find the CC executable name.
+if test "x$1" = "x" ; then
+ if test "x${CXX}" = "x" ; then
+ CXX=CC
+ fi
+else
+ CXX="$1"
+ shift
+ CXXFLAGS="$@"
+fi
+
+GCCXML_PID="$$"
+cat > "/tmp/gccxml_identify_compiler_args$GCCXML_PID.cc" <<!
+#include <>
+!
+
+# Find the macro definition options.
+MACROS=`${CXX} /tmp/gccxml_identify_compiler_args$GCCXML_PID.cc -E -xdumpmacros=defs 2>&1 |
+ awk '{ if ($1 ~ /#define/) printf("-D%s=%s %s %s ",$2,$3,$4,$5) }'
+ `
+MACROS="-D__cplusplus=199711L -D__STDC__ -D_REENTRANT $MACROS"
+
+# Find the include path options.
+#todo test for truss
+INCLUDES=`truss -f -t openat ${CXX} -E /tmp/gccxml_identify_compiler_args$GCCXML_PID.cc 2>&1 |
+ awk '{if ($3 ~ /\"[A-Za-z0-9_\/.-]+\",/ && $3 !~ /tmp/)
+ if (tempString!=substr($3,2,length($3)-3))
+ {
+ tempString=substr($3,2,length($3)-3);
+ printf("-I%s ",tempString)
+ }
+ }'`
+
+#cleanup
+rm -rf "/tmp/gccxml_identify_compiler_args$GCCXML_PID.cc"
+
+# The support headers are located where this script is.
+SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'`
+if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi
+SELFPATH=`cd "$SELFPATH" ; pwd`
+
+# Find CC version
+CC_VERSION=`${CXX} -V 2>&1 | awk '{print $4}'`
+
+# Use hacked headers for CC 5.8
+if [ $CC_VERSION = 5.8 ]; then
+ INCLUDES="-iwrapper\"$SELFPATH/5.8\" $INCLUDES"
+fi
+
+# Format and print out the options.
+OPTIONS="$MACROS $INCLUDES $SPECIAL"
+echo $OPTIONS
Property changes on: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|