From d849800351a6ed91f3d6b149bb9e50aaa4c42a99 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 5 May 2014 17:25:24 -0400 Subject: [PATCH] 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. --- .../dev/variable_watch-no-allowed-access.rst | 8 ++++++++ Source/cmMakefile.cxx | 13 +------------ Source/cmVariableWatch.cxx | 1 - Source/cmVariableWatch.h | 1 - 4 files changed, 9 insertions(+), 14 deletions(-) create mode 100644 Help/release/dev/variable_watch-no-allowed-access.rst 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 0000000000..ba7b4a5860 --- /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 90a7b0bd43..9b7290b9d6 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 8ad6fce8f3..cb6cb12965 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 c86fad03ce..0ca4a5580e 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