summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2014-05-05 21:25:24 (GMT)
committerBrad King <brad.king@kitware.com>2014-05-22 14:36:49 (GMT)
commitd849800351a6ed91f3d6b149bb9e50aaa4c42a99 (patch)
tree0d5304b770ede7ac3b76189c663edb0bdf252fec
parent96e9eb1766261605ebc97009d6ace20214eaa9a4 (diff)
downloadCMake-d849800351a6ed91f3d6b149bb9e50aaa4c42a99.zip
CMake-d849800351a6ed91f3d6b149bb9e50aaa4c42a99.tar.gz
CMake-d849800351a6ed91f3d6b149bb9e50aaa4c42a99.tar.bz2
variable_watch: Remove undocumented and redundant access type
The ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS access type was switched on an undocumented variable and its lookup caused an unnecessary performance impact. Remove it.
-rw-r--r--Help/release/dev/variable_watch-no-allowed-access.rst8
-rw-r--r--Source/cmMakefile.cxx13
-rw-r--r--Source/cmVariableWatch.cxx1
-rw-r--r--Source/cmVariableWatch.h1
4 files changed, 9 insertions, 14 deletions
diff --git a/Help/release/dev/variable_watch-no-allowed-access.rst b/Help/release/dev/variable_watch-no-allowed-access.rst
new file mode 100644
index 0000000..ba7b4a5
--- /dev/null
+++ b/Help/release/dev/variable_watch-no-allowed-access.rst
@@ -0,0 +1,8 @@
+variable_watch-no-allowed-access
+--------------------------------
+
+* Callbacks established by the :command:`variable_watch` command will no
+ longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when
+ the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is
+ set. Uninitialized variable accesses will always be reported as
+ ``UNKNOWN_READ_ACCESS``.
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 90a7b0b..9b7290b 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2472,19 +2472,8 @@ const char* cmMakefile::GetDefinition(const std::string& name) const
}
else
{
- // are unknown access allowed
- const char* allow = this->Internal->VarStack.top()
- .Get("CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS");
- if(cmSystemTools::IsOn(allow))
- {
- vv->VariableAccessed(name,
- cmVariableWatch::ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS, def, this);
- }
- else
- {
- vv->VariableAccessed(name,
+ vv->VariableAccessed(name,
cmVariableWatch::UNKNOWN_VARIABLE_READ_ACCESS, def, this);
- }
}
}
#endif
diff --git a/Source/cmVariableWatch.cxx b/Source/cmVariableWatch.cxx
index 8ad6fce..cb6cb12 100644
--- a/Source/cmVariableWatch.cxx
+++ b/Source/cmVariableWatch.cxx
@@ -16,7 +16,6 @@ static const char* const cmVariableWatchAccessStrings[] =
"READ_ACCESS",
"UNKNOWN_READ_ACCESS",
"UNKNOWN_DEFINED_ACCESS",
- "ALLOWED_UNKNOWN_READ_ACCESS",
"MODIFIED_ACCESS",
"REMOVED_ACCESS",
"NO_ACCESS"
diff --git a/Source/cmVariableWatch.h b/Source/cmVariableWatch.h
index c86fad0..0ca4a55 100644
--- a/Source/cmVariableWatch.h
+++ b/Source/cmVariableWatch.h
@@ -53,7 +53,6 @@ public:
VARIABLE_READ_ACCESS = 0,
UNKNOWN_VARIABLE_READ_ACCESS,
UNKNOWN_VARIABLE_DEFINED_ACCESS,
- ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS,
VARIABLE_MODIFIED_ACCESS,
VARIABLE_REMOVED_ACCESS,
NO_ACCESS