forked from OSchip/llvm-project
e2dc306b1a
Two RUN lines produce outputs that, each, have some common parts and some different parts. The common parts are checked under label A. The differing parts are associated to a function and checked under labels B and C, respectivelly. When build_function_body_dictionary is called for the first RUN line, it will attribute the function body to labels A and C. When the second RUN is passed to build_function_body_dictionary, it sees that the function body under A is different from what it has. If in this second RUN line, A were at the end of the prefixes list, A's body is still kept associated with the first run's function. When we output the function body (i.e. add_checks), we stop after emitting for the first prefix matching that function. So we end up with the wrong function body (first RUN's A-association). There is no reason to special-case the last label in the prefixes list, and the fix is to always clear a label association if we find a RUN line where the body is different. Differential Revision: https://reviews.llvm.org/D93078 |
||
---|---|---|
.. | ||
Inputs | ||
basic-cplusplus.test | ||
check_attrs.test | ||
def-and-decl.test | ||
generated-funcs.test | ||
lit.local.cfg | ||
mangled_names.test | ||
on_the_fly_arg_change.test | ||
prefix-never-matches.test |