darwin-protos.h revision 132718
1/* Prototypes. 2 Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. 3 4This file is part of GCC. 5 6GCC 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 11GCC 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 GCC; 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 (const char *); 22 23extern void machopic_validate_stub_or_non_lazy_ptr (const char *, int); 24 25extern const char *machopic_function_base_name (void); 26extern void machopic_output_function_base_name (FILE *); 27extern const char *machopic_stub_name (const char*); 28 29extern void machopic_picsymbol_stub_section (void); 30extern void machopic_picsymbol_stub1_section (void); 31extern void machopic_symbol_stub_section (void); 32extern void machopic_symbol_stub1_section (void); 33extern void machopic_lazy_symbol_ptr_section (void); 34extern void machopic_nl_symbol_ptr_section (void); 35 36extern void constructor_section (void); 37extern void destructor_section (void); 38extern void mod_init_section (void); 39extern void mod_term_section (void); 40 41#ifdef RTX_CODE 42 43extern int machopic_operand_p (rtx); 44extern enum machopic_addr_class machopic_classify_name (const char*); 45 46extern rtx machopic_indirect_data_reference (rtx, rtx); 47extern rtx machopic_indirect_call_target (rtx); 48extern rtx machopic_legitimize_pic_address (rtx, enum machine_mode, rtx); 49 50extern void machopic_asm_out_constructor (rtx, int); 51extern void machopic_asm_out_destructor (rtx, int); 52#endif /* RTX_CODE */ 53 54#ifdef TREE_CODE 55 56extern enum machopic_addr_class machopic_classify_ident (tree); 57extern void machopic_define_ident (tree); 58extern void machopic_define_name (const char*); 59extern int machopic_name_defined_p (const char*); 60extern int machopic_ident_defined_p (tree); 61extern void darwin_encode_section_info (tree, rtx, int); 62extern const char *darwin_strip_name_encoding (const char *); 63 64#endif /* TREE_CODE */ 65 66extern void machopic_finish (FILE *); 67 68extern void machopic_output_possible_stub_label (FILE *, const char*); 69 70extern void darwin_exception_section (void); 71extern void darwin_eh_frame_section (void); 72extern void machopic_select_section (tree, int, unsigned HOST_WIDE_INT); 73extern void machopic_select_rtx_section (enum machine_mode, rtx, 74 unsigned HOST_WIDE_INT); 75 76extern void darwin_pragma_ignore (struct cpp_reader *); 77extern void darwin_pragma_options (struct cpp_reader *); 78extern void darwin_pragma_unused (struct cpp_reader *); 79 80extern void darwin_file_end (void); 81 82/* Expanded by EXTRA_SECTION_FUNCTIONS into varasm.o. */ 83extern void const_section (void); 84extern void const_data_section (void); 85extern void cstring_section (void); 86extern void literal4_section (void); 87extern void literal8_section (void); 88extern void constructor_section (void); 89extern void mod_init_section (void); 90extern void mod_term_section (void); 91extern void destructor_section (void); 92extern void objc_class_section (void); 93extern void objc_meta_class_section (void); 94extern void objc_category_section (void); 95extern void objc_class_vars_section (void); 96extern void objc_instance_vars_section (void); 97extern void objc_cls_meth_section (void); 98extern void objc_inst_meth_section (void); 99extern void objc_cat_cls_meth_section (void); 100extern void objc_cat_inst_meth_section (void); 101extern void objc_selector_refs_section (void); 102extern void objc_selector_fixup_section (void); 103extern void objc_symbols_section (void); 104extern void objc_module_info_section (void); 105extern void objc_image_info_section (void); 106extern void objc_protocol_section (void); 107extern void objc_string_object_section (void); 108extern void objc_constant_string_object_section (void); 109extern void objc_class_names_section (void); 110extern void objc_meth_var_names_section (void); 111extern void objc_meth_var_types_section (void); 112extern void objc_cls_refs_section (void); 113extern void machopic_lazy_symbol_ptr_section (void); 114extern void machopic_nl_symbol_ptr_section (void); 115extern void machopic_symbol_stub_section (void); 116extern void machopic_picsymbol_stub_section (void); 117extern void machopic_output_stub (FILE *, const char *, const char *); 118extern void darwin_exception_section (void); 119extern void darwin_eh_frame_section (void); 120extern void darwin_globalize_label (FILE *, const char *); 121extern void darwin_assemble_visibility (tree, int); 122extern void darwin_asm_output_dwarf_delta (FILE *, int, const char *, 123 const char *); 124