Skip to content
Snippets Groups Projects
Commit 40fecdd6 authored by Joseph Myers's avatar Joseph Myers Committed by Joseph Myers
Browse files

Always pass explicit location to fatal_error.

The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
adding an overload for fatal_error that passes an explicit location
broke gcc.pot regeneration because xgettext cannot handle function
overloads with the diagnostic string argument in different positions.

As the desired direction is for all diagnostics to have explicit
locations, this patch addresses the regression by removing the version
of fatal_error that does not pass a location, passing explicit
input_location everywhere (in the hope that those will incrementally
be changed to other locations, much as with the addition of a location
argument to pedwarn some time ago - a lot of cases aren't meaningfully
associated with a source file so UNKNOWN_LOCATION may be better).

Note that this patch does not attempt to fix any existing issues with
these diagnostics (such as wrongly starting with capital letters or
ending with '.' or '\n'); it just adds the input_location argument.

Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
excluded).

gcc:
	* diagnostic.c (fatal_error (const char *, ...)): Remove function.
	* diagnostic-core.h (fatal_error (const char *, ...)): Remove
	prototype.
	* toplev.h (init_asm_output): Update comment on use of
	UNKNOWN_LOCATION with fatal_error.
	* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
	config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
	config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
	config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
	config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
	config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
	config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
	ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
	lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
	lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
	tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
	fatal_error changed to pass input_location as first argument.

gcc/c-family:
	* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
	to pass input_location as first argument.

gcc/cp:
	* class.c, except.c, parser.c, pt.c: All callers of fatal_error
	changed to pass input_location as first argument.

gcc/fortran:
	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
	callers of fatal_error changed to pass input_location as first
	argument.

gcc/java:
	* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
	fatal_error changed to pass input_location as first argument.

gcc/lto:
	* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
	changed to pass input_location as first argument.

libcc1:
	* plugin.cc: All callers of fatal_error changed to pass
	input_location as first argument.

From-SVN: r220293
parent 4811c44e
No related branches found
No related tags found
No related merge requests found
Showing
with 129 additions and 82 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment