]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/libfuncs.h
Change copyright header to refer to version 3 of the GNU General Public License and...
[thirdparty/gcc.git] / gcc / libfuncs.h
CommitLineData
e78d8e51 1/* Definitions for code generation pass of GNU compiler.
9dcd6f09 2 Copyright (C) 2001, 2004, 2007 Free Software Foundation, Inc.
e78d8e51 3
40803cd5 4This file is part of GCC.
e78d8e51 5
40803cd5 6GCC is free software; you can redistribute it and/or modify
e78d8e51 7it under the terms of the GNU General Public License as published by
9dcd6f09 8the Free Software Foundation; either version 3, or (at your option)
e78d8e51
ZW
9any later version.
10
40803cd5 11GCC is distributed in the hope that it will be useful,
e78d8e51
ZW
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
9dcd6f09
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
e78d8e51
ZW
19
20#ifndef GCC_LIBFUNCS_H
21#define GCC_LIBFUNCS_H
22
23/* Enumeration of indexes into libfunc_table. */
24enum libfunc_index
25{
9602f5a0 26 LTI_abort,
e78d8e51
ZW
27 LTI_memcpy,
28 LTI_memmove,
e78d8e51 29 LTI_memcmp,
e78d8e51 30 LTI_memset,
68d28100 31 LTI_setbits,
e78d8e51
ZW
32
33 LTI_unwind_resume,
34 LTI_eh_personality,
35 LTI_setjmp,
36 LTI_longjmp,
37 LTI_unwind_sjlj_register,
38 LTI_unwind_sjlj_unregister,
39
e78d8e51
ZW
40 LTI_profile_function_entry,
41 LTI_profile_function_exit,
42
68d28100 43 LTI_gcov_flush,
68d28100 44
e78d8e51
ZW
45 LTI_MAX
46};
47
48/* SYMBOL_REF rtx's for the library functions that are called
49 implicitly and not via optabs. */
e2500fed 50extern GTY(()) rtx libfunc_table[LTI_MAX];
e78d8e51
ZW
51
52/* Accessor macros for libfunc_table. */
e78d8e51 53
9602f5a0 54#define abort_libfunc (libfunc_table[LTI_abort])
e78d8e51
ZW
55#define memcpy_libfunc (libfunc_table[LTI_memcpy])
56#define memmove_libfunc (libfunc_table[LTI_memmove])
e78d8e51 57#define memcmp_libfunc (libfunc_table[LTI_memcmp])
e78d8e51 58#define memset_libfunc (libfunc_table[LTI_memset])
68d28100 59#define setbits_libfunc (libfunc_table[LTI_setbits])
e78d8e51
ZW
60
61#define unwind_resume_libfunc (libfunc_table[LTI_unwind_resume])
62#define eh_personality_libfunc (libfunc_table[LTI_eh_personality])
63#define setjmp_libfunc (libfunc_table[LTI_setjmp])
64#define longjmp_libfunc (libfunc_table[LTI_longjmp])
65#define unwind_sjlj_register_libfunc (libfunc_table[LTI_unwind_sjlj_register])
66#define unwind_sjlj_unregister_libfunc \
67 (libfunc_table[LTI_unwind_sjlj_unregister])
68
e78d8e51
ZW
69#define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry])
70#define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit])
71
68d28100 72#define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush])
68d28100 73
e78d8e51 74#endif /* GCC_LIBFUNCS_H */