• Masahiro Yamada's avatar
    kconfig: error out if a recursive variable references itself · 915f6490
    Masahiro Yamada authored
    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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    915f6490
preprocess.c 11 KB