/* RTL specific diagnostic subroutines for GCC
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
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)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
GNU General Public License 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/>. */
#include "config.h"
#undef FLOAT /* This is for hpux. They should change hpux. */
#include "intl.h"
#include "diagnostic.h"
-static location_t location_for_asm (rtx);
-static void diagnostic_for_asm (rtx, const char *, va_list *, diagnostic_t);
+static location_t location_for_asm (const_rtx);
+static void diagnostic_for_asm (const_rtx, const char *, va_list *, diagnostic_t) ATTRIBUTE_GCC_DIAG(2,0);
/* Figure the location of the given INSN. */
static location_t
-location_for_asm (rtx insn)
+location_for_asm (const_rtx insn)
{
rtx body = PATTERN (insn);
rtx asmop;
asmop = NULL;
if (asmop)
-#ifdef USE_MAPPED_LOCATION
loc = ASM_OPERANDS_SOURCE_LOCATION (asmop);
-#else
- {
- loc.file = ASM_OPERANDS_SOURCE_FILE (asmop);
- loc.line = ASM_OPERANDS_SOURCE_LINE (asmop);
- }
-#endif
else
loc = input_location;
return loc;
}
-/* Report a diagnostic MESSAGE (an errror or a WARNING) at the line number
+/* Report a diagnostic MESSAGE (an error or a WARNING) at the line number
of the insn INSN. This is used only when INSN is an `asm' with operands,
and each ASM_OPERANDS records its own source file and line. */
static void
-diagnostic_for_asm (rtx insn, const char *msg, va_list *args_ptr,
+diagnostic_for_asm (const_rtx insn, const char *msg, va_list *args_ptr,
diagnostic_t kind)
{
diagnostic_info diagnostic;
}
void
-error_for_asm (rtx insn, const char *gmsgid, ...)
+error_for_asm (const_rtx insn, const char *gmsgid, ...)
{
va_list ap;
}
void
-warning_for_asm (rtx insn, const char *gmsgid, ...)
+warning_for_asm (const_rtx insn, const char *gmsgid, ...)
{
va_list ap;
}
void
-_fatal_insn (const char *msgid, rtx insn, const char *file, int line,
+_fatal_insn (const char *msgid, const_rtx insn, const char *file, int line,
const char *function)
{
error ("%s", _(msgid));
}
void
-_fatal_insn_not_found (rtx insn, const char *file, int line,
+_fatal_insn_not_found (const_rtx insn, const char *file, int line,
const char *function)
{
if (INSN_CODE (insn) < 0)