Branch: refs/heads/master
Revision: 1f3763d
Author: lydia-duncan
Log Message:
Merge pull request #17848 from lydia-duncan/deprecateConfigs
Add deprecation warnings when deprecated configs are set at compilation and execution
[reviewed by @bradcray]
Deprecated configs already have warnings generated when the config is used in
Chapel code, but special handling was needed to generate warning when the
config is set via compilation or execution arguments. This change adds such
handling.
Resolves #17791
Resolves Cray/chapel-private#2089
For the execution flags, pass deprecation information along at codegen so that the
runtime can detect if the config being set was deprecated and generate the
appropriate message if so.
Adds tests to cover the behavior of config params and the behavior of config
vars, both with and without an explicit message provided. These tests pass in
various combinations of compilation options and execution options respectively.
Passed a full paratest with futures
Modified Files:
A test/deprecated-keyword/handleConfig.chpl
A test/deprecated-keyword/handleConfig.execopts
A test/deprecated-keyword/handleConfig.set.good
A test/deprecated-keyword/handleConfig.set2.good
A test/deprecated-keyword/handleConfig.unset.good
A test/deprecated-keyword/handleConfigNoMsg.chpl
A test/deprecated-keyword/handleConfigNoMsg.execopts
A test/deprecated-keyword/handleConfigNoMsg.set.good
A test/deprecated-keyword/handleConfigNoMsg.set2.good
A test/deprecated-keyword/handleConfigNoMsg.unset.good
A test/deprecated-keyword/handleConfigParam.chpl
A test/deprecated-keyword/handleConfigParam.compopts
A test/deprecated-keyword/handleConfigParam.set.good
A test/deprecated-keyword/handleConfigParam.unset.good
A test/deprecated-keyword/handleConfigParamNoMsg.chpl
A test/deprecated-keyword/handleConfigParamNoMsg.compopts
A test/deprecated-keyword/handleConfigParamNoMsg.set.good
A test/deprecated-keyword/handleConfigParamNoMsg.unset.good
M compiler/AST/build.cpp
M compiler/codegen/codegen.cpp
M runtime/include/config.h
M runtime/src/config.c
Compare: https://github.com/chapel-lang/chapel/compare/c33418dd9109...1f3763d08d8a