summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-27 14:43:31 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-27 14:43:31 +0000
commitfecf90116e4c155515833b5e939cdaad4afb9b53 (patch)
tree8827f91fc9b3f24a4fdd5c851a07702213bfc0c3
parent6aedae7f1ed20a576816288a1fcd1076f192ee68 (diff)
downloadgcc-fecf90116e4c155515833b5e939cdaad4afb9b53.tar.gz
* common.opt (o): Add MissingArgError.
* doc/options.texi (MissingArgError): Document. * hooks.c (hook_bool_constcharptr_size_t_false): Remove. * hooks.h (hook_bool_constcharptr_size_t_false): Remove. * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer. * langhooks.h (struct lang_hooks): Remove missing_argument. * optc-gen.awk: Handle MissingArgError and output new structure field initializers. * opts.c (read_cmdline_option): Use missing_argument_error field instead of missing_argument langhook. * opts.h (struct cl_option): Add missing_argument_error field. * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison. c-family: * c-common.h (c_common_missing_argument): Remove. * c-opts.c (c_common_missing_argument): Remove. * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=, idirafter, imacros, include, isysroot, isystem, iquote): Add MissingArgError. * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. cp: * cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. po: * exgettext: Also extract MissingArgError texts from .opt files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162571 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/c-family/ChangeLog9
-rw-r--r--gcc/c-family/c-common.h1
-rw-r--r--gcc/c-family/c-opts.c53
-rw-r--r--gcc/c-family/c.opt34
-rw-r--r--gcc/c-objc-common.h2
-rw-r--r--gcc/common.opt2
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/cp-objcp-common.h2
-rw-r--r--gcc/doc/options.texi10
-rw-r--r--gcc/hooks.c7
-rw-r--r--gcc/hooks.h1
-rw-r--r--gcc/langhooks-def.h2
-rw-r--r--gcc/langhooks.h4
-rw-r--r--gcc/optc-gen.awk11
-rw-r--r--gcc/opts.c4
-rw-r--r--gcc/opts.h1
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/po/exgettext9
-rw-r--r--gcc/system.h3
20 files changed, 84 insertions, 96 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b04483a64f..ddbe6cccb34 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,20 @@
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (o): Add MissingArgError.
+ * doc/options.texi (MissingArgError): Document.
+ * hooks.c (hook_bool_constcharptr_size_t_false): Remove.
+ * hooks.h (hook_bool_constcharptr_size_t_false): Remove.
+ * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
+ (LANG_HOOKS_INITIALIZER): Remove missing_argument hook
+ initializer.
+ * langhooks.h (struct lang_hooks): Remove missing_argument.
+ * optc-gen.awk: Handle MissingArgError and output new structure
+ field initializers.
+ * opts.c (read_cmdline_option): Use missing_argument_error field
+ instead of missing_argument langhook.
+ * opts.h (struct cl_option): Add missing_argument_error field.
+ * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
+
2010-07-27 Iain Sandoe <iains@gcc.gnu.org>
PR target/29090
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 7007582bb9d..17bd6ab56f5 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,5 +1,14 @@
2010-07-27 Joseph Myers <joseph@codesourcery.com>
+ * c-common.h (c_common_missing_argument): Remove.
+ * c-opts.c (c_common_missing_argument): Remove.
+ * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
+ idirafter, imacros, include, isysroot, isystem, iquote): Add
+ MissingArgError.
+ * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
* c-common.h (c_common_option_lang_mask,
c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
New.
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index df9cf759a5a..b92fef8f04d 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -659,7 +659,6 @@ extern tree handle_format_attribute (tree *, tree, tree, int, bool *);
extern tree handle_format_arg_attribute (tree *, tree, tree, int, bool *);
extern bool attribute_takes_identifier_p (const_tree);
extern int c_common_handle_option (size_t code, const char *arg, int value, int kind);
-extern bool c_common_missing_argument (const char *opt, size_t code);
extern tree c_common_type_for_mode (enum machine_mode, int);
extern tree c_common_type_for_size (unsigned int, int);
extern tree c_common_fixed_point_type_for_size (unsigned int, unsigned int,
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index ab22cf993b8..38c996bfea0 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -135,59 +135,6 @@ static struct deferred_opt
static const unsigned int
c_family_lang_mask = (CL_C | CL_CXX | CL_ObjC | CL_ObjCXX);
-/* Complain that switch CODE expects an argument but none was
- provided. OPT was the command-line option. Return FALSE to get
- the default message in opts.c, TRUE if we provide a specialized
- one. */
-bool
-c_common_missing_argument (const char *opt, size_t code)
-{
- switch (code)
- {
- default:
- /* Pick up the default message. */
- return false;
-
- case OPT_fconstant_string_class_:
- error ("no class name specified with %qs", opt);
- break;
-
- case OPT_A:
- error ("assertion missing after %qs", opt);
- break;
-
- case OPT_D:
- case OPT_U:
- error ("macro name missing after %qs", opt);
- break;
-
- case OPT_F:
- case OPT_I:
- case OPT_idirafter:
- case OPT_isysroot:
- case OPT_isystem:
- case OPT_iquote:
- error ("missing path after %qs", opt);
- break;
-
- case OPT_MF:
- case OPT_MD:
- case OPT_MMD:
- case OPT_include:
- case OPT_imacros:
- case OPT_o:
- error ("missing filename after %qs", opt);
- break;
-
- case OPT_MQ:
- case OPT_MT:
- error ("missing makefile target after %qs", opt);
- break;
- }
-
- return true;
-}
-
/* Defer option CODE with argument ARG. */
static void
defer_opt (enum opt_code code, const char *arg)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index ade444a8dcc..9d23b3d6f00 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -38,7 +38,7 @@ ObjC++
C ObjC C++ ObjC++ Joined Separate
A
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(assertion missing after %qs)
-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>
C
@@ -50,14 +50,14 @@ C ObjC C++ ObjC++
Do not discard comments in macro expansions
D
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)
-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
E
C ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only)
F
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-F <dir> Add <dir> to the end of the main framework include path
H
@@ -65,7 +65,7 @@ C ObjC C++ ObjC++
Print the name of header files as they are used
I
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-I <dir> Add <dir> to the end of the main include path
M
@@ -73,11 +73,11 @@ C ObjC C++ ObjC++
Generate make dependencies
MD
-C ObjC C++ ObjC++ Separate
+C ObjC C++ ObjC++ Separate MissingArgError(missing filename after %qs)
Generate make dependencies and compile
MF
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
-MF <file> Write dependency output to the given file
MG
@@ -89,7 +89,7 @@ C ObjC C++ ObjC++
Like -M but ignore system header files
MMD
-C ObjC C++ ObjC++ Separate
+C ObjC C++ ObjC++ Separate MissingArgError(missing filename after %qs)
Like -MD but ignore system header files
MP
@@ -97,11 +97,11 @@ C ObjC C++ ObjC++
Generate phony targets for all headers
MQ
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)
-MQ <target> Add a MAKE-quoted target
MT
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)
-MT <target> Add an unquoted target
P
@@ -109,7 +109,7 @@ C ObjC C++ ObjC++
Do not generate #line directives
U
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)
-U<macro> Undefine <macro>
Wabi
@@ -564,7 +564,7 @@ C++ ObjC++ Var(flag_conserve_space)
Reduce the size of object files
fconstant-string-class=
-ObjC ObjC++ Joined
+ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
-fconst-string-class=<name> Use class <name> for constant strings
fdeduce-init-list
@@ -886,11 +886,11 @@ C ObjC C++ ObjC++ Joined
-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs
idirafter
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-idirafter <dir> Add <dir> to the end of the system include path
imacros
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
-imacros <file> Accept definition of macros in <file>
imultilib
@@ -898,7 +898,7 @@ C ObjC C++ ObjC++ Joined Separate
-imultilib <dir> Set <dir> to be the multilib include subdirectory
include
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
-include <file> Include the contents of <file> before other files
iprefix
@@ -906,15 +906,15 @@ C ObjC C++ ObjC++ Joined Separate
-iprefix <path> Specify <path> as a prefix for next two options
isysroot
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-isysroot <dir> Set <dir> to be the system root directory
isystem
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-isystem <dir> Add <dir> to the start of the system include path
iquote
-C ObjC C++ ObjC++ Joined Separate
+C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-iquote <dir> Add <dir> to the end of the quote include path
iwithprefix
diff --git a/gcc/c-objc-common.h b/gcc/c-objc-common.h
index c2b5ffab86a..4bc5bb38a2a 100644
--- a/gcc/c-objc-common.h
+++ b/gcc/c-objc-common.h
@@ -39,8 +39,6 @@ along with GCC; see the file COPYING3. If not see
#define LANG_HOOKS_INITIALIZE_DIAGNOSTICS c_initialize_diagnostics
#undef LANG_HOOKS_HANDLE_OPTION
#define LANG_HOOKS_HANDLE_OPTION c_common_handle_option
-#undef LANG_HOOKS_MISSING_ARGUMENT
-#define LANG_HOOKS_MISSING_ARGUMENT c_common_missing_argument
#undef LANG_HOOKS_POST_OPTIONS
#define LANG_HOOKS_POST_OPTIONS c_common_post_options
#undef LANG_HOOKS_GET_ALIAS_SET
diff --git a/gcc/common.opt b/gcc/common.opt
index 41a9838f481..59ab3b1b341 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1584,7 +1584,7 @@ Common Joined Var(plugindir_string) Init(0)
-iplugindir=<dir> Set <dir> to be the default plugin directory
o
-Common Joined Separate
+Common Joined Separate MissingArgError(missing filename after %qs)
-o <file> Place output into <file>
p
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7829c5b9a7b..35416869926 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2010-07-27 Joseph Myers <joseph@codesourcery.com>
+ * cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
* cp-objcp-common.c (cxx_initialize_diagnostics): First call
c_common_initialize_diagnostics.
* cp-objcp-common.h (LANG_HOOKS_OPTION_LANG_MASK,
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index 5e26b335ca5..2391faf2239 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -53,8 +53,6 @@ extern bool cp_function_decl_explicit_p (tree decl);
#define LANG_HOOKS_HANDLE_OPTION c_common_handle_option
#undef LANG_HOOKS_HANDLE_FILENAME
#define LANG_HOOKS_HANDLE_FILENAME c_common_handle_filename
-#undef LANG_HOOKS_MISSING_ARGUMENT
-#define LANG_HOOKS_MISSING_ARGUMENT c_common_missing_argument
#undef LANG_HOOKS_POST_OPTIONS
#define LANG_HOOKS_POST_OPTIONS c_common_post_options
#undef LANG_HOOKS_GET_ALIAS_SET
diff --git a/gcc/doc/options.texi b/gcc/doc/options.texi
index 284ea49cdfe..b14b2b497fa 100644
--- a/gcc/doc/options.texi
+++ b/gcc/doc/options.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
+@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -135,6 +135,14 @@ it will be part of the same @code{argv} entry as the option itself.
This property cannot be used alongside @code{Joined} or @code{Separate}.
+@item MissingArgError(@var{message})
+For an option marked @code{Joined} or @code{Separate}, the message
+@var{message} will be used as an error message if the mandatory
+argument is missing; for options without @code{MissingArgError}, a
+generic error message is used. @var{message} should contain a single
+@samp{%qs} format, which will be used to format the name of the option
+passed.
+
@item UInteger
The option's argument is a non-negative integer. The option parser
will check and convert the argument before passing it to the relevant
diff --git a/gcc/hooks.c b/gcc/hooks.c
index 355509ad7b9..94d045f0370 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -119,13 +119,6 @@ hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree a ATTRIBUTE_UNUSED,
}
bool
-hook_bool_constcharptr_size_t_false (const char *a ATTRIBUTE_UNUSED,
- size_t b ATTRIBUTE_UNUSED)
-{
- return false;
-}
-
-bool
hook_bool_size_t_constcharptr_int_true (size_t a ATTRIBUTE_UNUSED,
const char *b ATTRIBUTE_UNUSED,
int c ATTRIBUTE_UNUSED)
diff --git a/gcc/hooks.h b/gcc/hooks.h
index db1da30398d..52e4d84ce78 100644
--- a/gcc/hooks.h
+++ b/gcc/hooks.h
@@ -48,7 +48,6 @@ extern bool hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree,
extern bool hook_bool_rtx_false (rtx);
extern bool hook_bool_uintp_uintp_false (unsigned int *, unsigned int *);
extern bool hook_bool_rtx_int_int_intp_bool_false (rtx, int, int, int *, bool);
-extern bool hook_bool_constcharptr_size_t_false (const char *, size_t);
extern bool hook_bool_size_t_constcharptr_int_true (size_t, const char *, int);
extern bool hook_bool_tree_tree_false (tree, tree);
extern bool hook_bool_tree_tree_true (tree, tree);
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index 504fdad5920..1b7cebfb10e 100644
--- a/gcc/langhooks-def.h
+++ b/gcc/langhooks-def.h
@@ -90,7 +90,6 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *,
#define LANG_HOOKS_INITIALIZE_DIAGNOSTICS lhd_initialize_diagnostics
#define LANG_HOOKS_COMPLAIN_WRONG_LANG_P lhd_complain_wrong_lang_p
#define LANG_HOOKS_HANDLE_OPTION hook_int_size_t_constcharptr_int_0
-#define LANG_HOOKS_MISSING_ARGUMENT hook_bool_constcharptr_size_t_false
#define LANG_HOOKS_POST_OPTIONS lhd_post_options
#define LANG_HOOKS_MISSING_NORETURN_OK_P hook_bool_tree_true
#define LANG_HOOKS_GET_ALIAS_SET lhd_get_alias_set
@@ -268,7 +267,6 @@ extern void lhd_end_section (void);
LANG_HOOKS_INITIALIZE_DIAGNOSTICS, \
LANG_HOOKS_COMPLAIN_WRONG_LANG_P, \
LANG_HOOKS_HANDLE_OPTION, \
- LANG_HOOKS_MISSING_ARGUMENT, \
LANG_HOOKS_POST_OPTIONS, \
LANG_HOOKS_INIT, \
LANG_HOOKS_FINISH, \
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index 4702d143daa..6c9f80dec4b 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -298,10 +298,6 @@ struct lang_hooks
valid and should not be treated as language-independent too. */
int (*handle_option) (size_t code, const char *arg, int value, int kind);
- /* Return false to use the default complaint about a missing
- argument, otherwise output a complaint and return true. */
- bool (*missing_argument) (const char *opt, size_t code);
-
/* Called when all command line options have been parsed to allow
further processing and initialization
diff --git a/gcc/optc-gen.awk b/gcc/optc-gen.awk
index 60211df2de1..78741fc8743 100644
--- a/gcc/optc-gen.awk
+++ b/gcc/optc-gen.awk
@@ -194,6 +194,12 @@ for (i = 0; i < n_opts; i++) {
else
hlp = quote help[i] quote;
+ missing_arg_error = opt_args("MissingArgError", flags[i])
+ if (missing_arg_error == "")
+ missing_arg_error = "0"
+ else
+ missing_arg_error = quote missing_arg_error quote
+
neg = opt_args("Negative", flags[i]);
if (neg != "")
idx = indices[neg]
@@ -209,8 +215,9 @@ for (i = 0; i < n_opts; i++) {
}
# Split the printf after %u to work around an ia64-hp-hpux11.23
# awk bug.
- printf(" { %c-%s%c,\n %s,\n %s, %u,",
- quote, opts[i], quote, hlp, back_chain[i], len)
+ printf(" { %c-%s%c,\n %s,\n %s,\n %s, %u,",
+ quote, opts[i], quote, hlp, missing_arg_error,
+ back_chain[i], len)
printf(" %d,\n", idx)
condition = opt_args("Condition", flags[i])
cl_flags = switch_flags(flags[i])
diff --git a/gcc/opts.c b/gcc/opts.c
index 2016ed4d441..12eb40a451a 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -547,7 +547,9 @@ read_cmdline_option (struct cl_decoded_option *decoded,
if (decoded->errors & CL_ERR_MISSING_ARG)
{
- if (!lang_hooks.missing_argument (opt, decoded->opt_index))
+ if (option->missing_argument_error)
+ error (option->missing_argument_error, opt);
+ else
error ("missing argument to %qs", opt);
return;
}
diff --git a/gcc/opts.h b/gcc/opts.h
index fbc86b1c36e..674843a9497 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -44,6 +44,7 @@ struct cl_option
{
const char *opt_text;
const char *help;
+ const char *missing_argument_error;
unsigned short back_chain;
unsigned char opt_len;
int neg_index;
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 2bd47546476..75200f86d36 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * exgettext: Also extract MissingArgError texts from .opt files.
+
2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
PR other/44034
diff --git a/gcc/po/exgettext b/gcc/po/exgettext
index e0658302ac8..c3d92448f98 100644
--- a/gcc/po/exgettext
+++ b/gcc/po/exgettext
@@ -1,6 +1,6 @@
#! /bin/sh
# Wrapper around gettext for programs using the msgid convention.
-# Copyright 1998, 2001, 2002, 2003, 2009 Free Software Foundation, Inc.
+# Copyright 1998, 2001, 2002, 2003, 2009, 2010 Free Software Foundation, Inc.
# Written by Paul Eggert <eggert@twinsun.com>.
# Revised by Zack Weinberg <zackw@stanford.edu> for no-POTFILES operation.
@@ -223,6 +223,13 @@ echo "scanning option files..." >&2
if (/^[ \t]*(;|$)/ || !/^[^ \t]/) {
field = 0
} else {
+ if ((field == 1) && /MissingArgError/) {
+ line = $0
+ sub(".*MissingArgError\\(", "", line)
+ sub("\\).*", "", line)
+ printf("#line %d \"%s\"\n", lineno, file)
+ printf("_(\"%s\")\n", line)
+ }
if (field == 2) {
line = $0
printf("#line %d \"%s\"\n", lineno, file)
diff --git a/gcc/system.h b/gcc/system.h
index a8b4fa93558..a5cfababa6d 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -779,7 +779,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
LANG_HOOKS_PUSHLEVEL LANG_HOOKS_SET_BLOCK \
LANG_HOOKS_MAYBE_BUILD_CLEANUP LANG_HOOKS_UPDATE_DECL_AFTER_SAVING \
LANG_HOOKS_POPLEVEL LANG_HOOKS_TRUTHVALUE_CONVERSION \
- TARGET_PROMOTE_FUNCTION_ARGS TARGET_PROMOTE_FUNCTION_RETURN
+ TARGET_PROMOTE_FUNCTION_ARGS TARGET_PROMOTE_FUNCTION_RETURN \
+ LANG_HOOKS_MISSING_ARGUMENT
/* Miscellaneous macros that are no longer used. */
#pragma GCC poison USE_MAPPED_LOCATION