1  /* Dwarf2 assembler output helper routines.
       2     Copyright (C) 2001-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify it under
       7  the terms of the GNU General Public License as published by the Free
       8  Software Foundation; either version 3, or (at your option) any later
       9  version.
      10  
      11  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef GCC_DWARF2ASM_H
      21  #define GCC_DWARF2ASM_H
      22  
      23  extern void dw2_assemble_integer (int, rtx);
      24  
      25  extern void dw2_asm_output_data_raw (int, unsigned HOST_WIDE_INT);
      26  
      27  extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT,
      28  				 const char *, ...)
      29       ATTRIBUTE_NULL_PRINTF_3;
      30  
      31  extern void dw2_asm_output_delta (int, const char *, const char *,
      32  				  const char *, ...)
      33       ATTRIBUTE_NULL_PRINTF_4;
      34  
      35  extern void dw2_asm_output_vms_delta (int, const char *, const char *,
      36  				      const char *, ...)
      37       ATTRIBUTE_NULL_PRINTF_4;
      38  
      39  extern void dw2_asm_output_offset (int, const char *, section *,
      40  				   const char *, ...)
      41       ATTRIBUTE_NULL_PRINTF_4;
      42  
      43  extern void dw2_asm_output_offset (int, const char *, HOST_WIDE_INT,
      44  				   section *, const char *, ...)
      45       ATTRIBUTE_NULL_PRINTF_5;
      46  
      47  extern void dw2_asm_output_addr (int, const char *, const char *, ...)
      48       ATTRIBUTE_NULL_PRINTF_3;
      49  
      50  extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...)
      51       ATTRIBUTE_NULL_PRINTF_3;
      52  
      53  extern void dw2_asm_output_encoded_addr_rtx (int, rtx, bool,
      54  					     const char *, ...)
      55       ATTRIBUTE_NULL_PRINTF_4;
      56  
      57  extern void dw2_asm_output_nstring (const char *, size_t,
      58  				    const char *, ...)
      59       ATTRIBUTE_NULL_PRINTF_3;
      60  
      61  extern void dw2_asm_output_data_uleb128_raw (unsigned HOST_WIDE_INT);
      62  
      63  extern void dw2_asm_output_data_uleb128	(unsigned HOST_WIDE_INT,
      64  					 const char *, ...)
      65       ATTRIBUTE_NULL_PRINTF_2;
      66  
      67  extern void dw2_asm_output_data_sleb128_raw (HOST_WIDE_INT);
      68  
      69  extern void dw2_asm_output_data_sleb128	(HOST_WIDE_INT,
      70  					 const char *, ...)
      71       ATTRIBUTE_NULL_PRINTF_2;
      72  
      73  extern void dw2_asm_output_symname_uleb128 (const char *,
      74  					    const char *, ...)
      75       ATTRIBUTE_NULL_PRINTF_2;
      76  
      77  extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
      78  					  const char *, ...)
      79       ATTRIBUTE_NULL_PRINTF_3;
      80  
      81  extern int size_of_uleb128 (unsigned HOST_WIDE_INT);
      82  extern int size_of_sleb128 (HOST_WIDE_INT);
      83  extern int size_of_encoded_value (int);
      84  extern const char *eh_data_format_name (int);
      85  
      86  extern rtx dw2_force_const_mem (rtx, bool);
      87  extern void dw2_output_indirect_constants (void);
      88  
      89  /* These are currently unused.  */
      90  
      91  #if 0
      92  extern void dw2_asm_output_pcrel (int, const char *, const char *, ...)
      93       ATTRIBUTE_NULL_PRINTF_3;
      94  
      95  extern void dw2_asm_output_delta_sleb128 (const char *, const char *,
      96  					  const char *, ...)
      97       ATTRIBUTE_NULL_PRINTF_3;
      98  #endif
      99  
     100  #endif /* GCC_DWARF2ASM_H */