Description
While working on #365, we discovered one case in which the 3c
tool could print important errors to stderr and still exit zero. As a result, we had been unaware that the partial_checked_arr
test was not testing what it was supposed to. #365 changed 3c
to exit nonzero if any Clang tool reports failure, which we believe (but haven't confirmed) happens if at least one error diagnostic is issued and perhaps in other cases as well.
This issue is for someone knowledgeable to assess whether there are any more cases in which 3c
should exit nonzero. (Saying it should exit nonzero on any "error" only restates the question as appropriately defining "error". For example, if 3c
doesn't find a compilation database, it currently prints "Error while trying to load a compilation database", but we are all agreed that this doesn't justify a nonzero exit. #259 might change that particular message, but hopefully my general point is clear.)