]> git.ipfire.org Git - thirdparty/gcc.git/blame - libvtv/vtv_rts.h
PR c++/87554 - ICE with extern template and reference member.
[thirdparty/gcc.git] / libvtv / vtv_rts.h
CommitLineData
fbd26352 1// Copyright (C) 2012-2019 Free Software Foundation, Inc.
b710ec85 2//
3// This file is part of GCC.
4//
5// GCC is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 3, or (at your option)
8// any later version.
9
10// GCC is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14
15// Under Section 7 of GPL version 3, you are granted additional
16// permissions described in the GCC Runtime Library Exception, version
17// 3.1, as published by the Free Software Foundation.
18
19// You should have received a copy of the GNU General Public License and
20// a copy of the GCC Runtime Library Exception along with this program;
21// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22// <http://www.gnu.org/licenses/>.
23
24#ifndef _VTV_RTS_H
25#define _VTV_RTS_H 1
26
27#include <cstdlib>
28
29// These prototypes needs to be kept in sync with the compiler-generated declarations in vtable-class-hierarchy.c
30extern void
31__VLTRegisterSet(void**, const void*, std::size_t, std::size_t, void**);
32
33extern void
34__VLTRegisterSetDebug(void**, const void*, std::size_t, std::size_t, void**);
35
36extern void
37__VLTRegisterPair(void**, const void*, size_t, const void*);
38
39extern void
40__VLTRegisterPairDebug(void**, const void*, size_t, const void*,
41 const char*, const char*);
42
43extern const void*
44__VLTVerifyVtablePointer(void**, const void*);
45
46extern const void*
47__VLTVerifyVtablePointerDebug(void**, const void*, const char*, const char*);
48
49#endif /* _VTV_RTS_H */