darwin-protos.h revision 117395
190075Sobrien/* Prototypes.
2117395Skan   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
390075Sobrien
490075SobrienThis file is part of GNU CC.
590075Sobrien
690075SobrienGNU CC is free software; you can redistribute it and/or modify
790075Sobrienit under the terms of the GNU General Public License as published by
890075Sobrienthe Free Software Foundation; either version 2, or (at your option)
990075Sobrienany later version.
1090075Sobrien
1190075SobrienGNU CC is distributed in the hope that it will be useful,
1290075Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of
1390075SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1490075SobrienGNU General Public License for more details.
1590075Sobrien
1690075SobrienYou should have received a copy of the GNU General Public License
1790075Sobrienalong with GNU CC; see the file COPYING.  If not, write to
1890075Sobrienthe Free Software Foundation, 59 Temple Place - Suite 330,
1990075SobrienBoston, MA 02111-1307, USA.  */
2090075Sobrien
2190075Sobrienextern int name_needs_quotes PARAMS ((const char *));
2290075Sobrien
2390075Sobrienextern void machopic_validate_stub_or_non_lazy_ptr PARAMS ((const char *, int));
2490075Sobrien
25117395Skanextern const char *machopic_function_base_name PARAMS ((void));
26117395Skanextern const char *machopic_non_lazy_ptr_name PARAMS ((const char*));
27117395Skanextern const char *machopic_stub_name PARAMS ((const char*));
2890075Sobrien
2990075Sobrienextern void machopic_picsymbol_stub_section PARAMS ((void));
3090075Sobrienextern void machopic_symbol_stub_section PARAMS ((void));
3190075Sobrienextern void machopic_lazy_symbol_ptr_section PARAMS ((void));
3290075Sobrienextern void machopic_nl_symbol_ptr_section PARAMS ((void));
3390075Sobrien
3490075Sobrienextern void constructor_section PARAMS ((void));
3590075Sobrienextern void destructor_section PARAMS ((void));
3690075Sobrienextern void mod_init_section PARAMS ((void));
3790075Sobrienextern void mod_term_section PARAMS ((void));
3890075Sobrien
3990075Sobrien#ifdef RTX_CODE
4090075Sobrien
4190075Sobrienextern int machopic_operand_p PARAMS ((rtx));
4290075Sobrienextern enum machopic_addr_class machopic_classify_name PARAMS ((const char*));
4390075Sobrien
4490075Sobrienextern rtx machopic_indirect_data_reference PARAMS ((rtx, rtx));
4590075Sobrienextern rtx machopic_indirect_call_target PARAMS ((rtx));
4690075Sobrienextern rtx machopic_legitimize_pic_address PARAMS ((rtx, enum machine_mode, rtx));
4790075Sobrien
4890075Sobrienextern void machopic_asm_out_constructor PARAMS ((rtx, int));
4990075Sobrienextern void machopic_asm_out_destructor PARAMS ((rtx, int));
5090075Sobrien#endif /* RTX_CODE */
5190075Sobrien
5290075Sobrien#ifdef TREE_CODE
5390075Sobrien
5490075Sobrienextern enum machopic_addr_class machopic_classify_ident PARAMS ((tree));
5590075Sobrienextern void machopic_define_ident PARAMS ((tree));
5690075Sobrienextern void machopic_define_name PARAMS ((const char*));
5790075Sobrienextern int machopic_name_defined_p PARAMS ((const char*));
5890075Sobrienextern int machopic_ident_defined_p PARAMS ((tree));
59117395Skanextern void darwin_encode_section_info PARAMS ((tree, int));
60117395Skanextern const char *darwin_strip_name_encoding PARAMS ((const char *));
6190075Sobrien
6290075Sobrien#endif /* TREE_CODE */
6390075Sobrien
6490075Sobrienextern void machopic_finish PARAMS ((FILE *));
6590075Sobrien
6690075Sobrienextern void machopic_output_possible_stub_label PARAMS ((FILE *, const char*));
6790075Sobrien
6890075Sobrienextern void darwin_exception_section PARAMS ((void));
6990075Sobrienextern void darwin_eh_frame_section PARAMS ((void));
70117395Skanextern void machopic_select_section PARAMS ((tree, int,
71117395Skan					     unsigned HOST_WIDE_INT));
72117395Skanextern void machopic_select_rtx_section PARAMS ((enum machine_mode, rtx,
73117395Skan						 unsigned HOST_WIDE_INT));
7490075Sobrien
7590075Sobrien#ifdef GCC_C_PRAGMA_H
7690075Sobrienextern void darwin_pragma_ignore PARAMS ((cpp_reader *));
7790075Sobrienextern void darwin_pragma_options PARAMS ((cpp_reader *));
7890075Sobrienextern void darwin_pragma_unused PARAMS ((cpp_reader *));
7990075Sobrien#endif
80117395Skan
81117395Skan/* Expanded by EXTRA_SECTION_FUNCTIONS into varasm.o.  */
82117395Skanextern void const_section PARAMS ((void));
83117395Skanextern void const_data_section PARAMS ((void));
84117395Skanextern void cstring_section PARAMS ((void));
85117395Skanextern void literal4_section PARAMS ((void));
86117395Skanextern void literal8_section PARAMS ((void));
87117395Skanextern void constructor_section PARAMS ((void));
88117395Skanextern void mod_init_section PARAMS ((void));
89117395Skanextern void mod_term_section PARAMS ((void));
90117395Skanextern void destructor_section PARAMS ((void));
91117395Skanextern void objc_class_section PARAMS ((void));
92117395Skanextern void objc_meta_class_section PARAMS ((void));
93117395Skanextern void objc_category_section PARAMS ((void));
94117395Skanextern void objc_class_vars_section PARAMS ((void));
95117395Skanextern void objc_instance_vars_section PARAMS ((void));
96117395Skanextern void objc_cls_meth_section PARAMS ((void));
97117395Skanextern void objc_inst_meth_section PARAMS ((void));
98117395Skanextern void objc_cat_cls_meth_section PARAMS ((void));
99117395Skanextern void objc_cat_inst_meth_section PARAMS ((void));
100117395Skanextern void objc_selector_refs_section PARAMS ((void));
101117395Skanextern void objc_selector_fixup_section PARAMS ((void));
102117395Skanextern void objc_symbols_section PARAMS ((void));
103117395Skanextern void objc_module_info_section PARAMS ((void));
104117395Skanextern void objc_protocol_section PARAMS ((void));
105117395Skanextern void objc_string_object_section PARAMS ((void));
106117395Skanextern void objc_constant_string_object_section PARAMS ((void));
107117395Skanextern void objc_class_names_section PARAMS ((void));
108117395Skanextern void objc_meth_var_names_section PARAMS ((void));
109117395Skanextern void objc_meth_var_types_section PARAMS ((void));
110117395Skanextern void objc_cls_refs_section PARAMS ((void));
111117395Skanextern void machopic_lazy_symbol_ptr_section PARAMS ((void));
112117395Skanextern void machopic_nl_symbol_ptr_section PARAMS ((void));
113117395Skanextern void machopic_symbol_stub_section PARAMS ((void));
114117395Skanextern void machopic_picsymbol_stub_section PARAMS ((void));
115117395Skanextern void machopic_output_stub PARAMS ((FILE *, const char *, const char *));
116117395Skanextern void darwin_exception_section PARAMS ((void));
117117395Skanextern void darwin_eh_frame_section PARAMS ((void));
118117395Skanextern void darwin_globalize_label PARAMS ((FILE *, const char *));
119117395Skanextern void darwin_asm_output_dwarf_delta PARAMS ((FILE *, int, const char *, const char *));
120