Zachary has this patch (http://reviews.llvm.org/D4282) that removes the trimming of the 4th component of the triple when setting the compiler triple for an expression evaluation when the target exists and has a valid architecture.
This fixes an issue for him. I tested it on Linux x86_64 running a Linux x86_64 target while at a breakpoint. I also did the same test for MacOSX lldb running against a MacOSX x86_64 exe. In both cases, a “(lldb) expr 5*3” worked and produced expected results.
Are there any triple cases where the trimming of the 4th element is mandatory for the expression execution to work? I thought you might have a simulator/device where this is necessary to do. If so, we can conditionalize when we trim. The patch as is just removes the trimming altogether.