This patch completes the support for the "declare target" directive in Sema. With this patch Sema handles implicitly used functions (i.e. functions which are used inside a target region without having been "declared target") including lambdas, templated functions, functions called from within target functions and ctors/dtors.
By default, use of implicit declare target functions is enabled. An upcoming driver patch will change that.
Where is it assigned a value 1? Currently it is disabled by default (initial value is 0).