Module Name:    src
Committed By:   rillig
Date:           Tue Feb 16 16:28:41 UTC 2021

Modified Files:
        src/usr.bin/make: var.c
        src/usr.bin/make/unit-tests: directive-export-impl.exp
            directive-export-impl.mk

Log Message:
make: rename constants for VarFlags

The old prefix was "VAR_" and this prefix is used for several other
constants as well, which made it ambiguous.


To generate a diff of this commit:
cvs rdiff -u -r1.827 -r1.828 src/usr.bin/make/var.c
cvs rdiff -u -r1.3 -r1.4 \
    src/usr.bin/make/unit-tests/directive-export-impl.exp
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/directive-export-impl.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.827 src/usr.bin/make/var.c:1.828
--- src/usr.bin/make/var.c:1.827	Tue Feb 16 16:14:27 2021
+++ src/usr.bin/make/var.c	Tue Feb 16 16:28:41 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.827 2021/02/16 16:14:27 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.828 2021/02/16 16:28:41 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -140,29 +140,29 @@
 #include "metachar.h"
 
 /*	"@(#)var.c	8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.827 2021/02/16 16:14:27 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.828 2021/02/16 16:28:41 rillig Exp $");
 
 typedef enum VarFlags {
-	VAR_NONE	= 0,
+	VFL_NONE	= 0,
 
 	/*
 	 * The variable's value is currently being used by Var_Parse or
 	 * Var_Subst.  This marker is used to avoid endless recursion.
 	 */
-	VAR_IN_USE = 0x01,
+	VFL_IN_USE = 0x01,
 
 	/*
 	 * The variable comes from the environment.
 	 * These variables are not registered in any GNode, therefore they
 	 * must be freed as soon as they are not used anymore.
 	 */
-	VAR_FROM_ENV = 0x02,
+	VFL_FROM_ENV = 0x02,
 
 	/*
 	 * The variable is exported to the environment, to be used by child
 	 * processes.
 	 */
-	VAR_EXPORTED = 0x10,
+	VFL_EXPORTED = 0x10,
 
 	/*
 	 * At the point where this variable was exported, it contained an
@@ -170,17 +170,17 @@ typedef enum VarFlags {
 	 * process is started, it needs to be exported again, in the hope
 	 * that the referenced variable can then be resolved.
 	 */
-	VAR_REEXPORT = 0x20,
+	VFL_REEXPORT = 0x20,
 
 	/* The variable came from the command line. */
-	VAR_FROM_CMD = 0x40,
+	VFL_FROM_CMD = 0x40,
 
 	/*
 	 * The variable value cannot be changed anymore, and the variable
 	 * cannot be deleted.  Any attempts to do so are silently ignored,
 	 * they are logged with -dv though.
 	 */
-	VAR_READONLY = 0x80
+	VFL_READONLY = 0x80
 } VarFlags;
 
 /*
@@ -315,8 +315,8 @@ GNode *SCOPE_GLOBAL;
 GNode *SCOPE_INTERNAL;
 
 ENUM_FLAGS_RTTI_6(VarFlags,
-		  VAR_IN_USE, VAR_FROM_ENV,
-		  VAR_EXPORTED, VAR_REEXPORT, VAR_FROM_CMD, VAR_READONLY);
+		  VFL_IN_USE, VFL_FROM_ENV,
+		  VFL_EXPORTED, VFL_REEXPORT, VFL_FROM_CMD, VFL_READONLY);
 
 static VarExportedMode var_exportedVars = VAR_EXPORTED_NONE;
 
@@ -437,7 +437,7 @@ VarFind(const char *name, GNode *scope, 
 
 		if ((env = getenv(name)) != NULL) {
 			char *varname = bmake_strdup(name);
-			return VarNew(FStr_InitOwn(varname), env, VAR_FROM_ENV);
+			return VarNew(FStr_InitOwn(varname), env, VFL_FROM_ENV);
 		}
 
 		if (opts.checkEnvFirst && scope != SCOPE_GLOBAL) {
@@ -467,7 +467,7 @@ VarFind(const char *name, GNode *scope, 
 static Boolean
 VarFreeEnv(Var *v, Boolean freeValue)
 {
-	if (!(v->flags & VAR_FROM_ENV))
+	if (!(v->flags & VFL_FROM_ENV))
 		return FALSE;
 
 	FStr_Done(&v->name);
@@ -488,7 +488,7 @@ VarAdd(const char *name, const char *val
 {
 	HashEntry *he = HashTable_CreateEntry(&scope->vars, name, NULL);
 	Var *v = VarNew(FStr_InitRefer(/* aliased to */ he->key), val,
