aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/libsupc++/vtv_rts.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/libsupc++/vtv_rts.h')
-rw-r--r--libstdc++-v3/libsupc++/vtv_rts.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/libstdc++-v3/libsupc++/vtv_rts.h b/libstdc++-v3/libsupc++/vtv_rts.h
new file mode 100644
index 00000000000..4409d7a52c0
--- /dev/null
+++ b/libstdc++-v3/libsupc++/vtv_rts.h
@@ -0,0 +1,56 @@
+/* Copyright (C) 2012
+ Free Software Foundation
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GCC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _VTV_RTS_H
+#define _VTV_RTS_H 1
+
+#include <cstdlib>
+
+/* This prototype needs to be kept in sync with the compiler-
+ generated declaration in vtable-class-hierarchy.c. */
+
+/* We could have used an enumeration here but it just makes it more
+ difficult for the compiler to generate a call to this. */
+#define __VLTP_READ_ONLY 0
+#define __VLTP_READ_WRITE 1
+
+extern void __VLTChangePermission (int);
+
+#ifdef VTV_DEBUG
+
+extern void __VLTInitSetSymbolDebug (void **, const void *, std::size_t);
+extern void __VLTRegisterPairDebug (void **, const void *, const char *,
+ const char *);
+extern const void *__VLTVerifyVtablePointerDebug (void **, const void *,
+ const char *, const char *);
+
+#else
+
+extern void __VLTRegisterPair (void **, const void *);
+extern const void *__VLTVerifyVtablePointer (void **, const void *);
+extern void __VLTInitSetSymbol (void **, const void *, std::size_t );
+
+#endif
+
+#endif /* _VTV_RTS_H */