X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=diagnostic.h;h=cdcd6df56563c709a67bb8930a092242f2f03c0b;hb=refs%2Fheads%2Falias;hp=820c7194a0b88549274f75018245f11f1091602b;hpb=5c804a26fbf22e58afedba1551d31f63d81d4d84;p=cparser diff --git a/diagnostic.h b/diagnostic.h index 820c719..cdcd6df 100644 --- a/diagnostic.h +++ b/diagnostic.h @@ -1,27 +1,13 @@ /* * This file is part of cparser. - * Copyright (C) 2007-2008 Matthias Braun - * - * This program 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 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. + * Copyright (C) 2012 Matthias Braun */ #ifndef DIAGNOSTIC_H #define DIAGNOSTIC_H #include #include "token_t.h" +#include "warning.h" /* define a NORETURN attribute */ #ifndef NORETURN @@ -41,16 +27,30 @@ # endif /* ifndef NORETURN */ #endif /* ifndef NORETURN */ +/** + * Issue a diagnostic message. + * Format types: + * %E expression_t const* + * %K token_t const* + * %k token_kind_t + * %#k va_list*, char const* + * %N entity_t const* + * %#N entity_t const* + * %P position_t const* + * %Q unsigned (qualifier) + * %S string_t const* + * %T type_t const* + * %#T type_t const*, symbol_t const* + * %Y symbol_t const* + */ void diagnosticf(const char *fmt, ...); -void errorf(source_position_t pos, const char *fmt, ...); -void warningf(source_position_t pos, const char *fmt, ...); -NORETURN internal_errorf(source_position_t pos, const char *fmt, ...); +void errorf(const position_t *pos, const char *fmt, ...); +void warningf(warning_t, const position_t *pos, const char *fmt, ...); +NORETURN internal_errorf(const position_t *pos, const char *fmt, ...); -extern unsigned diagnostic_count; extern unsigned error_count; extern unsigned warning_count; - -/* true if warnings should be inhibited */ -extern bool inhibit_all_warnings; +extern bool show_column; /**< Show column in diagnostic messages */ +extern bool diagnostics_show_option; /**< Show the switch, which controls a warning. */ #endif