[llvm-commits] [llvm] r75665 -/llvm/trunk/tools/bugpoint/ToolRunner.cpp

Dan Gohman gohman at apple.com
Wed Jul 15 11:27:39 PDT 2009


On Jul 14, 2009, at 6:58 PM, Viktor Kutuzov wrote:


> There are 2 different types of status codes we could get there:
>
> 1. The test status code, which bugpoint uses to narrow down the  
> problem;
> 2. The remote client status code (for example if it cannot connect  
> to a remote target and such).
>
> As it was before, the remote client status code was returned, which  
> made bugpoint handle remote client errors as test program
> errors - it assumes that something is wrong with the test program  
> and tries to narrow down the problem.
>
> As it is now (thanks Evan for fixing that warning for me), the test  
> status code got appended to the output file and participates at
> the diffProgram step.
> The remote client errors get reported and 0 always returned. The  
> same behavior we have in the test suite.
>
> Ideally, we need to have 2 separate ranges/namespaces for these 2  
> different types of status codes, in this case we can return test
> program status code from GCC::ExecuteProgram and escalate remote  
> client errors with llvm_report_error.
> Does anyone have a good idea how to do this?

If #2 is non-zero have RemoteRunSafely.sh print a message and return  
127.
Otherwise have it return #1.

Then make bugpoint recognize 127 (and 126) as fatal errors, so that it
bails immediately instead of trying to reduce a problem. In all other  
cases,
bugpoint could then handle the exit code from RemoteRunSafely.sh the  
same
way as it handles the exit code from a regular local execution. And
RemoteRunSafely.sh doesn't have to print the exit code.

Dan




More information about the llvm-commits mailing list