[pygccxml-commit] SF.net SVN: pygccxml:[1810] gccxml_bin/v09/linux2/share/gccxml-0.9
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2010-01-18 20:00:46
|
Revision: 1810 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1810&view=rev Author: roman_yakovenko Date: 2010-01-18 20:00:38 +0000 (Mon, 18 Jan 2010) Log Message: ----------- update GCCXML to 1.129 Modified Paths: -------------- gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/find_flags gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags gccxml_bin/v09/linux2/share/gccxml-0.9/gccxml_identify_compiler.cc Added Paths: ----------- gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/adapt_headers.sh gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/stdlib.h.patch gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/xstring.patch gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/mipspro_defs.cxx gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/Cstd.patch gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adapt_headers.sh gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/std-5.10.patch gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags_common Removed Paths: ------------- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adaptation.patch gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh Added: gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/adapt_headers.sh =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/adapt_headers.sh (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/adapt_headers.sh 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,34 @@ +#!/bin/sh + +cd `dirname $0` + +######################################### +# Patch C++ Compiler Includes +######################################### + +XLC_INCLUDES=`../find_flags "$@" | perl -ne '($a) = m|-I([/a-zA-Z0-9\._-]+)|o ; print "$a\n" if $a'` + +for f in $XLC_INCLUDES/* +do + b=`basename $f` + + sed \ + -e 's/\(extern[[:space:]]\{1,\}\)"builtin"/\1"C"/g' \ + -e 's/^\([[:space:]]\{1,\}\)??=/\1#/g' \ + -e 's/__IBMCPP__ < 400/!defined(__GCCXML__)/g' \ + -e 's/IBM VisualAge C++ v4 and later compilers/GCCXML/g' \ + -e '/#pragma[[:space:]]\{1,\}implementation/d' \ + $f > $b.tmp + + if ! cmp -s $f $b.tmp + then + echo "modifying $b" + mv $b.tmp $b + else + rm $b.tmp + fi + +done + +patch -s -i stdlib.h.patch +patch -s -i xstring.patch Property changes on: gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/adapt_headers.sh ___________________________________________________________________ Added: svn:executable + * Added: gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/stdlib.h.patch =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/stdlib.h.patch (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/stdlib.h.patch 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,27 @@ +*** stdlib.h.orig Mon Jun 8 17:46:16 2009 +--- stdlib.h Mon Jun 8 17:46:32 2009 +*************** +*** 33,43 **** + # endif + + # if defined (__MATH__) && defined (_ANSI_C_SOURCE) +! inline int abs (int ); + # if defined (__ABS_LONG__) + extern "C++" inline long abs (long ); + # endif +! inline long labs (long ); + # endif + # if defined (__MATH__) && defined(__XLC13__) && defined(_LONG_LONG) && defined(_ALL_SOURCE) + inline long long llabs(long long); +--- 33,43 ---- + # endif + + # if defined (__MATH__) && defined (_ANSI_C_SOURCE) +! extern "C" inline int abs (int ); + # if defined (__ABS_LONG__) + extern "C++" inline long abs (long ); + # endif +! extern "C" inline long labs (long ); + # endif + # if defined (__MATH__) && defined(__XLC13__) && defined(_LONG_LONG) && defined(_ALL_SOURCE) + inline long long llabs(long long); Added: gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/xstring.patch =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/xstring.patch (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/IBM/8.0/xstring.patch 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,19 @@ +*** xstring.orig Mon Jun 8 17:48:44 2009 +--- xstring Mon Jun 8 17:48:56 2009 +*************** +*** 571,577 **** + template<class _E, class _Tr, class _A> + const typename basic_string<_E, _Tr, _A>::size_type + basic_string<_E, _Tr, _A>::npos = +! (basic_string<_E, _Tr, _A>::size_type)(-1); + + template<class _E, class _Tr, class _A> inline + void swap(basic_string<_E, _Tr, _A>& _X, +--- 571,577 ---- + template<class _E, class _Tr, class _A> + const typename basic_string<_E, _Tr, _A>::size_type + basic_string<_E, _Tr, _A>::npos = +! (typename basic_string<_E, _Tr, _A>::size_type)(-1); + + template<class _E, class _Tr, class _A> inline + void swap(basic_string<_E, _Tr, _A>& _X, Modified: gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/find_flags =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/find_flags 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/find_flags 2010-01-18 20:00:38 UTC (rev 1810) @@ -4,8 +4,8 @@ # Program: GCC-XML # Module: $RCSfile: find_flags,v $ # Language: C++ -# Date: $Date: 2005/08/01 22:11:33 $ -# Version: $Revision: 1.5 $ +# Date: $Date: 2009-09-22 13:16:01 $ +# Version: $Revision: 1.6 $ # # Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. # See Copyright.txt for details. @@ -27,83 +27,18 @@ CXXFLAGS="$@" fi -GCCXML_PID="$$" -TESTFILE="find_flags_temp$GCCXML_PID" +SELFDIR=`cd "\`dirname \"$0\"\`";pwd` -# Construct a test input file that checks for some builtin definitions -# in the compiler that are not displayed by the -v option. This list -# was obtained by running "strings /usr/lib32/cmplrs/fecc" and testing -# for definitions with a giant version of the string below. -echo " -#ifdef _BOOL -D_BOOL _BOOL -#endif -#ifdef _EXPLICIT_IS_KEYWORD -D_EXPLICIT_IS_KEYWORD _EXPLICIT_IS_KEYWORD -#endif -#ifdef _LIBC_IN_NAMESPACE_STD_ -D_LIBC_IN_NAMESPACE_STD_ _LIBC_IN_NAMESPACE_STD_ -#endif -#ifdef _MEMBER_TEMPLATES -D_MEMBER_TEMPLATES _MEMBER_TEMPLATES -#endif -#ifdef _MUTABLE_IS_KEYWORD -D_MUTABLE_IS_KEYWORD _MUTABLE_IS_KEYWORD -#endif -#ifdef _NAMESPACES -D_NAMESPACES _NAMESPACES -#endif -#ifdef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES -D_PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES -#endif -#ifdef _STANDARD_C_PLUS_PLUS -D_STANDARD_C_PLUS_PLUS _STANDARD_C_PLUS_PLUS -#endif -#ifdef _TYPENAME_IS_KEYWORD -D_TYPENAME_IS_KEYWORD _TYPENAME_IS_KEYWORD -#endif -#ifdef _WCHAR_T -D_WCHAR_T _WCHAR_T -#endif -#ifdef _WCHAR_T_IS_KEYWORD -D_WCHAR_T_IS_KEYWORD _WCHAR_T_IS_KEYWORD -#endif -#ifdef __ANSI_CPP__ -D__ANSI_CPP__ __ANSI_CPP__ -#endif -#ifdef __ARRAY_OPERATORS -D__ARRAY_OPERATORS __ARRAY_OPERATORS -#endif -#ifdef __EDG_ABI_COMPATIBILITY_VERSION -D__EDG_ABI_COMPATIBILITY_VERSION __EDG_ABI_COMPATIBILITY_VERSION -#endif -#ifdef __EDG_RUNTIME_USES_NAMESPACES -D__EDG_RUNTIME_USES_NAMESPACES __EDG_RUNTIME_USES_NAMESPACES -#endif -#ifdef __EDG_VERSION__ -D__EDG_VERSION__ __EDG_VERSION__ -#endif -#ifdef __EDG__ -D__EDG__ __EDG__ -#endif -#ifdef __EXCEPTIONS -D__EXCEPTIONS __EXCEPTIONS -#endif -#ifdef __LIBC_MATH_OVERLOAD__ -D__LIBC_MATH_OVERLOAD__ __LIBC_MATH_OVERLOAD__ -#endif -#ifdef __RTTI -D__RTTI __RTTI -#endif -#ifdef __STDC__ -D__STDC__ __STDC__ -#endif -" > /tmp/$TESTFILE.cxx +# This test input file checks for some builtin definitions in the +# compiler that are not displayed by the -v option. Its list was +# obtained by running "strings /usr/lib32/cmplrs/fecc" and testing for +# definitions with a giant version of the string below. +DEFS_FILE="${SELFDIR}/mipspro_defs.cxx" # Find the macro definition options. MACROS=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | -sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// +${CXX} ${CXXFLAGS} -E -v "${DEFS_FILE}" 2>&1 | +sed -n '/_COMPILER_VERSION/{s| '"${DEFS_FILE}"'.*$|| s/ -/\\ -/g;p;}' | sed -n '/^-D.*$/{s/-D\([^=]*\)=\([^ ]\{1,\} .*\)/-D\1='\''\2'\''/;p;}' | @@ -111,14 +46,14 @@ # Find the internally defined macros. LANGSTD=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | +${CXX} ${CXXFLAGS} -E -v "${DEFS_FILE}" 2>&1 | sed -n '/^D/ {s/^D/-D/;s/ /=/;p;}' | sed -n 'H;${g;s/\n/ /g;p;}'` # Find the include path options. INCLUDES=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | -sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// +${CXX} ${CXXFLAGS} -E -v "${DEFS_FILE}" 2>&1 | +sed -n '/_COMPILER_VERSION/{s| '"${DEFS_FILE}"'.*$|| s/ -/\\ -/g;p;}' | sed -n '/^-I.*$/{p;}' | @@ -130,8 +65,6 @@ SELFPATH=`cd "$SELFPATH" ; pwd` INCLUDES="-iwrapper\"$SELFPATH/7.3\" $INCLUDES" -rm -f /tmp/$TESTFILE.cxx - # Format and print out the options. OPTIONS="$MACROS $LANGSTD $INCLUDES" echo $OPTIONS Added: gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/mipspro_defs.cxx =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/mipspro_defs.cxx (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/MIPSpro/mipspro_defs.cxx 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,63 @@ +#ifdef _BOOL +D_BOOL _BOOL +#endif +#ifdef _EXPLICIT_IS_KEYWORD +D_EXPLICIT_IS_KEYWORD _EXPLICIT_IS_KEYWORD +#endif +#ifdef _LIBC_IN_NAMESPACE_STD_ +D_LIBC_IN_NAMESPACE_STD_ _LIBC_IN_NAMESPACE_STD_ +#endif +#ifdef _MEMBER_TEMPLATES +D_MEMBER_TEMPLATES _MEMBER_TEMPLATES +#endif +#ifdef _MUTABLE_IS_KEYWORD +D_MUTABLE_IS_KEYWORD _MUTABLE_IS_KEYWORD +#endif +#ifdef _NAMESPACES +D_NAMESPACES _NAMESPACES +#endif +#ifdef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES +D_PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES +#endif +#ifdef _STANDARD_C_PLUS_PLUS +D_STANDARD_C_PLUS_PLUS _STANDARD_C_PLUS_PLUS +#endif +#ifdef _TYPENAME_IS_KEYWORD +D_TYPENAME_IS_KEYWORD _TYPENAME_IS_KEYWORD +#endif +#ifdef _WCHAR_T +D_WCHAR_T _WCHAR_T +#endif +#ifdef _WCHAR_T_IS_KEYWORD +D_WCHAR_T_IS_KEYWORD _WCHAR_T_IS_KEYWORD +#endif +#ifdef __ANSI_CPP__ +D__ANSI_CPP__ __ANSI_CPP__ +#endif +#ifdef __ARRAY_OPERATORS +D__ARRAY_OPERATORS __ARRAY_OPERATORS +#endif +#ifdef __EDG_ABI_COMPATIBILITY_VERSION +D__EDG_ABI_COMPATIBILITY_VERSION __EDG_ABI_COMPATIBILITY_VERSION +#endif +#ifdef __EDG_RUNTIME_USES_NAMESPACES +D__EDG_RUNTIME_USES_NAMESPACES __EDG_RUNTIME_USES_NAMESPACES +#endif +#ifdef __EDG_VERSION__ +D__EDG_VERSION__ __EDG_VERSION__ +#endif +#ifdef __EDG__ +D__EDG__ __EDG__ +#endif +#ifdef __EXCEPTIONS +D__EXCEPTIONS __EXCEPTIONS +#endif +#ifdef __LIBC_MATH_OVERLOAD__ +D__LIBC_MATH_OVERLOAD__ __LIBC_MATH_OVERLOAD__ +#endif +#ifdef __RTTI +D__RTTI __RTTI +#endif +#ifdef __STDC__ +D__STDC__ __STDC__ +#endif Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/Cstd.patch =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/Cstd.patch (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/Cstd.patch 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,156 @@ +diff -r -u old/algorithm new/algorithm +--- old/algorithm 2009-06-05 10:01:07.000000000 +0200 ++++ new/algorithm 2009-06-05 10:01:43.000000000 +0200 +@@ -880,6 +880,11 @@ + RandomAccessIterator last, Pointer buffer, + Distance buffer_size, T*, Compare comp); + ++#if !defined(__MINMAX_DEFINED) ++ template <class T> ++ inline const T& (min)(const T& a, const T& b); ++#endif ++ + template <class RandomAccessIterator, class Pointer, class Distance, class T> + inline void __stable_sort (RandomAccessIterator first, + RandomAccessIterator last, +diff -r -u old/istream new/istream +--- old/istream 2009-06-05 10:01:07.000000000 +0200 ++++ new/istream 2009-06-05 10:01:43.000000000 +0200 +@@ -67,7 +67,7 @@ + + _EXPLICIT basic_istream(basic_streambuf<charT, traits> *sb); + +- _EXPLICIT basic_istream(EmptyCtor) : basic_ios<charT, traits>(1) {} ++ _EXPLICIT basic_istream(ios_base::EmptyCtor) : basic_ios<charT, traits>(1) {} + virtual ~basic_istream(); + + class sentry +@@ -307,7 +307,7 @@ + } + else + { +- ostream_type* ost = stream.tie(); ++ basic_ostream<charT, traits>* ost = stream.tie(); + if (ost && ost->rdbuf() != sb) + ost->flush(); + +@@ -419,9 +419,11 @@ + const istream_iterator<T,charT,traits,Distance>& x, + const istream_iterator<T,charT,traits,Distance>& y); + #else +- friend inline bool operator== <> ( ++/* SMOSS 29/08/07 inline not allowed in friend declaration */ ++ friend /*inline*/ bool operator== <> ( + const istream_iterator<T,charT,traits,Distance>& x, + const istream_iterator<T,charT,traits,Distance>& y); ++/* END SMOSS 29/08/07 inline not allowed in friend declaration */ + #endif + public: + typedef charT char_type; +diff -r -u old/ostream new/ostream +--- old/ostream 2009-06-05 10:01:07.000000000 +0200 ++++ new/ostream 2009-06-05 10:01:43.000000000 +0200 +@@ -88,7 +88,7 @@ + typedef basic_ios<charT, traits> ios_type; + + _EXPLICIT basic_ostream(basic_streambuf<charT, traits> *sb); +- _EXPLICIT basic_ostream(EmptyCtor) : basic_ios<charT, traits>(1) {} ++ _EXPLICIT basic_ostream(ios_base::EmptyCtor) : basic_ios<charT, traits>(1) {} + virtual ~basic_ostream(); + + class sentry { +@@ -97,8 +97,7 @@ + sentry(basic_ostream<charT,traits>& stream) + : __stream(stream) + { +- +- streambuf_type* sb = stream.rdbuf(); ++ basic_streambuf<charT, traits>* sb = stream.rdbuf(); + if ( sb ) { + stream.rdbuf()->buffer_mutex_.acquire(); + } +diff -r -u old/rw/iterator new/rw/iterator +--- old/rw/iterator 2009-06-05 10:01:07.000000000 +0200 ++++ new/rw/iterator 2009-06-05 10:01:43.000000000 +0200 +@@ -426,10 +426,12 @@ + friend inline difference_type (std::operator-) (const self& x, const self& y); + friend inline self (std::operator+) (difference_type n, const self& x); + #else +- friend inline bool operator== <> (const self& x, const self& y); +- friend inline bool operator< <> (const self& x, const self& y); +- friend inline difference_type operator- <> (const self& x, const self& y); +- friend inline self operator+ <> (difference_type n, const self& x); ++/* SMOSS 29/08/07 removing 'inline' from friend declarations */ ++ friend /*inline*/ bool operator== <> (const self& x, const self& y); ++ friend /*inline*/ bool operator< <> (const self& x, const self& y); ++ friend /*inline*/ difference_type operator- <> (const self& x, const self& y); ++ friend /*inline*/ self operator+ <> (difference_type n, const self& x); ++/* END SMOSS 29/08/07 removing 'inline' from friend declarations */ + #endif + protected: + +@@ -581,7 +583,9 @@ + typedef Reference reference; + typedef Pointer pointer; + +- friend inline bool operator== <> (const self& x, const self& y); ++/* SMOSS 29/08/07 removing 'inline' from friend declarations */ ++ friend /*inline*/ bool operator== <> (const self& x, const self& y); ++/* END SMOSS 29/08/07 removing 'inline' from friend declarations */ + + protected: + +diff -r -u old/streambuf new/streambuf +--- old/streambuf 2009-06-05 10:01:07.000000000 +0200 ++++ new/streambuf 2009-06-05 10:01:43.000000000 +0200 +@@ -927,7 +927,10 @@ + * int_type snextc() + * returns the next character + */ +- ++/* SMOSS 29/08/07 Can't use typename in template specializations */ ++#ifdef _TYPENAME ++# define _TYPENAME ++#endif + inline _TYPENAME basic_streambuf<char, char_traits<char> >::int_type + basic_streambuf<char, char_traits<char> >::snextc() + { +@@ -1208,6 +1211,11 @@ + { + return seekpos(sp, which); + } ++#ifdef _TYPENAME ++# define _TYPENAME typename ++# undef _OLD_TYPENAME ++#endif ++/* END SMOSS 29/08/07 Can't use typename in template specializations */ + + /* + * basic_streambuf *pubsetbuf(char_type *, streamsize) +diff -r -u old/string new/string +--- old/string 2009-06-05 10:01:07.000000000 +0200 ++++ new/string 2009-06-05 10:01:43.000000000 +0200 +@@ -797,7 +797,9 @@ + // Null string ref + // + #ifndef _RWSTD_NO_STATIC_DEF3 +- static __SUNW_GLOBAL const __null_ref_type __nullref; ++/* SMOSS 29/08/07 Can't resolve #define __SUNW_GLOBAL __global */ ++ static /* __SUNW_GLOBAL */ const __null_ref_type __nullref; ++/* SMOSS 29/08/07 Can't resolve #define __SUNW_GLOBAL __global */ + #endif + + static __string_ref_type * __getNullRep () +diff -r -u old/typeinfo new/typeinfo +--- old/typeinfo 2009-06-05 10:01:07.000000000 +0200 ++++ new/typeinfo 2009-06-05 10:01:43.000000000 +0200 +@@ -34,7 +34,8 @@ + // Implementation + const void* __data; + type_info(const void*) throw(); +- friend __Cimpl::__type_info_friend; ++ /* SMOSS 29/08/07 Can't resolve */ ++ //friend __Cimpl::__type_info_friend; + }; + + class bad_typeid: public exception { Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adapt_headers.sh =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adapt_headers.sh (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adapt_headers.sh 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,32 @@ +#!/bin/sh + +cd `dirname $0` + +######################################### +# Patch STL Headers (Non-STLport) +######################################### + +CC_INCLUDES=`../find_flags "$@" | perl -ne '($a) = m|-I([/a-zA-Z0-9\._-]+/include/CC)|o ; print "$a\n" if $a'` + +mkdir -p rw + +cp $CC_INCLUDES/typeinfo . +cp $CC_INCLUDES/Cstd/istream . +cp $CC_INCLUDES/Cstd/ostream . +cp $CC_INCLUDES/Cstd/streambuf . +cp $CC_INCLUDES/Cstd/string . +cp $CC_INCLUDES/Cstd/algorithm . +cp $CC_INCLUDES/Cstd/rw/iterator rw/iterator + +gpatch -p1 < Cstd.patch + +######################################### +# Patch the standard headers +######################################### + +if [ `uname -r` = "5.10" ] +then + mkdir -p iso + cp /usr/include/iso/stdlib_iso.h iso + gpatch -p1 < std-5.10.patch +fi Property changes on: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adapt_headers.sh ___________________________________________________________________ Added: svn:executable + * Deleted: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adaptation.patch =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adaptation.patch 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/adaptation.patch 2010-01-18 20:00:38 UTC (rev 1810) @@ -1,168 +0,0 @@ -Common subdirectories: ./iso and ../result/iso -diff -r -u ./istream ../result/istream ---- ./istream Fri Nov 16 16:40:47 2007 -+++ ../result/istream Fri Nov 16 15:22:16 2007 -@@ -419,9 +419,11 @@ - const istream_iterator<T,charT,traits,Distance>& x, - const istream_iterator<T,charT,traits,Distance>& y); - #else -- friend inline bool operator== <> ( -+/* SMOSS 29/08/07 inline not allowed in friend declaration */ -+ friend /*inline*/ bool operator== <> ( - const istream_iterator<T,charT,traits,Distance>& x, - const istream_iterator<T,charT,traits,Distance>& y); -+/* END SMOSS 29/08/07 inline not allowed in friend declaration */ - #endif - public: - typedef charT char_type; -diff -r -u ./math.h ../result/math.h ---- ./math.h Fri Nov 16 17:25:29 2007 -+++ ../result/math.h Fri Nov 16 15:22:16 2007 -@@ -313,6 +313,11 @@ - #endif - /* END adopted by C99 */ - -+/* SMOSS 29/08/07 <floatingpoint.h> conflicts with stdlib_iso.h */ -+#ifdef __EXTENSIONS__ -+# undef __EXTENSIONS__ -+#endif //__EXTENSIONS__ -+/* END SMOSS 29/08/07 <floatingpoint.h> conflicts with stdlib_iso.h */ - #if defined(__EXTENSIONS__) || !defined(__cplusplus) - #include <floatingpoint.h> - #endif -@@ -319,6 +324,11 @@ - #endif /* defined(__EXTENSIONS__) || !defined(_XOPEN_SOURCE) */ - #endif /* defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE) || ... */ - -+/* SMOSS 29/08/07 <floatingpoint.h> conflicts with stdlib_iso.h */ -+#ifdef __EXTENSIONS__ -+# define __EXTENSIONS__ -+#endif //__EXTENSIONS__ -+/* END SMOSS 29/08/07 <floatingpoint.h> conflicts with stdlib_iso.h */ - #if defined(__cplusplus) && defined(__GNUC__) - #undef exception - #endif -Common subdirectories: ./rw and ../result/rw -diff -r -u ./streambuf ../result/streambuf ---- ./streambuf Fri Nov 16 16:40:47 2007 -+++ ../result/streambuf Fri Nov 16 15:22:16 2007 -@@ -927,7 +927,10 @@ - * int_type snextc() - * returns the next character - */ -- -+/* SMOSS 29/08/07 Can't use typename in template specializations */ -+#ifdef _TYPENAME -+# define _TYPENAME -+#endif - inline _TYPENAME basic_streambuf<char, char_traits<char> >::int_type - basic_streambuf<char, char_traits<char> >::snextc() - { -@@ -1208,6 +1211,11 @@ - { - return seekpos(sp, which); - } -+#ifdef _TYPENAME -+# define _TYPENAME typename -+# undef _OLD_TYPENAME -+#endif -+/* END SMOSS 29/08/07 Can't use typename in template specializations */ - - /* - * basic_streambuf *pubsetbuf(char_type *, streamsize) -diff -r -u ./string ../result/string ---- ./string Fri Nov 16 16:40:47 2007 -+++ ../result/string Fri Nov 16 15:22:16 2007 -@@ -797,7 +797,9 @@ - // Null string ref - // - #ifndef _RWSTD_NO_STATIC_DEF3 -- static __SUNW_GLOBAL const __null_ref_type __nullref; -+/* SMOSS 29/08/07 Can't resolve #define __SUNW_GLOBAL __global */ -+ static /* __SUNW_GLOBAL */ const __null_ref_type __nullref; -+/* SMOSS 29/08/07 Can't resolve #define __SUNW_GLOBAL __global */ - #endif - - static __string_ref_type * __getNullRep () -Common subdirectories: ./sys and ../result/sys -diff -r -u ./typeinfo ../result/typeinfo ---- ./typeinfo Fri Nov 16 16:40:47 2007 -+++ ../result/typeinfo Fri Nov 16 15:22:16 2007 -@@ -34,7 +34,8 @@ - // Implementation - const void* __data; - type_info(const void*) throw(); -- friend __Cimpl::__type_info_friend; -+ /* SMOSS 29/08/07 Can't resolve */ -+ //friend __Cimpl::__type_info_friend; - }; - - class bad_typeid: public exception { -diff -r -u ./iso/stdlib_iso.h ../result/iso/stdlib_iso.h ---- ./iso/stdlib_iso.h Fri Nov 16 16:40:47 2007 -+++ ../result/iso/stdlib_iso.h Fri Nov 16 15:22:16 2007 -@@ -110,8 +110,10 @@ - extern double atof(const char *); - extern int atoi(const char *); - extern long int atol(const char *); -+/* SMOSS 29/08/07 - extern void *bsearch(const void *, const void *, size_t, size_t, - int (*)(const void *, const void *)); -+*/ - #if __cplusplus >= 199711L - extern "C++" { - void *bsearch(const void *, const void *, size_t, size_t, -@@ -131,7 +133,6 @@ - extern size_t mbstowcs(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, - size_t); - extern int mbtowc(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, size_t); --extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); - #if __cplusplus >= 199711L - extern "C++" { - void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); -diff -r -u ./rw/iterator ../result/rw/iterator ---- ./rw/iterator Fri Nov 16 17:03:59 2007 -+++ ../result/rw/iterator Fri Nov 16 15:22:16 2007 -@@ -426,10 +426,12 @@ - friend inline difference_type (std::operator-) (const self& x, const self& y); - friend inline self (std::operator+) (difference_type n, const self& x); - #else -- friend inline bool operator== <> (const self& x, const self& y); -- friend inline bool operator< <> (const self& x, const self& y); -- friend inline difference_type operator- <> (const self& x, const self& y); -- friend inline self operator+ <> (difference_type n, const self& x); -+/* SMOSS 29/08/07 removing 'inline' from friend declarations */ -+ friend /*inline*/ bool operator== <> (const self& x, const self& y); -+ friend /*inline*/ bool operator< <> (const self& x, const self& y); -+ friend /*inline*/ difference_type operator- <> (const self& x, const self& y); -+ friend /*inline*/ self operator+ <> (difference_type n, const self& x); -+/* END SMOSS 29/08/07 removing 'inline' from friend declarations */ - #endif - protected: - -@@ -581,7 +583,9 @@ - typedef Reference reference; - typedef Pointer pointer; - -- friend inline bool operator== <> (const self& x, const self& y); -+/* SMOSS 29/08/07 removing 'inline' from friend declarations */ -+ friend /*inline*/ bool operator== <> (const self& x, const self& y); -+/* END SMOSS 29/08/07 removing 'inline' from friend declarations */ - - protected: - -diff -r -u ./sys/regset.h ../result/sys/regset.h ---- ./sys/regset.h Fri Nov 16 16:40:47 2007 -+++ ../result/sys/regset.h Fri Nov 16 15:22:16 2007 -@@ -16,7 +16,10 @@ - #pragma ident "@(#)regset.h 1.28 04/09/28 SMI" /* SVr4.0 1.1 */ - - #include <sys/feature_tests.h> -- -+/* SMOSS 29/08/07 */ -+//#include <inttypes.h> -+typedef long long unsigned int uint64_t; -+/* end SMOSS 29/08/08 */ - #if !defined(_ASM) - #include <sys/int_types.h> - #endif Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/std-5.10.patch =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/std-5.10.patch (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/5.8/std-5.10.patch 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,22 @@ +diff -r -u old/iso/stdlib_iso.h new/iso/stdlib_iso.h +--- old/iso/stdlib_iso.h Wed May 20 12:02:31 2009 ++++ new/iso/stdlib_iso.h Wed May 20 12:01:23 2009 +@@ -110,8 +110,10 @@ + extern double atof(const char *); + extern int atoi(const char *); + extern long int atol(const char *); ++/* SMOSS 29/08/07 + extern void *bsearch(const void *, const void *, size_t, size_t, + int (*)(const void *, const void *)); ++*/ + #if __cplusplus >= 199711L + extern "C++" { + void *bsearch(const void *, const void *, size_t, size_t, +@@ -131,7 +133,6 @@ + extern size_t mbstowcs(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, + size_t); + extern int mbtowc(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, size_t); +-extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); + #if __cplusplus >= 199711L + extern "C++" { + void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); Modified: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/README 2010-01-18 20:00:38 UTC (rev 1810) @@ -1,8 +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. +This is a small README file regarding gccxml support for Solaris and Sun CC. -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 +The Sun CC headers are not suitable for GCC and need to be adapted. The modified files may not be redistributed freely. This forces you to perform the following operations: + ./<CC-version>/adapt_headers.sh -This will produce corrected header files in the 5.8 directory. +This will produce corrected header files in the corresponding directory. Deleted: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/adapt_headers.sh 2010-01-18 20:00:38 UTC (rev 1810) @@ -1,24 +0,0 @@ -#!/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 Modified: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags 2010-01-18 20:00:38 UTC (rev 1810) @@ -4,8 +4,8 @@ # Program: GCC-XML # Module: $RCSfile: find_flags,v $ # Language: C++ -# Date: $Date: 2007/11/28 19:52:06 $ -# Version: $Revision: 1.1 $ +# Date: $Date: 2009-06-09 18:18:01 $ +# Version: $Revision: 1.2 $ # # Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. # See Copyright.txt for details. @@ -15,7 +15,8 @@ # PURPOSE. See the above copyright notices for more information. # #============================================================================= -# Find the CC executable name. + +# Find the compiler executable name. if test "x$1" = "x" ; then if test "x${CXX}" = "x" ; then CXX=CC @@ -26,44 +27,25 @@ CXXFLAGS="$@" fi -GCCXML_PID="$$" -cat > "/tmp/gccxml_identify_compiler_args$GCCXML_PID.cc" <<! -#include <> -! +# Find the compiler version +CXX_VERSION=`${CXX} -V 2>&1 | awk '{print $4}'` +[ -z "${CXX_VERSION}" ] && echo "Could not find compiler version" && exit 1 -# 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" +# Compute the script dir +SCRIPT_DIR=`dirname $0` +if test "x$SCRIPT_DIR" = "x" ; then SCRIPT_DIR="." ; fi +SCRIPT_DIR=`cd "$SCRIPT_DIR" ; pwd` -# 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) - } - }'` +# Compute the version-specific support dir +CXX_SUPPORT_DIR="$SCRIPT_DIR/$CXX_VERSION" -#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" +# Use the version-specific find_flags if available +if [ -f "$CXX_SUPPORT_DIR/find_flags" ] +then + . "$CXX_SUPPORT_DIR/find_flags" +else + . "$SCRIPT_DIR/find_flags_common" fi -# Format and print out the options. -OPTIONS="$MACROS $INCLUDES $SPECIAL" +# Print out the options echo $OPTIONS Added: gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags_common =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags_common (rev 0) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/Sun/find_flags_common 2010-01-18 20:00:38 UTC (rev 1810) @@ -0,0 +1,42 @@ +#!/bin/sh +#============================================================================= +# +# Program: GCC-XML +# Module: $RCSfile: find_flags_common,v $ +# Language: C++ +# Date: $Date: 2009-06-09 18:18:01 $ +# 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. +# +#============================================================================= + +GCCXML_PID="$$" +cat > "/tmp/gccxml_identify_compiler_args$GCCXML_PID.cc" <<! +#include <> +! + +# Find the macro definition options. +MACROS=`${CXX} ${CXXFLAGS} /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. +INCLUDES="`echo '' | ${CXX} -v -E ${CXXFLAGS} ~ 2>&1 | perl -ne 'print m|(-I/[/a-zA-Z0-9\._-]+\s*)|og'`" +INCLUDES="$INCLUDES -I/usr/include" + +# Use hacked headers +if [ -d "$CXX_SUPPORT_DIR" ]; then + INCLUDES="-iwrapper\"$CXX_SUPPORT_DIR\" $INCLUDES" +fi + +# Cleanup +rm -rf "/tmp/gccxml_identify_compiler_args$GCCXML_PID.cc" + +# Format the options. +OPTIONS="$MACROS $INCLUDES $SPECIAL" Modified: gccxml_bin/v09/linux2/share/gccxml-0.9/gccxml_identify_compiler.cc =================================================================== --- gccxml_bin/v09/linux2/share/gccxml-0.9/gccxml_identify_compiler.cc 2010-01-18 19:58:55 UTC (rev 1809) +++ gccxml_bin/v09/linux2/share/gccxml-0.9/gccxml_identify_compiler.cc 2010-01-18 20:00:38 UTC (rev 1810) @@ -6,6 +6,8 @@ GCCXML_SUPPORT="Intel" #elif defined(__SUNPRO_CC) GCCXML_SUPPORT="Sun" +#elif defined(__IBMCPP__) +GCCXML_SUPPORT="IBM" #else GCCXML_SUPPORT="" #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |