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.
|