mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/svoj/devel/mysql/yassl-mysql-5.0 sql/item_buff.cc: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_select.cc: Auto merged sql/table.cc: Auto merged
This commit is contained in:
commit
2ccb51061b
22 changed files with 62 additions and 46 deletions
14
configure.in
14
configure.in
|
@ -201,6 +201,8 @@ CXX_VERSION=`$CXX -version | grep -i version`
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
CXX_VERSION=`$CXX --version | sed 1q`
|
CXX_VERSION=`$CXX --version | sed 1q`
|
||||||
|
CXX_VERSION=${CXX_VERSION:-`$CXX -V|sed 1q`} # trying harder for Sun and SGI
|
||||||
|
CXX_VERSION=${CXX_VERSION:-`$CXX -V 2>&1|sed 1q`} # even harder for Alpha
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if test $? -eq "0"
|
if test $? -eq "0"
|
||||||
|
@ -365,8 +367,20 @@ then
|
||||||
# Disable exceptions as they seams to create problems with gcc and threads.
|
# Disable exceptions as they seams to create problems with gcc and threads.
|
||||||
# mysqld doesn't use run-time-type-checking, so we disable it.
|
# mysqld doesn't use run-time-type-checking, so we disable it.
|
||||||
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
|
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
|
||||||
|
CXXFLAGS="$CXXFLAGS -DEXPLICIT_TEMPLATE_INSTANTIATION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case $CXX_VERSION in
|
||||||
|
MIPSpro*)
|
||||||
|
CXXFLAGS="$CXXFLAGS -no_prelink -DEXPLICIT_TEMPLATE_INSTANTIATION"
|
||||||
|
;;
|
||||||
|
Compaq*)
|
||||||
|
CXXFLAGS="$CXXFLAGS -nopt -DEXPLICIT_TEMPLATE_INSTANTIATION"
|
||||||
|
;;
|
||||||
|
Forte*)
|
||||||
|
CXXFLAGS="$CXXFLAGS -instance=explicit -DEXPLICIT_TEMPLATE_INSTANTIATION"
|
||||||
|
esac
|
||||||
|
|
||||||
# Avoid bug in fcntl on some versions of linux
|
# Avoid bug in fcntl on some versions of linux
|
||||||
AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os")
|
AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os")
|
||||||
# Any variation of Linux
|
# Any variation of Linux
|
||||||
|
|
|
@ -971,7 +971,7 @@ x509* PemToDer(const char* fname, CertType type)
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
namespace yaSSL {
|
namespace yaSSL {
|
||||||
template void ysDelete<DiffieHellman::DHImpl>(DiffieHellman::DHImpl*);
|
template void ysDelete<DiffieHellman::DHImpl>(DiffieHellman::DHImpl*);
|
||||||
template void ysDelete<Integer::IntegerImpl>(Integer::IntegerImpl*);
|
template void ysDelete<Integer::IntegerImpl>(Integer::IntegerImpl*);
|
||||||
|
@ -989,6 +989,6 @@ template void ysDelete<RMD::RMDImpl>(RMD::RMDImpl*);
|
||||||
template void ysDelete<SHA::SHAImpl>(SHA::SHAImpl*);
|
template void ysDelete<SHA::SHAImpl>(SHA::SHAImpl*);
|
||||||
template void ysDelete<MD5::MD5Impl>(MD5::MD5Impl*);
|
template void ysDelete<MD5::MD5Impl>(MD5::MD5Impl*);
|
||||||
}
|
}
|
||||||
#endif // __GNUC__
|
#endif // EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
|
|
||||||
#endif // !USE_CRYPTOPP_LIB
|
#endif // !USE_CRYPTOPP_LIB
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include "ripemd.hpp"
|
#include "ripemd.hpp"
|
||||||
#include "openssl/ssl.h"
|
#include "openssl/ssl.h"
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
#if !defined(USE_CRYPTOPP_LIB)
|
#if !defined(USE_CRYPTOPP_LIB)
|
||||||
namespace TaoCrypt {
|
namespace TaoCrypt {
|
||||||
template class HMAC<MD5>;
|
template class HMAC<MD5>;
|
||||||
|
@ -18,26 +18,26 @@ template class HMAC<RIPEMD160>;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace mySTL {
|
namespace mySTL {
|
||||||
template class mySTL::list<unsigned char*>;
|
template class list<unsigned char*>;
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each(mySTL::list<unsigned char*>::iterator, mySTL::list<unsigned char*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each(mySTL::list<unsigned char*>::iterator, mySTL::list<unsigned char*>::iterator, yaSSL::del_ptr_zero);
|
||||||
template mySTL::pair<int, yaSSL::Message* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
|
template pair<int, yaSSL::Message* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
|
||||||
template mySTL::pair<int, yaSSL::HandShakeBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
template pair<int, yaSSL::HandShakeBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
||||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
|
template void destroy<mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
|
||||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
template void destroy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
|
||||||
template mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
template pair<int, yaSSL::ServerKeyBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
||||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
template void destroy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
|
||||||
template mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>* mySTL::uninit_copy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
template pair<int, yaSSL::ClientKeyBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
||||||
template class mySTL::list<TaoCrypt::Signer*>;
|
template class list<TaoCrypt::Signer*>;
|
||||||
template class mySTL::list<yaSSL::SSL_SESSION*>;
|
template class list<yaSSL::SSL_SESSION*>;
|
||||||
template class mySTL::list<yaSSL::input_buffer*>;
|
template class list<yaSSL::input_buffer*>;
|
||||||
template class mySTL::list<yaSSL::output_buffer*>;
|
template class list<yaSSL::output_buffer*>;
|
||||||
template class mySTL::list<yaSSL::x509*>;
|
template class list<yaSSL::x509*>;
|
||||||
template void mySTL::destroy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
template void destroy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<TaoCrypt::Signer*>::iterator, mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each<mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<TaoCrypt::Signer*>::iterator, mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero);
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero);
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero);
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero);
|
||||||
template yaSSL::del_ptr_zero mySTL::for_each<mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::x509*>::iterator, mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero);
|
template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::x509*>::iterator, mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace yaSSL {
|
namespace yaSSL {
|
||||||
|
|
|
@ -1975,10 +1975,10 @@ X509_NAME* X509::GetSubject()
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
namespace mySTL {
|
namespace mySTL {
|
||||||
template yaSSL::yassl_int_cpp_local1::SumData mySTL::for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData);
|
template yaSSL::yassl_int_cpp_local1::SumData for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData);
|
||||||
template yaSSL::yassl_int_cpp_local1::SumBuffer mySTL::for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer);
|
template yaSSL::yassl_int_cpp_local1::SumBuffer for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer);
|
||||||
template mySTL::list<yaSSL::SSL_SESSION*>::iterator mySTL::find_if<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match);
|
template mySTL::list<yaSSL::SSL_SESSION*>::iterator find_if<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::yassl_int_cpp_local2::sess_match);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
/* Disallow inline __cxa_pure_virtual() */
|
||||||
|
static int __cxa_pure_virtual() __attribute__((noinline));
|
||||||
static int __cxa_pure_virtual()
|
static int __cxa_pure_virtual()
|
||||||
{
|
{
|
||||||
// oops, pure virtual called!
|
// oops, pure virtual called!
|
||||||
|
|
|
@ -319,7 +319,7 @@ void AbstractRing::SimultaneousExponentiate(Integer *results,
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
namespace mySTL {
|
namespace mySTL {
|
||||||
template TaoCrypt::WindowSlider* uninit_copy<TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*);
|
template TaoCrypt::WindowSlider* uninit_copy<TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*);
|
||||||
template void destroy<TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*);
|
template void destroy<TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*);
|
||||||
|
|
|
@ -3956,7 +3956,7 @@ Integer CRT(const Integer &xp, const Integer &p, const Integer &xq,
|
||||||
return p * (u * (xq-xp) % q) + xp;
|
return p * (u * (xq-xp) % q) + xp;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
#ifndef TAOCRYPT_NATIVE_DWORD_AVAILABLE
|
#ifndef TAOCRYPT_NATIVE_DWORD_AVAILABLE
|
||||||
template hword DivideThreeWordsByTwo<hword, Word>(hword*, hword, hword, Word*);
|
template hword DivideThreeWordsByTwo<hword, Word>(hword*, hword, hword, Word*);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include "vector.hpp"
|
#include "vector.hpp"
|
||||||
#include "hash.hpp"
|
#include "hash.hpp"
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
namespace TaoCrypt {
|
namespace TaoCrypt {
|
||||||
#if defined(SSE2_INTRINSICS_AVAILABLE)
|
#if defined(SSE2_INTRINSICS_AVAILABLE)
|
||||||
template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, AlignedAllocator<unsigned int> >(AlignedAllocator<unsigned int>&, unsigned int*, AlignedAllocator<unsigned int>::size_type, AlignedAllocator<unsigned int>::size_type, bool);
|
template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, AlignedAllocator<unsigned int> >(AlignedAllocator<unsigned int>&, unsigned int*, AlignedAllocator<unsigned int>::size_type, AlignedAllocator<unsigned int>::size_type, bool);
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
Instansiate templates and static variables
|
Instansiate templates and static variables
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<create_field>;
|
template class List<create_field>;
|
||||||
template class List_iterator<create_field>;
|
template class List_iterator<create_field>;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5387,7 +5387,7 @@ void Item_result_field::cleanup()
|
||||||
** Instantiate templates
|
** Instantiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<Item>;
|
template class List<Item>;
|
||||||
template class List_iterator<Item>;
|
template class List_iterator<Item>;
|
||||||
template class List_iterator_fast<Item>;
|
template class List_iterator_fast<Item>;
|
||||||
|
|
|
@ -146,7 +146,7 @@ bool Cached_item_decimal::cmp()
|
||||||
** Instansiate templates
|
** Instansiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<Cached_item>;
|
template class List<Cached_item>;
|
||||||
template class List_iterator<Cached_item>;
|
template class List_iterator<Cached_item>;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -7073,7 +7073,7 @@ static void create_pid_file()
|
||||||
Instantiate templates
|
Instantiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
/* Used templates */
|
/* Used templates */
|
||||||
template class I_List<THD>;
|
template class I_List<THD>;
|
||||||
template class I_List_iterator<THD>;
|
template class I_List_iterator<THD>;
|
||||||
|
|
|
@ -8918,7 +8918,7 @@ void QUICK_GROUP_MIN_MAX_SELECT::dbug_dump(int indent, bool verbose)
|
||||||
** Instantiate templates
|
** Instantiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<QUICK_RANGE>;
|
template class List<QUICK_RANGE>;
|
||||||
template class List_iterator<QUICK_RANGE>;
|
template class List_iterator<QUICK_RANGE>;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3406,7 +3406,7 @@ bool process_key_caches(int (* func) (const char *name, KEY_CACHE *))
|
||||||
Used templates
|
Used templates
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<set_var_base>;
|
template class List<set_var_base>;
|
||||||
template class List_iterator_fast<set_var_base>;
|
template class List_iterator_fast<set_var_base>;
|
||||||
template class I_List_iterator<NAMED_LIST>;
|
template class I_List_iterator<NAMED_LIST>;
|
||||||
|
|
|
@ -5002,7 +5002,7 @@ end:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class I_List_iterator<i_string>;
|
template class I_List_iterator<i_string>;
|
||||||
template class I_List_iterator<i_string_pair>;
|
template class I_List_iterator<i_string_pair>;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5325,7 +5325,7 @@ bool sp_grant_privileges(THD *thd, const char *sp_db, const char *sp_name,
|
||||||
Instantiate used templates
|
Instantiate used templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List_iterator<LEX_COLUMN>;
|
template class List_iterator<LEX_COLUMN>;
|
||||||
template class List_iterator<LEX_USER>;
|
template class List_iterator<LEX_USER>;
|
||||||
template class List<LEX_COLUMN>;
|
template class List<LEX_COLUMN>;
|
||||||
|
|
|
@ -49,7 +49,7 @@ char internal_table_name[2]= "*";
|
||||||
** Instansiate templates
|
** Instansiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
/* Used templates */
|
/* Used templates */
|
||||||
template class List<Key>;
|
template class List<Key>;
|
||||||
template class List_iterator<Key>;
|
template class List_iterator<Key>;
|
||||||
|
|
|
@ -2362,11 +2362,11 @@ void select_create::abort()
|
||||||
Instansiate templates
|
Instansiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List_iterator_fast<List_item>;
|
template class List_iterator_fast<List_item>;
|
||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
template class I_List<delayed_insert>;
|
template class I_List<delayed_insert>;
|
||||||
template class I_List_iterator<delayed_insert>;
|
template class I_List_iterator<delayed_insert>;
|
||||||
template class I_List<delayed_row>;
|
template class I_List<delayed_row>;
|
||||||
#endif /* EMBEDDED_LIBRARY */
|
#endif /* EMBEDDED_LIBRARY */
|
||||||
#endif /* __GNUC__ */
|
#endif /* EXPLICIT_TEMPLATE_INSTANTIATION */
|
||||||
|
|
|
@ -138,7 +138,7 @@ void unmap_file(mapped_files *map)
|
||||||
** Instansiate templates
|
** Instansiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
/* Used templates */
|
/* Used templates */
|
||||||
template class I_List<mapped_files>;
|
template class I_List<mapped_files>;
|
||||||
template class I_List_iterator<mapped_files>;
|
template class I_List_iterator<mapped_files>;
|
||||||
|
|
|
@ -6277,7 +6277,7 @@ public:
|
||||||
COND_CMP(Item *a,Item_func *b) :and_level(a),cmp_func(b) {}
|
COND_CMP(Item *a,Item_func *b) :and_level(a),cmp_func(b) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class I_List<COND_CMP>;
|
template class I_List<COND_CMP>;
|
||||||
template class I_List_iterator<COND_CMP>;
|
template class I_List_iterator<COND_CMP>;
|
||||||
template class List<Item_func_match>;
|
template class List<Item_func_match>;
|
||||||
|
|
|
@ -1102,7 +1102,7 @@ public:
|
||||||
char *query;
|
char *query;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class I_List<thread_info>;
|
template class I_List<thread_info>;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -3879,7 +3879,7 @@ ST_SCHEMA_TABLE schema_tables[]=
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List_iterator_fast<char>;
|
template class List_iterator_fast<char>;
|
||||||
template class List<char>;
|
template class List<char>;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2236,7 +2236,7 @@ const char *Field_iterator_view::name()
|
||||||
** Instansiate templates
|
** Instansiate templates
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef EXPLICIT_TEMPLATE_INSTANTIATION
|
||||||
template class List<String>;
|
template class List<String>;
|
||||||
template class List_iterator<String>;
|
template class List_iterator<String>;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue