/* Dwarf2 assembler output helper routines.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2007, 2008, 2010
+ Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
+Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
for more details.
You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
-/* ??? Format checking yields "null format string" warnings, which is
- the way these routines are signaled that there is no associated
- debug information. So the attributes are commented out. */
+extern void dw2_assemble_integer (int, rtx);
-extern void dw2_assemble_integer PARAMS ((int, rtx));
+extern void dw2_asm_output_data_raw (int, unsigned HOST_WIDE_INT);
-extern void dw2_asm_output_data PARAMS ((int, unsigned HOST_WIDE_INT,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_delta PARAMS ((int, const char *,
- const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_4 */;
+extern void dw2_asm_output_delta (int, const char *, const char *,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_4;
-extern void dw2_asm_output_offset PARAMS ((int, const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_vms_delta (int, const char *, const char *,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_4;
-extern void dw2_asm_output_pcrel PARAMS ((int, const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_offset (int, const char *, section *,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_4;
-extern void dw2_asm_output_addr PARAMS ((int, const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_addr (int, const char *, const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_addr_rtx PARAMS ((int, rtx,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_encoded_addr_rtx PARAMS ((int, rtx,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_encoded_addr_rtx (int, rtx, bool,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_4;
-extern void dw2_asm_output_nstring PARAMS ((const char *, size_t,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_nstring (const char *, size_t,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_data_uleb128 PARAMS ((unsigned HOST_WIDE_INT,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_2 */;
+extern void dw2_asm_output_data_uleb128_raw (unsigned HOST_WIDE_INT);
-extern void dw2_asm_output_data_sleb128 PARAMS ((HOST_WIDE_INT,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_2 */;
+extern void dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_2;
-extern void dw2_asm_output_delta_uleb128 PARAMS ((const char *, const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_data_sleb128_raw (HOST_WIDE_INT);
-extern void dw2_asm_output_delta_sleb128 PARAMS ((const char *, const char *,
- const char *, ...))
- /* ATTRIBUTE_PRINTF_3 */;
+extern void dw2_asm_output_data_sleb128 (HOST_WIDE_INT,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_2;
-extern int size_of_uleb128 PARAMS ((unsigned HOST_WIDE_INT));
-extern int size_of_sleb128 PARAMS ((HOST_WIDE_INT));
-extern int size_of_encoded_value PARAMS ((int));
-extern const char *eh_data_format_name PARAMS ((int));
+extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_output_indirect_constants PARAMS ((void));
+extern int size_of_uleb128 (unsigned HOST_WIDE_INT);
+extern int size_of_sleb128 (HOST_WIDE_INT);
+extern int size_of_encoded_value (int);
+extern const char *eh_data_format_name (int);
+
+extern rtx dw2_force_const_mem (rtx, bool);
+extern void dw2_output_indirect_constants (void);
+
+/* These are currently unused. */
+
+#if 0
+extern void dw2_asm_output_pcrel (int, const char *, const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
+
+extern void dw2_asm_output_delta_sleb128 (const char *, const char *,
+ const char *, ...)
+ ATTRIBUTE_NULL_PRINTF_3;
+#endif