diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-28 18:21:55 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-29 03:31:19 +0900 |
commit | 915f64901eb3f1e4e126f58c0d2f82f5ec1d1223 (patch) | |
tree | ff55db36fc7f90bcc51af0070bc65ac947737c4d /scripts/kconfig/lkc_proto.h | |
parent | a702a6176e2fea9ae366a7345247eb886e4cc730 (diff) |
kconfig: error out if a recursive variable references itself
When using a recursively expanded variable, it is a common mistake
to make circular reference.
For example, Make terminates the following code:
X = $(X)
Y := $(X)
Let's detect the circular expansion in Kconfig, too.
On the other hand, a function that recurses itself is a commonly-used
programming technique. So, Make does not check recursion in the
reference with 'call'. For example, the following code continues
running eternally:
X = $(call X)
Y := $(X)
Kconfig allows circular expansion if one or more arguments are given,
but terminates when the same function is recursively invoked 1000 times,
assuming it is a programming mistake.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/kconfig/lkc_proto.h')
0 files changed, 0 insertions, 0 deletions