|
|
1.1 root 1: /* NeXTSTEP mach-o pic support functions.
2: Copyright (C) 1992, 1994 Free Software Foundation, Inc.
3:
4: This file is part of GNU CC.
5:
6: GNU CC is free software; you can redistribute it and/or modify
7: it under the terms of the GNU General Public License as published by
8: the Free Software Foundation; either version 2, or (at your option)
9: any later version.
10:
11: GNU CC is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with GNU CC; see the file COPYING. If not, write to
18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19:
20: #ifdef MACHO_PIC
21: #ifndef _MACHOPIC_H
22: #define _MACHOPIC_H
23:
24: enum machopic_addr_class {
25: MACHOPIC_UNDEFINED,
26: MACHOPIC_DEFINED_DATA,
27: MACHOPIC_UNDEFINED_DATA,
28: MACHOPIC_DEFINED_FUNCTION,
29: MACHOPIC_UNDEFINED_FUNCTION,
30: };
31:
32: #ifndef MACHOPIC_PURE
33: #define MACHOPIC_PURE (flag_pic == 2)
34: #define MACHOPIC_INDIRECT (flag_pic)
35: #define MACHOPIC_JUST_INDIRECT (flag_pic == 1)
36: #endif
37:
38: #ifdef MACHOPIC_OPERAND_P
39: #undef MACHOPIC_OPERAND_P
40: #endif
41:
42: #define MACHOPIC_OPERAND_P(X) machopic_operand_p (X)
43:
44: int machopic_operand_p PROTO ((rtx));
45: enum machopic_addr_class machopic_classify_ident PROTO ((tree));
46: enum machopic_addr_class machopic_classify_name PROTO ((char*));
47: void machopic_define_ident PROTO ((tree));
48: void machopic_define_name PROTO ((char*));
49: int machopic_name_defined_p PROTO ((char*));
50: int machopic_ident_defined_p PROTO ((tree));
51:
52: char* machopic_function_base_name ();
53: char* machopic_non_lazy_ptr_name PROTO ((char*));
54: char* machopic_stub_name PROTO((char*));
55:
56: rtx machopic_indirect_data_reference PROTO((rtx, rtx));
57: rtx machopic_indirect_call_target PROTO ((rtx));
58: rtx machopic_legitimize_pic_address PROTO ((rtx, enum machine_mode, rtx));
59:
60: #endif
61: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.