summaryrefslogtreecommitdiff
path: root/doc/make.1
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2023-02-26 18:24:30 -0500
committerPaul Smith <psmith@gnu.org>2023-04-01 11:13:12 -0400
commit03ecd94488b85adc38746ec3e7c2a297a522598e (patch)
tree26f47e9d5e1dd9ba730c24f86c099005a923bb68 /doc/make.1
parent2611e1991fabe2a3ae929c6ebd4afbd4f550f306 (diff)
downloadmake-git-03ecd94488b85adc38746ec3e7c2a297a522598e.tar.gz
Add new warnings invalid-var and invalid-ref
The "invalid-var" warning triggers if the makefile attempts to assign a value to an invalid variable name (a name containing whitespace). The "invalid-ref" warning triggers if the makefile attempts to reference an invalid variable name. Both new warnings have a default action of "warn". * NEWS: Add these new warnings. * doc/make.1: Document them in the man page. * doc/make.texi (Warnings): Document them in the user's manual. * src/warning.h: Add enum values for the new warning types. * src/main.c (initialize_warnings): Initialize the new warnings. * src/variable.h (undefine_variable_in_set, undefine_variable_global): Ask callers to provide a struct floc specifying where the variable is undefined. * src/read.c (do_undefine): Pass floc when undefining. * src/variable.c (check_valid_name): If invalid-var is enabled, check the variable name. (define_variable_in_set): Call it. (undefine_variable_in_set): Ditto. (check_variable_reference): If invalid-ref is enabled, check the variable reference. (lookup_variable): Call it. (lookup_variable_in_set): Ditto. * tests/scripts/options/warn: Add tests for the new warning types.
Diffstat (limited to 'doc/make.1')
-rw-r--r--doc/make.110
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/make.1 b/doc/make.1
index 933a8273..8a407b03 100644
--- a/doc/make.1
+++ b/doc/make.1
@@ -374,6 +374,10 @@ can be an action; one of
or
.I error
to set the default action for all warnings, or it can be a specific warning:
+.I invalid-var
+(assigning to an invalid variable name),
+.I invalid-ref
+(referencing an invalid variable name), or
.I undefined-var
(referencing an undefined variable). The behavior of each warning can be set
by adding
@@ -387,6 +391,12 @@ is provided the action for all warnings is
If no
.B \-\-warn
option is provided the default action for
+.I invalid-var
+and
+.I invalid-ref
+is
+.I warn
+and the default action for
.I undefined-var
is
.IR ignore .