Account for language on flag propagation

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
Massimiliano Culpo 2025-02-28 18:33:02 +01:00
parent 1316e4a2e3
commit eacdfef38f
No known key found for this signature in database
GPG Key ID: 3E52BB992233066C

View File

@ -1258,7 +1258,9 @@ error(100, "Cannot propagate the variant '{0}' from the package: {1} because pac
% 1. The same flag type is not set on this node
% 2. This node has the same compilers as the propagation source
node_compiler(node(X, Package), node(Y, Compiler)) :-
node_compiler(node(X, Package), node(Y, Compiler)) :- node_compiler(node(X, Package), node(Y, Compiler), Language).
node_compiler(node(X, Package), node(Y, Compiler), Language) :-
attr("virtual_on_edge", node(X, Package), node(Y, Compiler), Language),
compiler(Compiler), language(Language).
@ -1266,7 +1268,7 @@ propagated_flag(node(PackageID, Package), node_flag(FlagType, Flag, FlagGroup, S
propagate(node(PackageID, Package), node_flag(FlagType, Flag, FlagGroup, Source), _),
not attr("node_flag_set", node(PackageID, Package), node_flag(FlagType, _, _, "literal")),
% Same compilers as propagation source
node_compiler(node(PackageID, Package), CompilerNode) : node_compiler(SourceNode, CompilerNode);
node_compiler(node(PackageID, Package), CompilerNode, Language) : node_compiler(SourceNode, CompilerNode, Language);
attr("propagate", SourceNode, node_flag(FlagType, Flag, FlagGroup, Source), _),
node(PackageID, Package) != SourceNode,
not runtime(Package).