[Bug 38076] New: lldb and gdb compute different values for expressions

Bug ID 38076
Summary lldb and gdb compute different values for expressions
Product lldb
Version unspecified
Hardware PC
OS Linux
Status NEW
Severity enhancement
Priority P
Component All Bugs
Assignee lldb-dev@lists.llvm.org
Reporter tianxiao.gu@gmail.com
CC chengniansun@gmail.com, davide@freebsd.org, llvm-bugs@lists.llvm.org, su@cs.ucdavis.edu

Created attachment 20530 [details]
reproducing scripts

See attached zip file to reproduce the inconsistency.

Affected version:

lldb version 7.0.0 ([http://llvm.org/svn/llvm-project/lldb/trunk](http://llvm.org/svn/llvm-project/lldb/trunk) revision
336302)
  clang revision 336302
  llvm revision 336302

~~~test.c
typedef unsigned int uint32_t;
struct S0 {
  signed f2;
};
static g_463 = 0x1561983AL;
void func_1(void)
{
  struct S0 l_19;
  l_19.f2 = 419;
  uint32_t l_4037 = 4294967295UL;
  l_19.f2 = g_463; // break here and evaluate ((l_4037 % (-(g_463))) | l_19.f2)
}
int main()
{
  func_1();
  return 0;
}

Davide Italiano changed bug 38076

What Removed Added
Resolution FIXED
Status NEW RESOLVED

Comment # 8 on bug 38076 from Davide Italiano

r336872. Thanks, Tianxiao!