2004-05-24 18:50:45 +08:00
|
|
|
# @configure_input@
|
2004-08-25 16:10:02 +08:00
|
|
|
# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2024-01-03 19:19:35 +08:00
|
|
|
# Copyright (C) 2004-2024 Free Software Foundation, Inc.
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
#This file is part of libcpp.
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
#libcpp is free software; you can redistribute it and/or modify
|
|
|
|
#it under the terms of the GNU General Public License as published by
|
2009-04-09 23:00:19 +08:00
|
|
|
#the Free Software Foundation; either version 3, or (at your option)
|
2004-08-25 16:10:02 +08:00
|
|
|
#any later version.
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
#libcpp 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.
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
#You should have received a copy of the GNU General Public License
|
2009-04-09 23:00:19 +08:00
|
|
|
#along with libcpp; see the file COPYING3. If not see
|
|
|
|
#<http://www.gnu.org/licenses/>.
|
2004-06-06 04:58:06 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
@SET_MAKE@
|
2004-05-24 18:50:45 +08:00
|
|
|
|
|
|
|
srcdir = @srcdir@
|
2004-08-25 20:57:05 +08:00
|
|
|
top_builddir = .
|
2004-05-24 18:50:45 +08:00
|
|
|
VPATH = @srcdir@
|
|
|
|
INSTALL = @INSTALL@
|
2020-05-24 05:41:45 +08:00
|
|
|
AR = @AR@
|
2004-05-24 18:50:45 +08:00
|
|
|
ARFLAGS = cru
|
|
|
|
ACLOCAL = @ACLOCAL@
|
|
|
|
AUTOCONF = @AUTOCONF@
|
|
|
|
AUTOHEADER = @AUTOHEADER@
|
2006-05-31 23:34:37 +08:00
|
|
|
CATALOGS = $(patsubst %,po/%,@CATALOGS@)
|
2004-05-24 18:50:45 +08:00
|
|
|
CC = @CC@
|
|
|
|
CFLAGS = @CFLAGS@
|
directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.
2009-07-17 Jerry Quinn <jlquinn@optonline.net>
* directives.c (do_linemarker, do_line): Use CPP_STRING for
ignored enum value.
* files.c (find_file_in_dir): Add cast from void* to char*.
* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
* Makefile.in: (WARN_CFLAGS): Use general and C-specific
warnings.
(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
COMPILER_FLAGS): New.
(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
(COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
instead of ALL_CFLAGS.
* configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
from other warnings. Add -Wc++-compat to C-specific warnings.
Check for --enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
AC_CHECK_HEADERS.
* configure: Rebuild.
* include/cpp-id-data.h: Remove extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.
From-SVN: r149763
2009-07-18 11:22:16 +08:00
|
|
|
WARN_CFLAGS = @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@
|
|
|
|
CXX = @CXX@
|
|
|
|
CXXFLAGS = @CXXFLAGS@
|
|
|
|
WARN_CXXFLAGS = @warn@ @WARN_PEDANTIC@ @WERROR@
|
2004-05-24 18:50:45 +08:00
|
|
|
CPP = @CPP@
|
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
EXEEXT = @EXEEXT@
|
|
|
|
GMSGFMT = @GMSGFMT@
|
|
|
|
INCINTL = @INCINTL@
|
|
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
|
|
|
LIBICONV = @LIBICONV@
|
|
|
|
LIBINTL = @LIBINTL@
|
|
|
|
PACKAGE = @PACKAGE@
|
|
|
|
RANLIB = @RANLIB@
|
|
|
|
SHELL = @SHELL@
|
2004-08-25 16:10:02 +08:00
|
|
|
USED_CATALOGS = @USED_CATALOGS@
|
2004-05-24 18:50:45 +08:00
|
|
|
XGETTEXT = @XGETTEXT@
|
directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.
2009-07-17 Jerry Quinn <jlquinn@optonline.net>
* directives.c (do_linemarker, do_line): Use CPP_STRING for
ignored enum value.
* files.c (find_file_in_dir): Add cast from void* to char*.
* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
* Makefile.in: (WARN_CFLAGS): Use general and C-specific
warnings.
(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
COMPILER_FLAGS): New.
(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
(COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
instead of ALL_CFLAGS.
* configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
from other warnings. Add -Wc++-compat to C-specific warnings.
Check for --enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
AC_CHECK_HEADERS.
* configure: Rebuild.
* include/cpp-id-data.h: Remove extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.
From-SVN: r149763
2009-07-18 11:22:16 +08:00
|
|
|
CCDEPMODE = @CCDEPMODE@
|
|
|
|
CXXDEPMODE = @CXXDEPMODE@
|
2005-06-13 16:26:05 +08:00
|
|
|
DEPDIR = @DEPDIR@
|
2011-11-04 01:17:07 +08:00
|
|
|
NOEXCEPTION_FLAGS = @noexception_flags@
|
2013-10-16 04:33:55 +08:00
|
|
|
PICFLAG = @PICFLAG@
|
2020-05-13 00:17:34 +08:00
|
|
|
CET_HOST_FLAGS = @CET_HOST_FLAGS@
|
2004-08-25 16:10:02 +08:00
|
|
|
|
2008-06-17 01:58:14 +08:00
|
|
|
datarootdir = @datarootdir@
|
2004-05-24 18:50:45 +08:00
|
|
|
datadir = @datadir@
|
2004-08-25 16:10:02 +08:00
|
|
|
exec_prefix = @prefix@
|
2004-05-24 18:50:45 +08:00
|
|
|
libdir = @libdir@
|
|
|
|
localedir = $(datadir)/locale
|
2004-08-25 16:10:02 +08:00
|
|
|
prefix = @prefix@
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
MSGMERGE = msgmerge
|
|
|
|
mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
|
2005-06-13 16:26:05 +08:00
|
|
|
depcomp = $(SHELL) $(srcdir)/../depcomp
|
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
|
|
|
|
-I$(srcdir)/include
|
|
|
|
|
2020-05-13 00:17:34 +08:00
|
|
|
ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) \
|
|
|
|
$(CET_HOST_FLAGS)
|
2011-11-04 01:17:07 +08:00
|
|
|
ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \
|
2020-05-13 00:17:34 +08:00
|
|
|
$(CPPFLAGS) $(PICFLAG) $(CET_HOST_FLAGS)
|
directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.
2009-07-17 Jerry Quinn <jlquinn@optonline.net>
* directives.c (do_linemarker, do_line): Use CPP_STRING for
ignored enum value.
* files.c (find_file_in_dir): Add cast from void* to char*.
* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
* Makefile.in: (WARN_CFLAGS): Use general and C-specific
warnings.
(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
COMPILER_FLAGS): New.
(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
(COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
instead of ALL_CFLAGS.
* configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
from other warnings. Add -Wc++-compat to C-specific warnings.
Check for --enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
AC_CHECK_HEADERS.
* configure: Rebuild.
* include/cpp-id-data.h: Remove extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.
From-SVN: r149763
2009-07-18 11:22:16 +08:00
|
|
|
|
|
|
|
# The name of the compiler to use.
|
|
|
|
COMPILER = $(CXX)
|
|
|
|
COMPILER_FLAGS = $(ALL_CXXFLAGS)
|
|
|
|
DEPMODE = $(CXXDEPMODE)
|
|
|
|
|
2004-09-25 05:39:06 +08:00
|
|
|
|
2020-05-09 02:06:49 +08:00
|
|
|
libcpp_a_OBJS = charset.o directives.o errors.o \
|
2007-07-31 02:29:20 +08:00
|
|
|
expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
|
|
|
|
mkdeps.o pch.o symtab.o traditional.o
|
2004-08-25 16:10:02 +08:00
|
|
|
|
2022-01-14 23:57:02 +08:00
|
|
|
libcpp_a_SOURCES = charset.cc directives.cc errors.cc \
|
|
|
|
expr.cc files.cc identifiers.cc init.cc lex.cc line-map.cc macro.cc \
|
|
|
|
mkdeps.cc pch.cc symtab.cc traditional.cc
|
2004-05-24 18:50:45 +08:00
|
|
|
|
re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is silent)
PR preprocessor/34695
gcc:
* Makefile.in (c-opts.o): Depend on c-tree.h.
* c-common.c: Move down include of diagnostic.h.
(done_lexing, c_cpp_error): New.
* c-common.h (done_lexing): Declare.
* c-decl.c (c_write_global_declarations): Don't check cpp_errors
(parse_in).
* c-opts.c: Include c-tree.h.
(c_common_init_options): Set preprocessor error callback.
(c_common_handle_option): Do not set preprocessor
inhibit_warnings, warnings_are_errors, warn_system_headers,
pedantic_errors or inhibit_warnings flags.
(c_common_post_options): Do not check cpp_errors (parse_in).
(c_common_finish): Do not output dependencies if there were
errors. Do not check return value of cpp_finish.
* c-ppoutput.c (pp_file_change): Set input_location.
* c-tree.h (c_cpp_error): Declare.
* diagnostic.c (diagnostic_set_info_translated): Also initialize
override_column.
(diagnostic_build_prefix): Check override_column.
* diagnostic.h (diagnostic_info): Add override_column field.
(diagnostic_override_column): Define.
gcc/cp:
* cp-tree.h (cp_cpp_error): Remove.
* error.c (cp_cpp_error): Remove.
* parser.c (cp_lexer_new_main): Set done_lexing instead of
client_diagnostic and error callback.
gcc/fortran:
* cpp.c (cb_cpp_error): New.
(gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
Don't check cpp_errors (cpp_in).
(gfc_cpp_init_0): Set cb->error.
gcc/testsuite:
* gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
instead of dg-warning for "previous definition" messages.
* gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
"warnings being treated as errors" message.
* gcc.dg/fltconst-1.c: Use -fshow-column.
libcpp:
* makedepend.c: Remove.
* Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
(all, clean, TAGS_SOURCES, include): Remove makedepend handling.
* directives.c (cpp_errors): Remove.
* errors.c (print_location, _cpp_begin_message, v_message):
Remove.
(cpp_error, cpp_error_with_line): Always use error callback.
(cpp_error, cpp_error_with_line, cpp_errno): Return bool.
* include/cpplib.h (cpp_options): Remove pedantic_errors,
inhibit_warnings, warn_system_headers, inhibit_errors,
warnings_are_errors, client_diagnostic.
(cpp_callbacks): Add extra arguments to error callback; make it
return bool.
(cpp_finish): Return void.
(cpp_destroy): Remove inaccurate comment about return value.
(cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
(CPP_DL_NOTE): Define.
* include/line-map.h (linemap_print_containing_files): Remove.
* init.c (cpp_finish): Do not check for or return number of
errors.
* internal.h (cpp_reader): Remove errors field.
* line-map.c (linemap_print_containing_files): Remove.
* macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
about previous definition. Only emit it if previous diagnostic
was emitted.
From-SVN: r145263
2009-03-30 06:56:07 +08:00
|
|
|
all: libcpp.a $(USED_CATALOGS)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
|
|
|
.SUFFIXES:
|
2022-01-10 18:46:58 +08:00
|
|
|
.SUFFIXES: .cc .gmo .o .obj .po .pox
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
libcpp.a: $(libcpp_a_OBJS)
|
2004-05-24 18:50:45 +08:00
|
|
|
-rm -f libcpp.a
|
2004-08-25 16:10:02 +08:00
|
|
|
$(AR) $(ARFLAGS) libcpp.a $(libcpp_a_OBJS)
|
2004-05-24 18:50:45 +08:00
|
|
|
$(RANLIB) libcpp.a
|
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
# Rules to rebuild the configuration
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
Makefile: $(srcdir)/Makefile.in config.status
|
|
|
|
$(SHELL) ./config.status Makefile
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
config.status: $(srcdir)/configure
|
|
|
|
$(SHELL) ./config.status --recheck
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
$(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4
|
|
|
|
cd $(srcdir) && $(AUTOCONF)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/../config/acx.m4 \
|
gettext-sister.m4: Renamed from gettext.m4
config/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* gettext-sister.m4: Renamed from gettext.m4
* codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4,
inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4,
lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4,
uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources.
gcc/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* aclocal.m4: Update for rename of gettext-sister.m4.
libcpp/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (aclocal.m4): Update dependencies.
* configure.ac (AC_CONFIG_MACRO_DIR): New.
* aclocal.m4, configure: Regenerate.
intl/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* configure.ac (AC_CONFIG_MACRO_DIR): New.
(ACLOCAL, AUTOCONF, AUTOHEADER, MAINT): Substitute.
* Makefile.in: Update with maintainer mode rules.
* README: Update aclocal regeneration instructions.
* aclocal.m4, configure: Regenerate.
From-SVN: r87900
2004-09-23 07:53:59 +08:00
|
|
|
$(srcdir)/../config/gettext-sister.m4 $(srcdir)/../config/iconv.m4 \
|
|
|
|
$(srcdir)/../config/codeset.m4 $(srcdir)/../config/lib-ld.m4 \
|
|
|
|
$(srcdir)/../config/lib-link.m4 $(srcdir)/../config/lib-prefix.m4 \
|
2008-06-18 07:13:35 +08:00
|
|
|
$(srcdir)/../config/override.m4 $(srcdir)/../config/proginstall.m4 \
|
gettext-sister.m4: Renamed from gettext.m4
config/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* gettext-sister.m4: Renamed from gettext.m4
* codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4,
inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4,
lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4,
uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources.
gcc/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* aclocal.m4: Update for rename of gettext-sister.m4.
libcpp/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (aclocal.m4): Update dependencies.
* configure.ac (AC_CONFIG_MACRO_DIR): New.
* aclocal.m4, configure: Regenerate.
intl/
2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
* configure.ac (AC_CONFIG_MACRO_DIR): New.
(ACLOCAL, AUTOCONF, AUTOHEADER, MAINT): Substitute.
* Makefile.in: Update with maintainer mode rules.
* README: Update aclocal regeneration instructions.
* aclocal.m4, configure: Regenerate.
From-SVN: r87900
2004-09-23 07:53:59 +08:00
|
|
|
$(srcdir)/configure.ac
|
2004-08-25 16:10:02 +08:00
|
|
|
cd $(srcdir) && $(ACLOCAL) -I ../config
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
config.h: stamp-h1
|
|
|
|
test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
stamp-h1: $(srcdir)/config.in config.status
|
|
|
|
-rm -f stamp-h1
|
|
|
|
$(SHELL) ./config.status config.h
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2008-02-26 19:41:01 +08:00
|
|
|
$(srcdir)/config.in: @MAINT@ $(srcdir)/configure.ac
|
2004-08-25 16:10:02 +08:00
|
|
|
cd $(srcdir) && $(AUTOHEADER)
|
|
|
|
-rm -f stamp-h1
|
2004-09-25 05:39:06 +08:00
|
|
|
|
|
|
|
# It is not possible to get LOCALEDIR defined in config.h because
|
|
|
|
# the value it needs to be defined to is only determined in the
|
|
|
|
# Makefile. Hence we do this instead.
|
|
|
|
localedir.h: localedir.hs; @true
|
|
|
|
localedir.hs: Makefile
|
|
|
|
echo "#define LOCALEDIR \"$(localedir)\"" > localedir.new
|
|
|
|
$(srcdir)/../move-if-change localedir.new localedir.h
|
|
|
|
echo timestamp > localedir.hs
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
# Installation rules and other phony targets
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
# These rule has to look for .gmo modules in both srcdir and
|
|
|
|
# the cwd, and has to check that we actually have a catalog
|
|
|
|
# for each language, in case they weren't built or included
|
|
|
|
# with the distribution.
|
|
|
|
installdirs:
|
|
|
|
@$(mkinstalldirs) $(DESTDIR)$(datadir); \
|
|
|
|
cats="$(CATALOGS)"; for cat in $$cats; do \
|
|
|
|
lang=`basename $$cat | sed 's/\.gmo$$//'`; \
|
|
|
|
if [ -f $$cat ] || [ -f $(srcdir)/$$cat ]; then \
|
|
|
|
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
|
|
|
$(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
|
|
|
|
fi; \
|
|
|
|
done
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
install-strip install: all installdirs
|
|
|
|
cats="$(CATALOGS)"; for cat in $$cats; do \
|
|
|
|
lang=`basename $$cat | sed 's/\.gmo$$//'`; \
|
|
|
|
if [ -f $$cat ]; then :; \
|
|
|
|
elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
|
|
|
|
else continue; \
|
|
|
|
fi; \
|
|
|
|
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
|
|
|
echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
|
|
|
|
$(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
|
|
|
|
done
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
mostlyclean:
|
|
|
|
-rm -f *.o
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
clean: mostlyclean
|
re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is silent)
PR preprocessor/34695
gcc:
* Makefile.in (c-opts.o): Depend on c-tree.h.
* c-common.c: Move down include of diagnostic.h.
(done_lexing, c_cpp_error): New.
* c-common.h (done_lexing): Declare.
* c-decl.c (c_write_global_declarations): Don't check cpp_errors
(parse_in).
* c-opts.c: Include c-tree.h.
(c_common_init_options): Set preprocessor error callback.
(c_common_handle_option): Do not set preprocessor
inhibit_warnings, warnings_are_errors, warn_system_headers,
pedantic_errors or inhibit_warnings flags.
(c_common_post_options): Do not check cpp_errors (parse_in).
(c_common_finish): Do not output dependencies if there were
errors. Do not check return value of cpp_finish.
* c-ppoutput.c (pp_file_change): Set input_location.
* c-tree.h (c_cpp_error): Declare.
* diagnostic.c (diagnostic_set_info_translated): Also initialize
override_column.
(diagnostic_build_prefix): Check override_column.
* diagnostic.h (diagnostic_info): Add override_column field.
(diagnostic_override_column): Define.
gcc/cp:
* cp-tree.h (cp_cpp_error): Remove.
* error.c (cp_cpp_error): Remove.
* parser.c (cp_lexer_new_main): Set done_lexing instead of
client_diagnostic and error callback.
gcc/fortran:
* cpp.c (cb_cpp_error): New.
(gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
Don't check cpp_errors (cpp_in).
(gfc_cpp_init_0): Set cb->error.
gcc/testsuite:
* gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
instead of dg-warning for "previous definition" messages.
* gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
"warnings being treated as errors" message.
* gcc.dg/fltconst-1.c: Use -fshow-column.
libcpp:
* makedepend.c: Remove.
* Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
(all, clean, TAGS_SOURCES, include): Remove makedepend handling.
* directives.c (cpp_errors): Remove.
* errors.c (print_location, _cpp_begin_message, v_message):
Remove.
(cpp_error, cpp_error_with_line): Always use error callback.
(cpp_error, cpp_error_with_line, cpp_errno): Return bool.
* include/cpplib.h (cpp_options): Remove pedantic_errors,
inhibit_warnings, warn_system_headers, inhibit_errors,
warnings_are_errors, client_diagnostic.
(cpp_callbacks): Add extra arguments to error callback; make it
return bool.
(cpp_finish): Return void.
(cpp_destroy): Remove inaccurate comment about return value.
(cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
(CPP_DL_NOTE): Define.
* include/line-map.h (linemap_print_containing_files): Remove.
* init.c (cpp_finish): Do not check for or return number of
errors.
* internal.h (cpp_reader): Remove errors field.
* line-map.c (linemap_print_containing_files): Remove.
* macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
about previous definition. Only emit it if previous diagnostic
was emitted.
From-SVN: r145263
2009-03-30 06:56:07 +08:00
|
|
|
-rm -rf libcpp.a $(srcdir)/autom4te.cache
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
distclean: clean
|
|
|
|
-rm -f config.h stamp-h1 config.status config.cache config.log \
|
2004-09-25 05:39:06 +08:00
|
|
|
configure.lineno configure.status.lineno Makefile localedir.h \
|
2005-06-13 16:26:05 +08:00
|
|
|
localedir.hs $(DEPDIR)/*.Po
|
|
|
|
-rmdir $(DEPDIR)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
maintainer-clean: distclean
|
|
|
|
@echo "This command is intended for maintainers to use"
|
|
|
|
@echo "it deletes files that may require special tools to rebuild."
|
|
|
|
-rm -f $(srcdir)/configure $(srcdir)/aclocal.m4
|
|
|
|
|
|
|
|
check:
|
|
|
|
installcheck:
|
|
|
|
dvi:
|
2006-10-11 07:48:09 +08:00
|
|
|
pdf:
|
2004-08-25 16:10:02 +08:00
|
|
|
html:
|
|
|
|
info:
|
|
|
|
install-info:
|
2007-03-02 07:56:24 +08:00
|
|
|
install-pdf:
|
2021-10-23 06:24:15 +08:00
|
|
|
install-dvi:
|
2004-05-24 18:50:45 +08:00
|
|
|
install-man:
|
2006-05-24 09:48:20 +08:00
|
|
|
install-html:
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
update-po: $(CATALOGS:.gmo=.pox)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
.PHONY: installdirs install install-strip mostlyclean clean distclean \
|
2006-10-11 07:48:09 +08:00
|
|
|
maintainer-clean check installcheck dvi pdf html info install-info \
|
2021-10-23 06:24:15 +08:00
|
|
|
install-man update-po install-html install-pdf install-dvi
|
2004-05-24 18:50:45 +08:00
|
|
|
|
2005-06-13 16:26:05 +08:00
|
|
|
# Dependency rule.
|
directives.c (do_linemarker, do_line): Use CPP_STRING for ignored enum value.
2009-07-17 Jerry Quinn <jlquinn@optonline.net>
* directives.c (do_linemarker, do_line): Use CPP_STRING for
ignored enum value.
* files.c (find_file_in_dir): Add cast from void* to char*.
* symtab.c (ht_lookup_with_hash): Add cast from void* to char*.
* Makefile.in: (WARN_CFLAGS): Use general and C-specific
warnings.
(CXX, CXXFLAGS, WARN_CXXFLAGS, ALL_CXXFLAGS,
ENABLE_BUILD_WITH_CXX, CCDEPMODE, CXXDEPMODE, COMPILER,
COMPILER_FLAGS): New.
(DEPMODE): Set from CCDEPMODE or CXXDEPMODE.
(COMPILE.base): Use COMPILER instead of CC. Use COMPILER_FLAGS
instead of ALL_CFLAGS.
* configure.ac: Invoke AC_PROG_CXX. Separate C-specific warnings
from other warnings. Add -Wc++-compat to C-specific warnings.
Check for --enable-build-with-cxx. Set and substitute
ENABLE_BUILD_WITH_CXX. Invoke ZW_PROG_COMPILER_DEPENDENCIES
according to ENABLE_BUILD_WITH_CXX. Invoke AC_LANG before
AC_CHECK_HEADERS.
* configure: Rebuild.
* include/cpp-id-data.h: Remove extern "C".
* include/line-map.h: Likewise.
* include/mkdeps.h: Likewise.
* include/symtab.h: Likewise.
* internal.h: Likewise.
From-SVN: r149763
2009-07-18 11:22:16 +08:00
|
|
|
COMPILE.base = $(COMPILER) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(COMPILER_FLAGS) -c
|
2005-06-13 16:26:05 +08:00
|
|
|
ifeq ($(DEPMODE),depmode=gcc3)
|
2008-03-28 21:32:47 +08:00
|
|
|
# Note that we put the dependencies into a .Tpo file, then move them
|
|
|
|
# into place if the compile succeeds. We need this because gcc does
|
|
|
|
# not atomically write the dependency output file.
|
|
|
|
COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
|
|
|
|
POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
2005-06-13 16:26:05 +08:00
|
|
|
else
|
|
|
|
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
|
|
|
$(depcomp) $(COMPILE.base)
|
2008-03-28 21:32:47 +08:00
|
|
|
# depcomp handles atomicity for us, so we don't need a postcompile
|
|
|
|
# step.
|
|
|
|
POSTCOMPILE =
|
2005-06-13 16:26:05 +08:00
|
|
|
endif
|
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
# Implicit rules and I18N
|
2004-06-09 17:07:11 +08:00
|
|
|
|
2022-01-10 18:46:58 +08:00
|
|
|
.cc.o:
|
2005-06-13 16:26:05 +08:00
|
|
|
$(COMPILE) $<
|
2008-03-28 21:32:47 +08:00
|
|
|
$(POSTCOMPILE)
|
2004-05-24 18:50:45 +08:00
|
|
|
|
|
|
|
# N.B. We do not attempt to copy these into $(srcdir).
|
|
|
|
.po.gmo:
|
2009-01-05 18:35:40 +08:00
|
|
|
$(mkinstalldirs) po
|
2004-05-24 18:50:45 +08:00
|
|
|
$(GMSGFMT) --statistics -o $@ $<
|
|
|
|
|
|
|
|
# The new .po has to be gone over by hand, so we deposit it into
|
|
|
|
# build/po with a different extension.
|
|
|
|
# If build/po/$(PACKAGE).pot exists, use it (it was just created),
|
|
|
|
# else use the one in srcdir.
|
|
|
|
.po.pox:
|
2009-01-05 18:35:40 +08:00
|
|
|
$(mkinstalldirs) po
|
2004-05-24 18:50:45 +08:00
|
|
|
$(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
|
|
|
|
then echo po/$(PACKAGE).pot; \
|
|
|
|
else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
|
|
|
|
|
2004-08-25 16:10:02 +08:00
|
|
|
# Rule for regenerating the message template.
|
2004-11-10 05:58:43 +08:00
|
|
|
$(PACKAGE).pot: po/$(PACKAGE).pot
|
2004-08-25 16:10:02 +08:00
|
|
|
po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
|
2009-03-28 14:57:44 +08:00
|
|
|
$(mkinstalldirs) $(srcdir)/po
|
2004-05-24 18:50:45 +08:00
|
|
|
$(XGETTEXT) --default-domain=$(PACKAGE) \
|
2004-11-10 05:58:43 +08:00
|
|
|
--keyword=_ --keyword=N_ \
|
diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index.
* diagnostic.h (diagnostic_override_option_index): New macro to
set a diagnostic's option_index.
* c-tree.h (c_cpp_error): Add warning reason argument.
* opts.c (_warning_as_error_callback): New.
(register_warning_as_error_callback): Store callback for
warnings enabled via enable_warning_as_error.
(enable_warning_as_error): Call callback, minor code tidy.
* opts.h (register_warning_as_error_callback): Declare.
* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
response to -Werror=.
(c_common_init_options): Register warning_as_error_callback in opts.c.
* common.opt: Add -Wno-cpp option.
* c-common.c (struct reason_option_codes_t): Map cpp warning
reason codes to gcc option indexes.
* (c_option_controlling_cpp_error): New function, lookup the gcc
option index for a cpp warning reason code.
* (c_cpp_error): Add warning reason argument, call
c_option_controlling_cpp_error for diagnostic_override_option_index.
* doc/invoke.texi: Document -Wno-cpp.
* cpp.c (cb_cpp_error): Add warning reason argument, set a value
for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
* directives.c (do_diagnostic): Add warning reason argument,
call appropriate error reporting function for code.
(directive_diagnostics): Call specific warning functions with
warning reason where appropriate.
(do_error, do_warning, do_pragma_dependency): Add warning reason
argument to do_diagnostic calls.
* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
_cpp_create_definition): Call specific warning functions with
warning reason where appropriate.
* Makefile.in: Add new diagnostic functions to gettext translations.
* include/cpplib.h (struct cpp_callbacks): Add warning reason code
to error callback.
(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
warning reason codes.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* pch.c (cpp_valid_state): Call specific warning functions with
warning reason where appropriate.
* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
diagnostic handlers.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
specific warning functions with warning reason where appropriate.
* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
warn_about_normalization, lex_identifier_intern, lex_identifier,
_cpp_lex_direct): Ditto.
* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
narrow_str_to_charconst): Ditto.
* gcc.dg/cpp/warn-undef-2.c: New.
* gcc.dg/cpp/warn-traditional-2.c: New.
* gcc.dg/cpp/warn-comments-2.c: New.
* gcc.dg/cpp/warning-directive-1.c: New.
* gcc.dg/cpp/warn-long-long.c: New.
* gcc.dg/cpp/warn-traditional.c: New.
* gcc.dg/cpp/warn-variadic-2.c: New.
* gcc.dg/cpp/warn-undef.c: New.
* gcc.dg/cpp/warn-normalized-1.c: New.
* gcc.dg/cpp/warning-directive-2.c: New.
* gcc.dg/cpp/warn-long-long-2.c: New.
* gcc.dg/cpp/warn-variadic.c: New.
* gcc.dg/cpp/warn-normalized-2.c: New.
* gcc.dg/cpp/warning-directive-3.c: New.
* gcc.dg/cpp/warn-deprecated-2.c: New.
* gcc.dg/cpp/warn-trigraphs-1.c: New.
* gcc.dg/cpp/warn-multichar-2.c: New.
* gcc.dg/cpp/warn-normalized-3.c: New.
* gcc.dg/cpp/warning-directive-4.c: New.
* gcc.dg/cpp/warn-unused-macros.c: New.
* gcc.dg/cpp/warn-trigraphs-2.c: New.
* gcc.dg/cpp/warn-cxx-compat-2.c: New.
* gcc.dg/cpp/warn-cxx-compat.c: New.
* gcc.dg/cpp/warn-redefined.c: New.
* gcc.dg/cpp/warn-trigraphs-3.c: New.
* gcc.dg/cpp/warn-unused-macros-2.c: New.
* gcc.dg/cpp/warn-deprecated.c: New.
* gcc.dg/cpp/warn-trigraphs-4.c: New.
* gcc.dg/cpp/warn-redefined-2.c: New.
* gcc.dg/cpp/warn-comments.c: New.
* gcc.dg/cpp/warn-multichar.c: New.
* g++.dg/cpp/warning-directive-1.C: New.
* g++.dg/cpp/warning-directive-2.C: New.
* g++.dg/cpp/warning-directive-3.C: New.
* g++.dg/cpp/warning-directive-4.C: New.
* gfortran.dg/warning-directive-1.F90: New.
* gfortran.dg/warning-directive-3.F90: New.
* gfortran.dg/warning-directive-2.F90: New.
* gfortran.dg/warning-directive-4.F90: New.
From-SVN: r158079
2010-04-08 01:18:10 +08:00
|
|
|
--keyword=cpp_error:3 \
|
|
|
|
--keyword=cpp_warning:3 \
|
|
|
|
--keyword=cpp_pedwarning:3 \
|
|
|
|
--keyword=cpp_warning_syshdr:3 \
|
2022-02-12 07:22:07 +08:00
|
|
|
--keyword=cpp_warning_at:4 \
|
|
|
|
--keyword=cpp_pedwarning_at:4 \
|
2004-11-10 05:58:43 +08:00
|
|
|
--keyword=cpp_error_with_line:5 \
|
diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index.
* diagnostic.h (diagnostic_override_option_index): New macro to
set a diagnostic's option_index.
* c-tree.h (c_cpp_error): Add warning reason argument.
* opts.c (_warning_as_error_callback): New.
(register_warning_as_error_callback): Store callback for
warnings enabled via enable_warning_as_error.
(enable_warning_as_error): Call callback, minor code tidy.
* opts.h (register_warning_as_error_callback): Declare.
* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
response to -Werror=.
(c_common_init_options): Register warning_as_error_callback in opts.c.
* common.opt: Add -Wno-cpp option.
* c-common.c (struct reason_option_codes_t): Map cpp warning
reason codes to gcc option indexes.
* (c_option_controlling_cpp_error): New function, lookup the gcc
option index for a cpp warning reason code.
* (c_cpp_error): Add warning reason argument, call
c_option_controlling_cpp_error for diagnostic_override_option_index.
* doc/invoke.texi: Document -Wno-cpp.
* cpp.c (cb_cpp_error): Add warning reason argument, set a value
for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
* directives.c (do_diagnostic): Add warning reason argument,
call appropriate error reporting function for code.
(directive_diagnostics): Call specific warning functions with
warning reason where appropriate.
(do_error, do_warning, do_pragma_dependency): Add warning reason
argument to do_diagnostic calls.
* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
_cpp_create_definition): Call specific warning functions with
warning reason where appropriate.
* Makefile.in: Add new diagnostic functions to gettext translations.
* include/cpplib.h (struct cpp_callbacks): Add warning reason code
to error callback.
(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
warning reason codes.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* pch.c (cpp_valid_state): Call specific warning functions with
warning reason where appropriate.
* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
diagnostic handlers.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
specific warning functions with warning reason where appropriate.
* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
warn_about_normalization, lex_identifier_intern, lex_identifier,
_cpp_lex_direct): Ditto.
* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
narrow_str_to_charconst): Ditto.
* gcc.dg/cpp/warn-undef-2.c: New.
* gcc.dg/cpp/warn-traditional-2.c: New.
* gcc.dg/cpp/warn-comments-2.c: New.
* gcc.dg/cpp/warning-directive-1.c: New.
* gcc.dg/cpp/warn-long-long.c: New.
* gcc.dg/cpp/warn-traditional.c: New.
* gcc.dg/cpp/warn-variadic-2.c: New.
* gcc.dg/cpp/warn-undef.c: New.
* gcc.dg/cpp/warn-normalized-1.c: New.
* gcc.dg/cpp/warning-directive-2.c: New.
* gcc.dg/cpp/warn-long-long-2.c: New.
* gcc.dg/cpp/warn-variadic.c: New.
* gcc.dg/cpp/warn-normalized-2.c: New.
* gcc.dg/cpp/warning-directive-3.c: New.
* gcc.dg/cpp/warn-deprecated-2.c: New.
* gcc.dg/cpp/warn-trigraphs-1.c: New.
* gcc.dg/cpp/warn-multichar-2.c: New.
* gcc.dg/cpp/warn-normalized-3.c: New.
* gcc.dg/cpp/warning-directive-4.c: New.
* gcc.dg/cpp/warn-unused-macros.c: New.
* gcc.dg/cpp/warn-trigraphs-2.c: New.
* gcc.dg/cpp/warn-cxx-compat-2.c: New.
* gcc.dg/cpp/warn-cxx-compat.c: New.
* gcc.dg/cpp/warn-redefined.c: New.
* gcc.dg/cpp/warn-trigraphs-3.c: New.
* gcc.dg/cpp/warn-unused-macros-2.c: New.
* gcc.dg/cpp/warn-deprecated.c: New.
* gcc.dg/cpp/warn-trigraphs-4.c: New.
* gcc.dg/cpp/warn-redefined-2.c: New.
* gcc.dg/cpp/warn-comments.c: New.
* gcc.dg/cpp/warn-multichar.c: New.
* g++.dg/cpp/warning-directive-1.C: New.
* g++.dg/cpp/warning-directive-2.C: New.
* g++.dg/cpp/warning-directive-3.C: New.
* g++.dg/cpp/warning-directive-4.C: New.
* gfortran.dg/warning-directive-1.F90: New.
* gfortran.dg/warning-directive-3.F90: New.
* gfortran.dg/warning-directive-2.F90: New.
* gfortran.dg/warning-directive-4.F90: New.
From-SVN: r158079
2010-04-08 01:18:10 +08:00
|
|
|
--keyword=cpp_warning_with_line:5 \
|
|
|
|
--keyword=cpp_pedwarning_with_line:5 \
|
|
|
|
--keyword=cpp_warning_with_line_syshdr:5 \
|
2022-02-12 07:22:07 +08:00
|
|
|
--keyword=cpp_error_at:4 \
|
diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index.
* diagnostic.h (diagnostic_override_option_index): New macro to
set a diagnostic's option_index.
* c-tree.h (c_cpp_error): Add warning reason argument.
* opts.c (_warning_as_error_callback): New.
(register_warning_as_error_callback): Store callback for
warnings enabled via enable_warning_as_error.
(enable_warning_as_error): Call callback, minor code tidy.
* opts.h (register_warning_as_error_callback): Declare.
* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
response to -Werror=.
(c_common_init_options): Register warning_as_error_callback in opts.c.
* common.opt: Add -Wno-cpp option.
* c-common.c (struct reason_option_codes_t): Map cpp warning
reason codes to gcc option indexes.
* (c_option_controlling_cpp_error): New function, lookup the gcc
option index for a cpp warning reason code.
* (c_cpp_error): Add warning reason argument, call
c_option_controlling_cpp_error for diagnostic_override_option_index.
* doc/invoke.texi: Document -Wno-cpp.
* cpp.c (cb_cpp_error): Add warning reason argument, set a value
for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
* directives.c (do_diagnostic): Add warning reason argument,
call appropriate error reporting function for code.
(directive_diagnostics): Call specific warning functions with
warning reason where appropriate.
(do_error, do_warning, do_pragma_dependency): Add warning reason
argument to do_diagnostic calls.
* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
_cpp_create_definition): Call specific warning functions with
warning reason where appropriate.
* Makefile.in: Add new diagnostic functions to gettext translations.
* include/cpplib.h (struct cpp_callbacks): Add warning reason code
to error callback.
(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
warning reason codes.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* pch.c (cpp_valid_state): Call specific warning functions with
warning reason where appropriate.
* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
diagnostic handlers.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
specific warning functions with warning reason where appropriate.
* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
warn_about_normalization, lex_identifier_intern, lex_identifier,
_cpp_lex_direct): Ditto.
* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
narrow_str_to_charconst): Ditto.
* gcc.dg/cpp/warn-undef-2.c: New.
* gcc.dg/cpp/warn-traditional-2.c: New.
* gcc.dg/cpp/warn-comments-2.c: New.
* gcc.dg/cpp/warning-directive-1.c: New.
* gcc.dg/cpp/warn-long-long.c: New.
* gcc.dg/cpp/warn-traditional.c: New.
* gcc.dg/cpp/warn-variadic-2.c: New.
* gcc.dg/cpp/warn-undef.c: New.
* gcc.dg/cpp/warn-normalized-1.c: New.
* gcc.dg/cpp/warning-directive-2.c: New.
* gcc.dg/cpp/warn-long-long-2.c: New.
* gcc.dg/cpp/warn-variadic.c: New.
* gcc.dg/cpp/warn-normalized-2.c: New.
* gcc.dg/cpp/warning-directive-3.c: New.
* gcc.dg/cpp/warn-deprecated-2.c: New.
* gcc.dg/cpp/warn-trigraphs-1.c: New.
* gcc.dg/cpp/warn-multichar-2.c: New.
* gcc.dg/cpp/warn-normalized-3.c: New.
* gcc.dg/cpp/warning-directive-4.c: New.
* gcc.dg/cpp/warn-unused-macros.c: New.
* gcc.dg/cpp/warn-trigraphs-2.c: New.
* gcc.dg/cpp/warn-cxx-compat-2.c: New.
* gcc.dg/cpp/warn-cxx-compat.c: New.
* gcc.dg/cpp/warn-redefined.c: New.
* gcc.dg/cpp/warn-trigraphs-3.c: New.
* gcc.dg/cpp/warn-unused-macros-2.c: New.
* gcc.dg/cpp/warn-deprecated.c: New.
* gcc.dg/cpp/warn-trigraphs-4.c: New.
* gcc.dg/cpp/warn-redefined-2.c: New.
* gcc.dg/cpp/warn-comments.c: New.
* gcc.dg/cpp/warn-multichar.c: New.
* g++.dg/cpp/warning-directive-1.C: New.
* g++.dg/cpp/warning-directive-2.C: New.
* g++.dg/cpp/warning-directive-3.C: New.
* g++.dg/cpp/warning-directive-4.C: New.
* gfortran.dg/warning-directive-1.F90: New.
* gfortran.dg/warning-directive-3.F90: New.
* gfortran.dg/warning-directive-2.F90: New.
* gfortran.dg/warning-directive-4.F90: New.
From-SVN: r158079
2010-04-08 01:18:10 +08:00
|
|
|
--keyword=cpp_errno:3 \
|
2004-11-10 05:58:43 +08:00
|
|
|
--keyword=SYNTAX_ERROR --keyword=SYNTAX_ERROR2 \
|
2004-05-24 18:50:45 +08:00
|
|
|
--copyright-holder="Free Software Foundation, Inc." \
|
2017-02-09 16:55:46 +08:00
|
|
|
--msgid-bugs-address="https://gcc.gnu.org/bugs/" \
|
libcpp, genmatch: Use gcc_diag instead of printf for libcpp diagnostics
When working on #embed support, or -Wheader-guard or other recent libcpp
changes, I've been annoyed by the libcpp diagnostics being visually
different from normal gcc diagnostics, especially in the area of quoting
stuff in the diagnostic messages.
Normall GCC diagnostics is gcc_diag/gcc_tdiag, one can use
%</%>, %qs etc. in there, while libcpp diagnostics was marked as printf
and in libcpp we've been very creative with quoting stuff, either
no quotes at all, or "something" quoting, or 'something' quoting, or
`something' quoting (but in none of the cases it used colors consistently
with the rest of the compiler).
Now, libcpp diagnostics is always emitted using a callback,
pfile->cb.diagnostic. On the gcc/ side, this callback is initialized with
genmatch.cc: cb->diagnostic = diagnostic_cb;
c-family/c-opts.cc: cb->diagnostic = c_cpp_diagnostic;
fortran/cpp.cc: cb->diagnostic = cb_cpp_diagnostic;
where the latter two just use diagnostic_report_diagnostic, so actually
support all the gcc_diag stuff, only the genmatch.cc case didn't.
So, the following patch changes genmatch.cc to use pp_format* instead
of vfprintf so that it supports the gcc_diag formatting (pretty-print.o
unfortunately has various dependencies, so had to link genmatch with
libcommon.a libbacktrace.a and tweak Makefile.in so that there are no
circular dependencies) and marks the libcpp diagnostic routines as
gcc_diag rather than printf. That change resulted in hundreds of
-Wformat-diag new warnings (most of them useful and resulting IMHO in
better diagnostics), so the rest of the patch is changing the format
strings to make -Wformat-diag happy and adjusting the testsuite for
the differences in how is the diagnostic reformatted.
Dunno if some out of GCC tree projects use libcpp, that case would
make it harder because one couldn't use vfprintf in the diagnostic
callback anymore, but there is always David's libdiagnostic which could
be used for that purpose IMHO.
2024-10-12 Jakub Jelinek <jakub@redhat.com>
libcpp/
* include/cpplib.h (ATTRIBUTE_CPP_PPDIAG): Define.
(struct cpp_callbacks): Use ATTRIBUTE_CPP_PPDIAG instead of
ATTRIBUTE_FPTR_PRINTF on diagnostic callback.
(cpp_error, cpp_warning, cpp_pedwarning, cpp_warning_syshdr): Use
ATTRIBUTE_CPP_PPDIAG (3, 4) instead of ATTRIBUTE_PRINTF_3.
(cpp_warning_at, cpp_pedwarning_at): Use ATTRIBUTE_CPP_PPDIAG (4, 5)
instead of ATTRIBUTE_PRINTF_4.
(cpp_error_with_line, cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): Use ATTRIBUTE_CPP_PPDIAG (5, 6)
instead of ATTRIBUTE_PRINTF_5.
(cpp_error_at): Use ATTRIBUTE_CPP_PPDIAG (4, 5) instead of
ATTRIBUTE_PRINTF_4.
* Makefile.in (po/$(PACKAGE).pot): Use --language=GCC-source rather
than --language=c.
* errors.cc (cpp_diagnostic_at, cpp_diagnostic,
cpp_diagnostic_with_line): Use ATTRIBUTE_CPP_PPDIAG instead of
-ATTRIBUTE_FPTR_PRINTF.
* charset.cc (cpp_host_to_exec_charset, _cpp_valid_ucn, convert_hex,
convert_oct, convert_escape): Fix up -Wformat-diag warnings.
(cpp_interpret_string_ranges, count_source_chars): Use
ATTRIBUTE_CPP_PPDIAG instead of ATTRIBUTE_FPTR_PRINTF.
(narrow_str_to_charconst): Fix up -Wformat-diag warnings.
* directives.cc (check_eol_1, directive_diagnostics, lex_macro_node,
do_undef, glue_header_name, parse_include, do_include_common,
do_include_next, _cpp_parse_embed_params, do_embed, read_flag,
do_line, do_linemarker, register_pragma_1, do_pragma_once,
do_pragma_push_macro, do_pragma_pop_macro, do_pragma_poison,
do_pragma_system_header, do_pragma_warning_or_error, _cpp_do__Pragma,
do_else, do_elif, do_endif, parse_answer, do_assert,
cpp_define_unused): Likewise.
* expr.cc (cpp_classify_number, parse_defined, eval_token,
_cpp_parse_expr, reduce, check_promotion): Likewise.
* files.cc (_cpp_find_file, finish_base64_embed,
_cpp_pop_file_buffer): Likewise.
* init.cc (sanity_checks): Likewise.
* lex.cc (_cpp_process_line_notes, maybe_warn_bidi_on_char,
_cpp_warn_invalid_utf8, _cpp_skip_block_comment,
warn_about_normalization, forms_identifier_p, maybe_va_opt_error,
identifier_diagnostics_on_lex, cpp_maybe_module_directive): Likewise.
* macro.cc (class vaopt_state, builtin_has_include_1,
builtin_has_include, builtin_has_embed, _cpp_warn_if_unused_macro,
_cpp_builtin_macro_text, builtin_macro, stringify_arg,
_cpp_arguments_ok, collect_args, enter_macro_context,
_cpp_save_parameter, parse_params, create_iso_definition,
_cpp_create_definition, check_trad_stringification): Likewise.
* pch.cc (cpp_valid_state): Likewise.
* traditional.cc (_cpp_scan_out_logical_line, recursive_macro):
Likewise.
gcc/
* Makefile.in (generated_files): Remove {gimple,generic}-match*.
(generated_match_files): New variable. Add a dependency of
$(filter-out $(OBJS-libcommon),$(ALL_HOST_OBJS)) files on those.
(build/genmatch$(build_exeext)): Depend on and link against
libcommon.a and $(LIBBACKTRACE).
* genmatch.cc: Include pretty-print.h and input.h.
(ggc_internal_cleared_alloc, ggc_free): Remove.
(fatal): New function.
(line_table): Remove.
(linemap_client_expand_location_to_spelling_point): Remove.
(diagnostic_cb): Use gcc_diag rather than printf format. Use
pp_format_verbatim on a temporary pretty_printer instead of
vfprintf.
(fatal_at, warning_at): Use gcc_diag rather than printf format.
(output_line_directive): Rename location_hash to loc_hash.
(parser::eat_ident, parser::parse_operation, parser::parse_expr,
parser::parse_pattern, parser::finish_match_operand): Fix up
-Wformat-diag warnings.
gcc/c-family/
* c-lex.cc (c_common_has_attribute,
c_common_lex_availability_macro): Fix up -Wformat-diag warnings.
gcc/testsuite/
* c-c++-common/cpp/counter-2.c: Adjust expected diagnostics for
libcpp diagnostic formatting changes.
* c-c++-common/cpp/embed-3.c: Likewise.
* c-c++-common/cpp/embed-4.c: Likewise.
* c-c++-common/cpp/embed-16.c: Likewise.
* c-c++-common/cpp/embed-18.c: Likewise.
* c-c++-common/cpp/eof-2.c: Likewise.
* c-c++-common/cpp/eof-3.c: Likewise.
* c-c++-common/cpp/fmax-include-depth.c: Likewise.
* c-c++-common/cpp/has-builtin.c: Likewise.
* c-c++-common/cpp/line-2.c: Likewise.
* c-c++-common/cpp/line-3.c: Likewise.
* c-c++-common/cpp/macro-arg-count-1.c: Likewise.
* c-c++-common/cpp/macro-arg-count-2.c: Likewise.
* c-c++-common/cpp/macro-ranges.c: Likewise.
* c-c++-common/cpp/named-universal-char-escape-4.c: Likewise.
* c-c++-common/cpp/named-universal-char-escape-5.c: Likewise.
* c-c++-common/cpp/pr88974.c: Likewise.
* c-c++-common/cpp/va-opt-error.c: Likewise.
* c-c++-common/cpp/va-opt-pedantic.c: Likewise.
* c-c++-common/cpp/Wheader-guard-2.c: Likewise.
* c-c++-common/cpp/Wheader-guard-3.c: Likewise.
* c-c++-common/cpp/Winvalid-utf8-1.c: Likewise.
* c-c++-common/cpp/Winvalid-utf8-2.c: Likewise.
* c-c++-common/cpp/Winvalid-utf8-3.c: Likewise.
* c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c:
Likewise.
* c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c:
Likewise.
* c-c++-common/pr68833-3.c: Likewise.
* c-c++-common/raw-string-directive-1.c: Likewise.
* gcc.dg/analyzer/named-constants-Wunused-macros.c: Likewise.
* gcc.dg/binary-constants-4.c: Likewise.
* gcc.dg/builtin-redefine.c: Likewise.
* gcc.dg/cpp/19951025-1.c: Likewise.
* gcc.dg/cpp/c11-warning-1.c: Likewise.
* gcc.dg/cpp/c11-warning-2.c: Likewise.
* gcc.dg/cpp/c11-warning-3.c: Likewise.
* gcc.dg/cpp/c23-elifdef-2.c: Likewise.
* gcc.dg/cpp/c23-warning-2.c: Likewise.
* gcc.dg/cpp/embed-2.c: Likewise.
* gcc.dg/cpp/embed-3.c: Likewise.
* gcc.dg/cpp/embed-4.c: Likewise.
* gcc.dg/cpp/expr.c: Likewise.
* gcc.dg/cpp/gnu11-elifdef-2.c: Likewise.
* gcc.dg/cpp/gnu11-elifdef-3.c: Likewise.
* gcc.dg/cpp/gnu11-elifdef-4.c: Likewise.
* gcc.dg/cpp/gnu11-warning-1.c: Likewise.
* gcc.dg/cpp/gnu11-warning-2.c: Likewise.
* gcc.dg/cpp/gnu11-warning-3.c: Likewise.
* gcc.dg/cpp/gnu23-warning-2.c: Likewise.
* gcc.dg/cpp/include6.c: Likewise.
* gcc.dg/cpp/pr35322.c: Likewise.
* gcc.dg/cpp/tr-warn6.c: Likewise.
* gcc.dg/cpp/undef2.c: Likewise.
* gcc.dg/cpp/warn-comments.c: Likewise.
* gcc.dg/cpp/warn-comments-2.c: Likewise.
* gcc.dg/cpp/warn-comments-3.c: Likewise.
* gcc.dg/cpp/warn-cxx-compat.c: Likewise.
* gcc.dg/cpp/warn-cxx-compat-2.c: Likewise.
* gcc.dg/cpp/warn-deprecated.c: Likewise.
* gcc.dg/cpp/warn-deprecated-2.c: Likewise.
* gcc.dg/cpp/warn-long-long.c: Likewise.
* gcc.dg/cpp/warn-long-long-2.c: Likewise.
* gcc.dg/cpp/warn-normalized-1.c: Likewise.
* gcc.dg/cpp/warn-normalized-2.c: Likewise.
* gcc.dg/cpp/warn-normalized-3.c: Likewise.
* gcc.dg/cpp/warn-normalized-4-bytes.c: Likewise.
* gcc.dg/cpp/warn-normalized-4-unicode.c: Likewise.
* gcc.dg/cpp/warn-redefined.c: Likewise.
* gcc.dg/cpp/warn-redefined-2.c: Likewise.
* gcc.dg/cpp/warn-traditional.c: Likewise.
* gcc.dg/cpp/warn-traditional-2.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-1.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-2.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-3.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-4.c: Likewise.
* gcc.dg/cpp/warn-undef.c: Likewise.
* gcc.dg/cpp/warn-undef-2.c: Likewise.
* gcc.dg/cpp/warn-unused-macros.c: Likewise.
* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
* gcc.dg/pch/counter-2.c: Likewise.
* g++.dg/cpp0x/udlit-error1.C: Likewise.
* g++.dg/cpp23/named-universal-char-escape1.C: Likewise.
* g++.dg/cpp23/named-universal-char-escape2.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-1.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-2.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-3.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-4.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-5.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-6.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-7.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-8.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-9.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-10.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-11.C: Likewise.
* g++.dg/cpp23/Winvalid-utf8-12.C: Likewise.
* g++.dg/cpp/elifdef-3.C: Likewise.
* g++.dg/cpp/elifdef-5.C: Likewise.
* g++.dg/cpp/elifdef-6.C: Likewise.
* g++.dg/cpp/elifdef-7.C: Likewise.
* g++.dg/cpp/embed-1.C: Likewise.
* g++.dg/cpp/embed-2.C: Likewise.
* g++.dg/cpp/pedantic-errors.C: Likewise.
* g++.dg/cpp/warning-1.C: Likewise.
* g++.dg/cpp/warning-2.C: Likewise.
* g++.dg/ext/bitint1.C: Likewise.
* g++.dg/ext/bitint2.C: Likewise.
2024-10-12 16:44:17 +08:00
|
|
|
--language=GCC-source -o po/$(PACKAGE).pot.tmp $^
|
2004-11-10 05:58:43 +08:00
|
|
|
sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
|
|
|
|
rm po/$(PACKAGE).pot.tmp
|
2004-08-25 16:10:02 +08:00
|
|
|
|
2021-11-30 02:24:12 +08:00
|
|
|
ETAGS = @ETAGS@
|
|
|
|
|
2018-08-20 22:20:04 +08:00
|
|
|
TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h system.h ucnid.h \
|
2023-11-19 19:26:40 +08:00
|
|
|
include/cpplib.h include/line-map.h include/mkdeps.h include/symtab.h \
|
2024-05-29 03:55:24 +08:00
|
|
|
include/rich-location.h include/label-text.h
|
2023-11-19 19:26:40 +08:00
|
|
|
|
2008-04-17 05:10:37 +08:00
|
|
|
|
|
|
|
TAGS: $(TAGS_SOURCES)
|
2021-11-30 02:24:12 +08:00
|
|
|
cd $(srcdir) && $(ETAGS) $(TAGS_SOURCES)
|
2004-08-25 16:10:02 +08:00
|
|
|
|
2004-05-24 18:50:45 +08:00
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
|
|
.NOEXPORT:
|
2004-08-25 16:10:02 +08:00
|
|
|
|
|
|
|
# Dependencies
|
re PR preprocessor/34695 (Preprocessor warning->error conversion from -Werror is silent)
PR preprocessor/34695
gcc:
* Makefile.in (c-opts.o): Depend on c-tree.h.
* c-common.c: Move down include of diagnostic.h.
(done_lexing, c_cpp_error): New.
* c-common.h (done_lexing): Declare.
* c-decl.c (c_write_global_declarations): Don't check cpp_errors
(parse_in).
* c-opts.c: Include c-tree.h.
(c_common_init_options): Set preprocessor error callback.
(c_common_handle_option): Do not set preprocessor
inhibit_warnings, warnings_are_errors, warn_system_headers,
pedantic_errors or inhibit_warnings flags.
(c_common_post_options): Do not check cpp_errors (parse_in).
(c_common_finish): Do not output dependencies if there were
errors. Do not check return value of cpp_finish.
* c-ppoutput.c (pp_file_change): Set input_location.
* c-tree.h (c_cpp_error): Declare.
* diagnostic.c (diagnostic_set_info_translated): Also initialize
override_column.
(diagnostic_build_prefix): Check override_column.
* diagnostic.h (diagnostic_info): Add override_column field.
(diagnostic_override_column): Define.
gcc/cp:
* cp-tree.h (cp_cpp_error): Remove.
* error.c (cp_cpp_error): Remove.
* parser.c (cp_lexer_new_main): Set done_lexing instead of
client_diagnostic and error callback.
gcc/fortran:
* cpp.c (cb_cpp_error): New.
(gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
Don't check cpp_errors (cpp_in).
(gfc_cpp_init_0): Set cb->error.
gcc/testsuite:
* gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
instead of dg-warning for "previous definition" messages.
* gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
"warnings being treated as errors" message.
* gcc.dg/fltconst-1.c: Use -fshow-column.
libcpp:
* makedepend.c: Remove.
* Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
(all, clean, TAGS_SOURCES, include): Remove makedepend handling.
* directives.c (cpp_errors): Remove.
* errors.c (print_location, _cpp_begin_message, v_message):
Remove.
(cpp_error, cpp_error_with_line): Always use error callback.
(cpp_error, cpp_error_with_line, cpp_errno): Return bool.
* include/cpplib.h (cpp_options): Remove pedantic_errors,
inhibit_warnings, warn_system_headers, inhibit_errors,
warnings_are_errors, client_diagnostic.
(cpp_callbacks): Add extra arguments to error callback; make it
return bool.
(cpp_finish): Return void.
(cpp_destroy): Remove inaccurate comment about return value.
(cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
(CPP_DL_NOTE): Define.
* include/line-map.h (linemap_print_containing_files): Remove.
* init.c (cpp_finish): Do not check for or return number of
errors.
* internal.h (cpp_reader): Remove errors field.
* line-map.c (linemap_print_containing_files): Remove.
* macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
about previous definition. Only emit it if previous diagnostic
was emitted.
From-SVN: r145263
2009-03-30 06:56:07 +08:00
|
|
|
-include $(patsubst %.o, $(DEPDIR)/%.Po, $(libcpp_a_OBJS))
|
2004-08-25 16:10:02 +08:00
|
|
|
|
2005-06-13 16:26:05 +08:00
|
|
|
# Dependencies on generated headers have to be explicit.
|
|
|
|
init.o: localedir.h
|