darwin-protos.h revision 117395
1/* Prototypes.
2   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
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
17along with GNU CC; see the file COPYING.  If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA.  */
20
21extern int name_needs_quotes PARAMS ((const char *));
22
23extern void machopic_validate_stub_or_non_lazy_ptr PARAMS ((const char *, int));
24
25extern const char *machopic_function_base_name PARAMS ((void));
26extern const char *machopic_non_lazy_ptr_name PARAMS ((const char*));
27extern const char *machopic_stub_name PARAMS ((const char*));
28
29extern void machopic_picsymbol_stub_section PARAMS ((void));
30extern void machopic_symbol_stub_section PARAMS ((void));
31extern void machopic_lazy_symbol_ptr_section PARAMS ((void));
32extern void machopic_nl_symbol_ptr_section PARAMS ((void));
33
34extern void constructor_section PARAMS ((void));
35extern void destructor_section PARAMS ((void));
36extern void mod_init_section PARAMS ((void));
37extern void mod_term_section PARAMS ((void));
38
39#ifdef RTX_CODE
40
41extern int machopic_operand_p PARAMS ((rtx));
42extern enum machopic_addr_class machopic_classify_name PARAMS ((const char*));
43
44extern rtx machopic_indirect_data_reference PARAMS ((rtx, rtx));
45extern rtx machopic_indirect_call_target PARAMS ((rtx));
46extern rtx machopic_legitimize_pic_address PARAMS ((rtx, enum machine_mode, rtx));
47
48extern void machopic_asm_out_constructor PARAMS ((rtx, int));
49extern void machopic_asm_out_destructor PARAMS ((rtx, int));
50#endif /* RTX_CODE */
51
52#ifdef TREE_CODE
53
54extern enum machopic_addr_class machopic_classify_ident PARAMS ((tree));
55extern void machopic_define_ident PARAMS ((tree));
56extern void machopic_define_name PARAMS ((const char*));
57extern int machopic_name_defined_p PARAMS ((const char*));
58extern int machopic_ident_defined_p PARAMS ((tree));
59extern void darwin_encode_section_info PARAMS ((tree, int));
60extern const char *darwin_strip_name_encoding PARAMS ((const char *));
61
62#endif /* TREE_CODE */
63
64extern void machopic_finish PARAMS ((FILE *));
65
66extern void machopic_output_possible_stub_label PARAMS ((FILE *, const char*));
67
68extern void darwin_exception_section PARAMS ((void));
69extern void darwin_eh_frame_section PARAMS ((void));
70extern void machopic_select_section PARAMS ((tree, int,
71					     unsigned HOST_WIDE_INT));
72extern void machopic_select_rtx_section PARAMS ((enum machine_mode, rtx,
73						 unsigned HOST_WIDE_INT));
74
75#ifdef GCC_C_PRAGMA_H
76extern void darwin_pragma_ignore PARAMS ((cpp_reader *));
77extern void darwin_pragma_options PARAMS ((cpp_reader *));
78extern void darwin_pragma_unused PARAMS ((cpp_reader *));
79#endif
80
81/* Expanded by EXTRA_SECTION_FUNCTIONS into varasm.o.  */
82extern void const_section PARAMS ((void));
83extern void const_data_section PARAMS ((void));
84extern void cstring_section PARAMS ((void));
85extern void literal4_section PARAMS ((void));
86extern void literal8_section PARAMS ((void));
87extern void constructor_section PARAMS ((void));
88extern void mod_init_section PARAMS ((void));
89extern void mod_term_section PARAMS ((void));
90extern void destructor_section PARAMS ((void));
91extern void objc_class_section PARAMS ((void));
92extern void objc_meta_class_section PARAMS ((void));
93extern void objc_category_section PARAMS ((void));
94extern void objc_class_vars_section PARAMS ((void));
95extern void objc_instance_vars_section PARAMS ((void));
96extern void objc_cls_meth_section PARAMS ((void));
97extern void objc_inst_meth_section PARAMS ((void));
98extern void objc_cat_cls_meth_section PARAMS ((void));
99extern void objc_cat_inst_meth_section PARAMS ((void));
100extern void objc_selector_refs_section PARAMS ((void));
101extern void objc_selector_fixup_section PARAMS ((void));
102extern void objc_symbols_section PARAMS ((void));
103extern void objc_module_info_section PARAMS ((void));
104extern void objc_protocol_section PARAMS ((void));
105extern void objc_string_object_section PARAMS ((void));
106extern void objc_constant_string_object_section PARAMS ((void));
107extern void objc_class_names_section PARAMS ((void));
108extern void objc_meth_var_names_section PARAMS ((void));
109extern void objc_meth_var_types_section PARAMS ((void));
110extern void objc_cls_refs_section PARAMS ((void));
111extern void machopic_lazy_symbol_ptr_section PARAMS ((void));
112extern void machopic_nl_symbol_ptr_section PARAMS ((void));
113extern void machopic_symbol_stub_section PARAMS ((void));
114extern void machopic_picsymbol_stub_section PARAMS ((void));
115extern void machopic_output_stub PARAMS ((FILE *, const char *, const char *));
116extern void darwin_exception_section PARAMS ((void));
117extern void darwin_eh_frame_section PARAMS ((void));
118extern void darwin_globalize_label PARAMS ((FILE *, const char *));
119extern void darwin_asm_output_dwarf_delta PARAMS ((FILE *, int, const char *, const char *));
120