[Lldb-commits] [lldb] r191457 - Fix the thread jump test case for 32-bit inferiors. A jump was going back to a function call using a source line number. However, the parameters being passed to the function were setup before the instruction we jumped to. In other words, the source line was associated with assembly after the function parameters had been setup for the function to be called.

Richard Mitton richard at codersnotes.com
Wed Oct 2 18:52:07 PDT 2013


Isn't this actually a compiler bug? I mean, in a non-optimized build, 
you would expect all code relevant to a source line to be emitted in 
strict order, with correct line numbers.

(i.e. it shouldn't be putting code for parameters before the line 
itself, unless some kind of optimization is enabled)

Richard Mitton
richard at codersnotes.com

On 09/26/2013 01:54 PM, Matt Kopec wrote:
> Author: mkopec
> Date: Thu Sep 26 15:54:17 2013
> New Revision: 191457
>
> URL: http://llvm.org/viewvc/llvm-project?rev=191457&view=rev
> Log:
> Fix the thread jump test case for 32-bit inferiors. A jump was going back to a function call using a source line number. However, the parameters being passed to the function were setup before the instruction we jumped to. In other words, the source line was associated with assembly after the function parameters had been setup for the function to be called.
>
> Modified:
>      lldb/trunk/test/functionalities/thread/jump/main.cpp
>
> Modified: lldb/trunk/test/functionalities/thread/jump/main.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/thread/jump/main.cpp?rev=191457&r1=191456&r2=191457&view=diff
> ==============================================================================
> --- lldb/trunk/test/functionalities/thread/jump/main.cpp (original)
> +++ lldb/trunk/test/functionalities/thread/jump/main.cpp Thu Sep 26 15:54:17 2013
> @@ -26,9 +26,10 @@ int main ()
>   {
>       int i;
>       double j;
> -
> -    i = min(4, 5); // 3rd marker
> -    j = min(7.0, 8.0); // 4th marker
> +    int min_i_a = 4, min_i_b = 5;
> +    double min_j_a = 7.0, min_j_b = 8.0;
> +    i = min(min_i_a, min_i_b); // 3rd marker
> +    j = min(min_j_a, min_j_b); // 4th marker
>   
>       return 0;
>   }
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits




More information about the lldb-commits mailing list