MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
runtime.hpp
1 /*
2  Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; version 2 of the License.
7 
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with this program; see the file COPYING. If not, write to the
15  Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
16  MA 02110-1301 USA.
17 */
18 
19 /* runtime.hpp provides C++ runtime support functions when building a pure C
20  * version of yaSSL, user must define YASSL_PURE_C
21 */
22 
23 
24 
25 #ifndef yaSSL_NEW_HPP
26 #define yaSSL_NEW_HPP
27 
28 #ifdef HAVE_CONFIG_H
29 #include "config.h"
30 #endif
31 
32 #ifdef __sun
33 
34 
35 // Handler for pure virtual functions
36 namespace __Crun {
37  void pure_error(void);
38 } // namespace __Crun
39 
40 #endif // __sun
41 
42 
43 #if defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
44 
45 #if __GNUC__ > 2
46 
47 extern "C" {
48 #if defined(DO_TAOCRYPT_KERNEL_MODE)
49  #include "kernelc.hpp"
50 #endif
51  int __cxa_pure_virtual () __attribute__ ((weak));
52 } // extern "C"
53 
54 #endif // __GNUC__ > 2
55 #endif // compiler check
56 #endif // yaSSL_NEW_HPP
57