-	    flags & VAR_SET_READONLY ? VAR_READONLY : VAR_NONE);
+	    flags & VAR_SET_READONLY ? VFL_READONLY : VFL_NONE);
 	HashEntry_Set(he, v);
 	DEBUG3(VAR, "%s:%s = %s\n", scope->name, name, val);
 }
@@ -510,7 +510,7 @@ Var_Delete(GNode *scope, const char *var
 
 	DEBUG2(VAR, "%s:delete %s\n", scope->name, varname);
 	v = HashEntry_Get(he);
-	if (v->flags & VAR_EXPORTED)
+	if (v->flags & VFL_EXPORTED)
 		unsetenv(v->name.str);
 	if (strcmp(v->name.str, MAKE_EXPORTED) == 0)
 		var_exportedVars = VAR_EXPORTED_NONE;
@@ -611,16 +611,16 @@ ExportVarEnv(Var *v)
 	char *val = v->val.data;
 	char *expr;
 
-	if ((v->flags & VAR_EXPORTED) && !(v->flags & VAR_REEXPORT))
+	if ((v->flags & VFL_EXPORTED) && !(v->flags & VFL_REEXPORT))
 		return FALSE;	/* nothing to do */
 
 	if (strchr(val, '$') == NULL) {
-		if (!(v->flags & VAR_EXPORTED))
+		if (!(v->flags & VFL_EXPORTED))
 			setenv(name, val, 1);
 		return TRUE;
 	}
 
-	if (v->flags & VAR_IN_USE) {
+	if (v->flags & VFL_IN_USE) {
 		/*
 		 * We recursed while exporting in a child.
 		 * This isn't going to end well, just skip it.
@@ -643,8 +643,8 @@ ExportVarPlain(Var *v)
 {
 	if (strchr(v->val.data, '$') == NULL) {
 		setenv(v->name.str, v->val.data, 1);
-		v->flags |= VAR_EXPORTED;
-		v->flags &= ~(unsigned)VAR_REEXPORT;
+		v->flags |= VFL_EXPORTED;
+		v->flags &= ~(unsigned)VFL_REEXPORT;
 		return TRUE;
 	}
 
@@ -653,17 +653,17 @@ ExportVarPlain(Var *v)
 	 * No point actually exporting it now though,
 	 * the child process can do it at the last minute.
 	 */
-	v->flags |= VAR_EXPORTED | VAR_REEXPORT;
+	v->flags |= VFL_EXPORTED | VFL_REEXPORT;
 	return TRUE;
 }
 
 static Boolean
 ExportVarLiteral(Var *v)
 {
-	if ((v->flags & VAR_EXPORTED) && !(v->flags & VAR_REEXPORT))
+	if ((v->flags & VFL_EXPORTED) && !(v->flags & VFL_REEXPORT))
 		return FALSE;
 
-	if (!(v->flags & VAR_EXPORTED))
+	if (!(v->flags & VFL_EXPORTED))
 		setenv(v->name.str, v->val.data, 1);
 
 	return TRUE;
@@ -871,9 +871,9 @@ UnexportVar(const char *varname, Unexpor
 
 	DEBUG1(VAR, "Unexporting \"%s\"\n", varname);
 	if (what != UNEXPORT_ENV &&
-	    (v->flags & VAR_EXPORTED) && !(v->flags & VAR_REEXPORT))
+	    (v->flags & VFL_EXPORTED) && !(v->flags & VFL_REEXPORT))
 		unsetenv(v->name.str);
-	v->flags &= ~(unsigned)(VAR_EXPORTED | VAR_REEXPORT);
+	v->flags &= ~(unsigned)(VFL_EXPORTED | VFL_REEXPORT);
 
 	if (what == UNEXPORT_NAMED) {
 		/* Remove the variable names from .MAKE.EXPORTED. */
@@ -941,7 +941,7 @@ Var_SetWithFlags(GNode *scope, const cha
 	if (scope == SCOPE_GLOBAL) {
 		v = VarFind(name, SCOPE_CMDLINE, FALSE);
 		if (v != NULL) {
-			if (v->flags & VAR_FROM_CMD) {
+			if (v->flags & VFL_FROM_CMD) {
 				DEBUG3(VAR, "%s:%s = %s ignored!\n",
 				    scope->name, name, val);
 				return;
@@ -968,7 +968,7 @@ Var_SetWithFlags(GNode *scope, const cha
 		}
 		VarAdd(name, val, scope, flags);
 	} else {
-		if ((v->flags & VAR_READONLY) && !(flags & VAR_SET_READONLY)) {
+		if ((v->flags & VFL_READONLY) && !(flags & VAR_SET_READONLY)) {
 			DEBUG3(VAR, "%s:%s = %s ignored (read-only)\n",
 			    scope->name, name, val);
 			return;
@@ -977,7 +977,7 @@ Var_SetWithFlags(GNode *scope, const cha
 		Buf_AddStr(&v->val, val);
 
 		DEBUG3(VAR, "%s:%s = %s\n", scope->name, name, val);
-		if (v->flags & VAR_EXPORTED)
+		if (v->flags & VFL_EXPORTED)
 			ExportVar(name, VEM_PLAIN);
 	}
 	/*
@@ -989,7 +989,7 @@ Var_SetWithFlags(GNode *scope, const cha
 	    name[0] != '.') {
 		if (v == NULL)
 			v = VarFind(name, scope, FALSE); /* we just added it */
-		v->flags |= VAR_FROM_CMD;
+		v->flags |= VFL_FROM_CMD;
 
 		/*
 		 * If requested, don't export these in the environment
@@ -1092,23 +1092,23 @@ Var_Append(GNode *scope, const char *nam
 
 	if (v == NULL) {
 		Var_SetWithFlags(scope, name, val, VAR_SET_NONE);
-	} else if (v->flags & VAR_READONLY) {
+	} else if (v->flags & VFL_READONLY) {
 		DEBUG1(VAR, "Ignoring append to %s since it is read-only\n",
 		    name);
-	} else if (scope == SCOPE_CMDLINE || !(v->flags & VAR_FROM_CMD)) {
+	} else if (scope == SCOPE_CMDLINE || !(v->flags & VFL_FROM_CMD)) {
 		Buf_AddByte(&v->val, ' ');
 		Buf_AddStr(&v->val, val);
 
 		DEBUG3(VAR, "%s:%s = %s\n", scope->name, name, v->val.data);
 
-		if (v->flags & VAR_FROM_ENV) {
+		if (v->flags & VFL_FROM_ENV) {
 			/*
 			 * If the original variable came from the environment,
 			 * we have to install it in the global scope (we
 			 * could place it in the environment, but then we
 			 * should provide a way to export other variables...)
 			 */
-			v->flags &= ~(unsigned)VAR_FROM_ENV;
+			v->flags &= ~(unsigned)VFL_FROM_ENV;
 			/*
 			 * This is the only place where a variable is
 			 * created whose v->name is not the same as
@@ -4119,7 +4119,7 @@ ParseVarnameLong(
 		 * is still undefined, Var_Parse will return an empty string
 		 * instead of the actually computed value.
 		 */
-		v = VarNew(FStr_InitOwn(varname), "", VAR_NONE);
+		v = VarNew(FStr_InitOwn(varname), "", VFL_NONE);
 		*out_TRUE_exprDefined = DEF_UNDEF;
 	} else
 		free(varname);
@@ -4250,7 +4250,7 @@ Var_Parse(const char **pp, GNode *scope,
 	}
 
 	v = expr.var;
-	if (v->flags & VAR_IN_USE)
+	if (v->flags & VFL_IN_USE)
 		Fatal("Variable %s is recursive.", v->name.str);
 
 	/*
@@ -4273,10 +4273,10 @@ Var_Parse(const char **pp, GNode *scope,
 		VarEvalFlags nested_eflags = eflags;
 		if (opts.strict)
 			nested_eflags &= ~(unsigned)VARE_UNDEFERR;
-		v->flags |= VAR_IN_USE;
+		v->flags |= VFL_IN_USE;
 		(void)Var_Subst(expr.value.str, scope, nested_eflags,
 		    &expanded);
-		v->flags &= ~(unsigned)VAR_IN_USE;
+		v->flags &= ~(unsigned)VFL_IN_USE;
 		/* TODO: handle errors */
 		Expr_SetValueOwn(&expr, expanded);
 	}
@@ -4298,7 +4298,7 @@ Var_Parse(const char **pp, GNode *scope,
 
 	*pp = p;
 
-	if (v->flags & VAR_FROM_ENV) {
+	if (v->flags & VFL_FROM_ENV) {
 		FreeEnvVar(&expr.value.freeIt, v, expr.value.str);
 
 	} else if (expr.defined != DEF_REGULAR) {

Index: src/usr.bin/make/unit-tests/directive-export-impl.exp
diff -u src/usr.bin/make/unit-tests/directive-export-impl.exp:1.3 src/usr.bin/make/unit-tests/directive-export-impl.exp:1.4
--- src/usr.bin/make/unit-tests/directive-export-impl.exp:1.3	Mon Feb 15 18:23:32 2021
+++ src/usr.bin/make/unit-tests/directive-export-impl.exp	Tue Feb 16 16:28:41 2021
@@ -5,10 +5,10 @@ Global:.MAKE.EXPORTED = UT_VAR
 ParseReadLine (32): ': ${UT_VAR:N*}'
 Var_Parse: ${UT_VAR:N*} with VARE_UNDEFERR|VARE_WANTRES
 Var_Parse: ${REF}> with VARE_UNDEFERR|VARE_WANTRES
-Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VAR_EXPORTED|VAR_REEXPORT, regular)
+Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
 Pattern[UT_VAR] for [<>] is [*]
 ModifyWords: split "<>" into 1 words
-Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VAR_EXPORTED|VAR_REEXPORT, regular)
+Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
 ParseDoDependency(: )
 CondParser_Eval: ${:!echo "\$UT_VAR"!} != "<>"
 Var_Parse: ${:!echo "\$UT_VAR"!} != "<>" with VARE_UNDEFERR|VARE_WANTRES
@@ -26,10 +26,10 @@ lhs = "<>", rhs = "<>", op = !=
 ParseReadLine (49): ': ${UT_VAR:N*}'
 Var_Parse: ${UT_VAR:N*} with VARE_UNDEFERR|VARE_WANTRES
 Var_Parse: ${REF}> with VARE_UNDEFERR|VARE_WANTRES
-Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VAR_EXPORTED|VAR_REEXPORT, regular)
+Applying ${UT_VAR:N...} to "<>" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
 Pattern[UT_VAR] for [<>] is [*]
 ModifyWords: split "<>" into 1 words
-Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VAR_EXPORTED|VAR_REEXPORT, regular)
+Result of ${UT_VAR:N*} is "" (VARE_UNDEFERR|VARE_WANTRES, VFL_EXPORTED|VFL_REEXPORT, regular)
 ParseDoDependency(: )
 ParseReadLine (53): 'REF=		defined'
 Global:REF = defined

Index: src/usr.bin/make/unit-tests/directive-export-impl.mk
diff -u src/usr.bin/make/unit-tests/directive-export-impl.mk:1.1 src/usr.bin/make/unit-tests/directive-export-impl.mk:1.2
--- src/usr.bin/make/unit-tests/directive-export-impl.mk:1.1	Tue Dec 29 01:45:06 2020
+++ src/usr.bin/make/unit-tests/directive-export-impl.mk	Tue Feb 16 16:28:41 2021
@@ -1,4 +1,4 @@
-# $NetBSD: directive-export-impl.mk,v 1.1 2020/12/29 01:45:06 rillig Exp $
+# $NetBSD: directive-export-impl.mk,v 1.2 2021/02/16 16:28:41 rillig Exp $
 #
 # Test for the implementation of exporting variables to child processes.
 # This involves marking variables for export, actually exporting them,
@@ -8,8 +8,8 @@
 #	Var_Export
 #	ExportVar
 #	VarExportedMode (global)
-#	VAR_EXPORTED (per variable)
-#	VAR_REEXPORT (per variable)
+#	VFL_EXPORTED (per variable)
+#	VFL_REEXPORT (per variable)
 #	VarExportMode (per call of Var_Export and ExportVar)
 
 : ${:U:sh}			# side effect: initialize .SHELL
@@ -22,13 +22,13 @@ UT_VAR=		<${REF}>
 
 # At this point, ExportVar("UT_VAR", VEM_PLAIN) is called.  Since the
 # variable value refers to another variable, ExportVar does not actually
-# export the variable but only marks it as VAR_EXPORTED and VAR_REEXPORT.
+# export the variable but only marks it as VFL_EXPORTED and VFL_REEXPORT.
 # After that, ExportVars registers the variable name in .MAKE.EXPORTED.
 # That's all for now.
 .export UT_VAR
 
 # Evaluating this expression shows the variable flags in the debug log,
-# which are VAR_EXPORTED|VAR_REEXPORT.
+# which are VFL_EXPORTED|VFL_REEXPORT.
 : ${UT_VAR:N*}
 
 # At the last moment before actually forking off the child process for the
@@ -44,7 +44,7 @@ UT_VAR=		<${REF}>
 .endif
 
 # Evaluating this expression shows the variable flags in the debug log,
-# which are still VAR_EXPORTED|VAR_REEXPORT, which means that the variable
+# which are still VFL_EXPORTED|VFL_REEXPORT, which means that the variable
 # is still marked as being re-exported for each child process.
 : ${UT_VAR:N*}
 

Reply via email to