diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/files/gmock-1.4.0-more-gcc-4.7.patch b/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/files/gmock-1.4.0-more-gcc-4.7.patch new file mode 100644 index 0000000000..d28a121a47 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/files/gmock-1.4.0-more-gcc-4.7.patch @@ -0,0 +1,144 @@ +taken from upstream repo + +------------------------------------------------------------------------ +r245 | zhanyong.wan | 2009-12-02 03:36:42 -0500 (Wed, 02 Dec 2009) | 2 lines + +Fixes a C++-standard-compliance bug in gmock-printers.h. + + +Index: include/gmock/gmock-printers.h +=================================================================== +--- include/gmock/gmock-printers.h (revision 244) ++++ include/gmock/gmock-printers.h (revision 245) +@@ -434,63 +434,10 @@ inline void PrintTo(const ::std::wstring + // Overload for ::std::tr1::tuple. Needed for printing function + // arguments, which are packed as tuples. + +-typedef ::std::vector Strings; +- +-// This helper template allows PrintTo() for tuples and +-// UniversalTersePrintTupleFieldsToStrings() to be defined by +-// induction on the number of tuple fields. The idea is that +-// TuplePrefixPrinter::PrintPrefixTo(t, os) prints the first N +-// fields in tuple t, and can be defined in terms of +-// TuplePrefixPrinter. +- +-// The inductive case. +-template +-struct TuplePrefixPrinter { +- // Prints the first N fields of a tuple. +- template +- static void PrintPrefixTo(const Tuple& t, ::std::ostream* os) { +- TuplePrefixPrinter::PrintPrefixTo(t, os); +- *os << ", "; +- UniversalPrinter::type> +- ::Print(::std::tr1::get(t), os); +- } +- +- // Tersely prints the first N fields of a tuple to a string vector, +- // one element for each field. +- template +- static void TersePrintPrefixToStrings(const Tuple& t, Strings* strings) { +- TuplePrefixPrinter::TersePrintPrefixToStrings(t, strings); +- ::std::stringstream ss; +- UniversalTersePrint(::std::tr1::get(t), &ss); +- strings->push_back(ss.str()); +- } +-}; +- +-// Base cases. +-template <> +-struct TuplePrefixPrinter<0> { +- template +- static void PrintPrefixTo(const Tuple&, ::std::ostream*) {} +- +- template +- static void TersePrintPrefixToStrings(const Tuple&, Strings*) {} +-}; +-template <> +-template +-void TuplePrefixPrinter<1>::PrintPrefixTo(const Tuple& t, ::std::ostream* os) { +- UniversalPrinter::type>:: +- Print(::std::tr1::get<0>(t), os); +-} +- + // Helper function for printing a tuple. T must be instantiated with + // a tuple type. + template +-void PrintTupleTo(const T& t, ::std::ostream* os) { +- *os << "("; +- TuplePrefixPrinter< ::std::tr1::tuple_size::value>:: +- PrintPrefixTo(t, os); +- *os << ")"; +-} ++void PrintTupleTo(const T& t, ::std::ostream* os); + + // Overloaded PrintTo() for tuples of various arities. We support + // tuples of up-to 10 fields. The following implementation works +@@ -725,6 +672,64 @@ void UniversalPrint(const T& value, ::st + UniversalPrinter::Print(value, os); + } + ++typedef ::std::vector Strings; ++ ++// This helper template allows PrintTo() for tuples and ++// UniversalTersePrintTupleFieldsToStrings() to be defined by ++// induction on the number of tuple fields. The idea is that ++// TuplePrefixPrinter::PrintPrefixTo(t, os) prints the first N ++// fields in tuple t, and can be defined in terms of ++// TuplePrefixPrinter. ++ ++// The inductive case. ++template ++struct TuplePrefixPrinter { ++ // Prints the first N fields of a tuple. ++ template ++ static void PrintPrefixTo(const Tuple& t, ::std::ostream* os) { ++ TuplePrefixPrinter::PrintPrefixTo(t, os); ++ *os << ", "; ++ UniversalPrinter::type> ++ ::Print(::std::tr1::get(t), os); ++ } ++ ++ // Tersely prints the first N fields of a tuple to a string vector, ++ // one element for each field. ++ template ++ static void TersePrintPrefixToStrings(const Tuple& t, Strings* strings) { ++ TuplePrefixPrinter::TersePrintPrefixToStrings(t, strings); ++ ::std::stringstream ss; ++ UniversalTersePrint(::std::tr1::get(t), &ss); ++ strings->push_back(ss.str()); ++ } ++}; ++ ++// Base cases. ++template <> ++struct TuplePrefixPrinter<0> { ++ template ++ static void PrintPrefixTo(const Tuple&, ::std::ostream*) {} ++ ++ template ++ static void TersePrintPrefixToStrings(const Tuple&, Strings*) {} ++}; ++template <> ++template ++void TuplePrefixPrinter<1>::PrintPrefixTo(const Tuple& t, ::std::ostream* os) { ++ UniversalPrinter::type>:: ++ Print(::std::tr1::get<0>(t), os); ++} ++ ++// Helper function for printing a tuple. T must be instantiated with ++// a tuple type. ++template ++void PrintTupleTo(const T& t, ::std::ostream* os) { ++ *os << "("; ++ TuplePrefixPrinter< ::std::tr1::tuple_size::value>:: ++ PrintPrefixTo(t, os); ++ *os << ")"; ++} ++ + // Prints the fields of a tuple tersely to a string vector, one + // element for each field. See the comment before + // UniversalTersePrint() for how we define "tersely". + +------------------------------------------------------------------------ diff --git a/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/gmock-1.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/gmock-1.4.0.ebuild index 8f8d65d114..9d2b61d47c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/gmock-1.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-cpp/gmock/gmock-1.4.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gmock/gmock-1.4.0.ebuild,v 1.3 2012/05/30 20:03:47 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/gmock/gmock-1.4.0.ebuild,v 1.6 2012/08/28 21:52:08 vapier Exp $ EAPI="4" @@ -26,6 +26,7 @@ src_unpack() { src_prepare() { epatch "${FILESDIR}"/${P}-gcc-4.7.patch + epatch "${FILESDIR}"/${P}-more-gcc-4.7.patch elibtoolize }