Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default to signed output to look better by default #300

Closed
wants to merge 1 commit into from

Conversation

Ninja3047
Copy link
Contributor

Should be a better default since most things tend to be signed to begin with

unsigned char var_2004__CBx13_D[13] = "Hello world!\000";

unsigned int main(unsigned int arg0, void *arg1, void *arg2) {
    puts(&var_2004__CBx13_D);
    return 0U;
}
signed char var_2004__CBx13_D[13] = "Hello world!\000";

int main(int arg0, void *arg1, void *arg2) {
    puts(&var_2004__CBx13_D);
    return 0U;
}

@Ninja3047
Copy link
Contributor Author

Ref #132 maybe?

@github-actions
Copy link

github-actions bot commented Sep 8, 2022

See the diff generated by this PR for the tests here: https://github.com/lifting-bits/rellic/actions/runs/3015809182

fizzbuzz.bc

--- /dev/fd/63	2022-09-08 14:39:07.504673115 +0000
+++ /dev/fd/62	2022-09-08 14:39:07.504673115 +0000
@@ -1,19 +1,19 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[10] = "fizzbuzz\n\000";
-unsigned char _str_1[6] = "fizz\n\000";
-unsigned char _str_2[6] = "buzz\n\000";
-unsigned char _str_3[4] = "%d\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int printf(void *arg0, ...);
+signed char _str[10] = "fizzbuzz\n\000";
+signed char _str_1[6] = "fizz\n\000";
+signed char _str_2[6] = "buzz\n\000";
+signed char _str_3[4] = "%d\n\000";
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
-    while ((int)var1 < 30)
+    while (var1 < 30)
         {
-            if ((int)var1 % 3 != 0U || !((int)var1 % 5 == 0U || (int)var1 % 3 != 0U)) {
-                if ((int)var1 % 3 != 0U) {
-                    if ((int)var1 % 5 != 0U) {
+            if (var1 % 3 != 0U || !(var1 % 3 != 0U || var1 % 5 == 0U)) {
+                if (var1 % 3 != 0U) {
+                    if (var1 % 5 != 0U) {
                         printf("%d\n", var1);
                     } else {
                         printf("buzz\n");

typedefs_of_typedefs.bc

--- /dev/fd/63	2022-09-08 14:39:08.928681414 +0000
+++ /dev/fd/62	2022-09-08 14:39:08.932681438 +0000
@@ -1,27 +1,27 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[11] = "a=[%d %d]\n\000";
-unsigned char _str_1[29] = "array=[%lld %lld %lld %lld]\n\000";
-unsigned long array[4] = {};
-unsigned int main() {
-    unsigned int var0;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var1;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var2;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var3;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var4;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var5;
-    __attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long var6;
+int main();
+int printf(void *arg0, ...);
+signed char _str[11] = "a=[%d %d]\n\000";
+signed char _str_1[29] = "array=[%lld %lld %lld %lld]\n\000";
+long array[4] = {};
+int main() {
+    int var0;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var1;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var2;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var3;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var4;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var5;
+    __attribute__((__vector_size__(2 * sizeof(long)))) long var6;
     void *var7;
     var0 = 0U;
-    var4 = (__attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long){1UL, 2UL};
+    var4 = (__attribute__((__vector_size__(2 * sizeof(long)))) long){1UL, 2UL};
     var1 = var4;
-    var5 = (__attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long){};
+    var5 = (__attribute__((__vector_size__(2 * sizeof(long)))) long){};
     var2 = var5;
-    var6 = (__attribute__((__vector_size__(2 * sizeof(unsigned long)))) unsigned long){4UL, 3UL};
+    var6 = (__attribute__((__vector_size__(2 * sizeof(long)))) long){4UL, 3UL};
     var3 = var6;
     var1 = var1 * var2 + var3;
     var7 = (&var1);
-    printf("a=[%d %d]\n", *((unsigned int *)var7), ((unsigned int *)var7)[1UL]);
+    printf("a=[%d %d]\n", *((int *)var7), ((int *)var7)[1UL]);
     printf("array=[%lld %lld %lld %lld]\n", *array, array[1UL], array[2UL], array[3UL]);
     return 0U;
 }

switch_loop.bc

--- /dev/fd/63	2022-09-08 14:39:09.008681885 +0000
+++ /dev/fd/62	2022-09-08 14:39:09.008681885 +0000
@@ -1,9 +1,9 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[4] = "%d\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int printf(void *arg0, ...);
+signed char _str[4] = "%d\n\000";
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
     do {

func_cond_zero_arg.bc

--- /dev/fd/63	2022-09-08 14:39:09.384684100 +0000
+++ /dev/fd/62	2022-09-08 14:39:09.384684100 +0000
@@ -1,13 +1,13 @@
-unsigned int f();
-unsigned int main();
-unsigned int x = 0U;
-unsigned int y = 1U;
-unsigned int f() {
+int f();
+int main();
+int x = 0U;
+int y = 1U;
+int f() {
     return 1U;
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int call1;
+int main() {
+    int var0;
+    int call1;
     var0 = 0U;
     call1 = f();
     if (call1 == 0U) {

fcmp.bc

--- /dev/fd/63	2022-09-08 14:39:09.564685161 +0000
+++ /dev/fd/62	2022-09-08 14:39:09.568685184 +0000
@@ -1,20 +1,20 @@
-unsigned int main();
+int main();
 float atof(void *arg0);
-unsigned int printf(void *arg0, ...);
-unsigned char _str[2] = "3\000";
-unsigned char _str_1[2] = "2\000";
-unsigned char _str_2[19] = "%d %d %d %d %d %d\n\000";
-unsigned int main() {
+int printf(void *arg0, ...);
+signed char _str[2] = "3\000";
+signed char _str_1[2] = "2\000";
+signed char _str_2[19] = "%d %d %d %d %d %d\n\000";
+int main() {
     float var0;
     float var1;
     float var2;
     float var3;
-    unsigned int var4;
-    unsigned int var5;
-    unsigned int var6;
-    unsigned int var7;
-    unsigned int var8;
-    unsigned int var9;
+    int var4;
+    int var5;
+    int var6;
+    int var7;
+    int var8;
+    int var9;
     float call10;
     float call11;
     var0 = __builtin_nan("");
@@ -23,12 +23,12 @@
     call11 = atof("2");
     var2 = call11;
     var3 = -var1;
-    var4 = (var3 > var0);
-    var5 = (var3 >= var0);
-    var6 = (var1 > var2);
-    var7 = (var1 >= var2);
-    var8 = __builtin_isunordered(var1, var0);
-    var9 = __builtin_isunordered(var1, var2);
+    var4 = (unsigned int)(var3 > var0);
+    var5 = (unsigned int)(var3 >= var0);
+    var6 = (unsigned int)(var1 > var2);
+    var7 = (unsigned int)(var1 >= var2);
+    var8 = (unsigned int)__builtin_isunordered(var1, var0);
+    var9 = (unsigned int)__builtin_isunordered(var1, var2);
     printf("%d %d %d %d %d %d\n", var4, var5, var6, var7, var8, var9);
     return 0U;
 }

conflicting_names.bc

--- /dev/fd/63	2022-09-08 14:39:09.644685632 +0000
+++ /dev/fd/62	2022-09-08 14:39:09.644685632 +0000
@@ -1,37 +1,37 @@
-unsigned int foo();
-unsigned int bar();
-unsigned int main();
-unsigned int atoi(void *arg0);
-unsigned int foo() {
-    unsigned int var0;
+int foo();
+int bar();
+int main();
+int atoi(void *arg0);
+int foo() {
+    int var0;
     var0 = 0U;
     return var0;
 }
-unsigned int bar() {
-    unsigned int var0;
+int bar() {
+    int var0;
     var0 = 1U;
     return var0;
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main() {
+    int var0;
+    int var1;
     void *var2;
-    unsigned int var3;
-    unsigned int var4;
-    unsigned int var5;
-    unsigned int var6;
-    unsigned int call7;
+    int var3;
+    int var4;
+    int var5;
+    int var6;
+    int call7;
     var0 = 0U;
     var1 = 0U;
     var2 = (void *)0U;
     var3 = 0U;
-    if (1 >= (int)var1) {
+    if (1 >= var1) {
         var6 = 1U;
         var3 = var6;
     } else {
         call7 = atoi(((void **)var2)[1UL]);
         var4 = call7;
-        if ((int)var4 > 10) {
+        if (var4 > 10) {
             var5 = 99U;
             var3 = var5;
         }

struct.bc

--- /dev/fd/63	2022-09-08 14:39:09.900687140 +0000
+++ /dev/fd/62	2022-09-08 14:39:09.900687140 +0000
@@ -1,11 +1,11 @@
-unsigned int main();
+int main();
 struct struct__pair {
-    unsigned int field0;
-    unsigned int field1;
+    int field0;
+    int field1;
 };
 struct struct__pair a = {0U, 42U};
-unsigned int main() {
-    unsigned int var0;
+int main() {
+    int var0;
     var0 = 0U;
     if (a.field0 == 0U) {
         var0 = a.field1;

issue_183_literal_structs.bc

--- /dev/fd/63	2022-09-08 14:39:10.068688130 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.068688130 +0000
@@ -1,36 +1,36 @@
-unsigned int bar(unsigned long arg0, unsigned long arg1);
+int bar(long arg0, long arg1);
 struct union_anon {
-    unsigned int field0;
+    int field0;
 };
 struct union_anon_0 {
-    unsigned int field0;
+    int field0;
 };
 struct struct_foo_t {
-    unsigned int field0;
-    unsigned int field1;
+    int field0;
+    int field1;
     struct union_anon field2;
     struct union_anon_0 field3;
 };
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[4] = "%d\n\000";
+int main();
+int printf(void *arg0, ...);
+signed char _str[4] = "%d\n\000";
 struct literal_struct_0 {
-    unsigned long field0;
-    unsigned long field1;
+    long field0;
+    long field1;
 };
-unsigned int bar(unsigned long arg0, unsigned long arg1) {
+int bar(long arg0, long arg1) {
     struct struct_foo_t var0;
     void *val1;
     val1 = (&var0);
     ((struct literal_struct_0 *)val1)->field0 = arg0;
     ((struct literal_struct_0 *)val1)->field1 = arg1;
-    return *(unsigned int *)(&var0.field3);
+    return *(int *)(&var0.field3);
 }
-unsigned int main() {
+int main() {
     struct struct_foo_t var0;
     void *val1;
-    unsigned int call2;
-    *(unsigned int *)(&var0.field3) = 3U;
+    int call2;
+    *(int *)(&var0.field3) = 3U;
     val1 = (&var0);
     call2 = bar(((struct literal_struct_0 *)val1)->field0, ((struct literal_struct_0 *)val1)->field1);
     printf("%d\n", call2);

zeroinit.bc

--- /dev/fd/63	2022-09-08 14:39:10.160688671 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.160688671 +0000
@@ -1,21 +1,21 @@
-unsigned int main();
+int main();
 struct struct__pair {
-    unsigned int field0;
-    unsigned int field1;
+    int field0;
+    int field1;
 };
 struct struct__person {
     void *field0;
-    unsigned char field1;
+    signed char field1;
 };
 struct struct__record {
-    unsigned int field0;
+    int field0;
     struct struct__pair field1;
     struct struct__person field2;
 };
 struct struct__record r1 = {};
-unsigned long a1[256] = {};
-unsigned int main() {
-    unsigned int var0;
+long a1[256] = {};
+int main() {
+    int var0;
     var0 = 0U;
     if (r1.field1.field0 == 0U) {
         if (a1[42UL] == 0UL) {

issue_127_uint128_t_lit.bc

--- /dev/fd/63	2022-09-08 14:39:10.432690274 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.432690274 +0000
@@ -1,8 +1,8 @@
-unsigned int main();
-unsigned __int128 x = (unsigned __int128)3735928559ULL;
-unsigned int main() {
-    unsigned int var0;
-    unsigned char val1;
+int main();
+__int128 x = (unsigned __int128)3735928559ULL;
+int main() {
+    int var0;
+    signed char val1;
     var0 = 0U;
     val1 = (x & (unsigned __int128)65535ULL) == (unsigned __int128)48879ULL;
     return val1 ? 0U : 1U;

struct_swap.bc

--- /dev/fd/63	2022-09-08 14:39:10.508690721 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.508690721 +0000
@@ -1,12 +1,12 @@
-unsigned int main();
+int main();
 struct struct__pair {
-    unsigned int field0;
-    unsigned int field1;
+    int field0;
+    int field1;
 };
 struct struct__pair a = {0U, 42U};
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = a.field0;
     a.field0 = a.field1;

init_list.bc

--- /dev/fd/63	2022-09-08 14:39:10.584691169 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.584691169 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned int a[5] = {0U, 1U, 2U, 3U, 4U};
-unsigned int main() {
-    unsigned int var0;
+int main();
+int a[5] = {0U, 1U, 2U, 3U, 4U};
+int main() {
+    int var0;
     var0 = 0U;
     return a[1UL];
 }

ret0.bc

--- /dev/fd/63	2022-09-08 14:39:10.660691617 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.660691617 +0000
@@ -1,11 +1,11 @@
-unsigned int f();
-unsigned int main();
-unsigned int f() {
+int f();
+int main();
+int f() {
     return 1U;
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int call1;
+int main() {
+    int var0;
+    int call1;
     var0 = 0U;
     call1 = f();
     return call1;

bool.bc

--- /dev/fd/63	2022-09-08 14:39:10.740692088 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.740692088 +0000
@@ -1,8 +1,8 @@
-unsigned int main();
-unsigned long a = 0UL;
-unsigned long b = 1UL;
-unsigned int main() {
-    unsigned int var0;
+int main();
+long a = 0UL;
+long b = 1UL;
+int main() {
+    int var0;
     var0 = 0U;
     if ((unsigned int)(a == b) != 0U) {
         var0 = 1U;

short.bc

--- /dev/fd/63	2022-09-08 14:39:10.904693054 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.904693054 +0000
@@ -1,10 +1,10 @@
-unsigned int main();
-unsigned short a = (unsigned short)0U;
-unsigned int main() {
-    unsigned int var0;
-    unsigned short var1;
+int main();
+short a = (unsigned short)0U;
+int main() {
+    int var0;
+    short var1;
     var0 = 0U;
-    a = 13U;
+    a = (unsigned short)13U;
     var1 = a;
     return (unsigned int)var1;
 }

cast.bc

--- /dev/fd/63	2022-09-08 14:39:10.976693478 +0000
+++ /dev/fd/62	2022-09-08 14:39:10.976693478 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned int a = 0U;
-unsigned int main() {
-    unsigned int var0;
+int main();
+int a = 0U;
+int main() {
+    int var0;
     var0 = 0U;
-    return (unsigned int)(&a);
+    return (int)(&a);
 }

nullptr.bc

--- /dev/fd/63	2022-09-08 14:39:11.052693926 +0000
+++ /dev/fd/62	2022-09-08 14:39:11.056693950 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
+int main();
 void *ptr = (void *)0U;
-unsigned int main() {
-    unsigned int var0;
+int main() {
+    int var0;
     var0 = 0U;
     if (ptr != (void *)0U) {
         var0 = 1U;

nested_struct.bc

--- /dev/fd/63	2022-09-08 14:39:11.232694986 +0000
+++ /dev/fd/62	2022-09-08 14:39:11.232694986 +0000
@@ -1,23 +1,23 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[4] = "Bob\000";
+int main();
+int printf(void *arg0, ...);
+signed char _str[4] = "Bob\000";
 struct struct__pair {
-    unsigned int field0;
-    unsigned int field1;
+    int field0;
+    int field1;
 };
 struct struct__person {
     void *field0;
-    unsigned char field1;
+    signed char field1;
 };
 struct struct__record {
-    unsigned int field0;
+    int field0;
     struct struct__pair field1;
     struct struct__person field2;
 };
 struct struct__record r1 = {14U, {33U, 42U}, {"Bob", (unsigned char)66U}};
-unsigned char _str_1[9] = "Name: %s\000";
-unsigned int main() {
-    unsigned int var0;
+signed char _str_1[9] = "Name: %s\000";
+int main() {
+    int var0;
     var0 = 0U;
     printf("Name: %s", r1.field2.field0);
     return r1.field1.field1;

array_swap.bc

--- /dev/fd/63	2022-09-08 14:39:11.308695434 +0000
+++ /dev/fd/62	2022-09-08 14:39:11.308695434 +0000
@@ -1,8 +1,8 @@
-unsigned int main();
-unsigned int a[2] = {0U, 42U};
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int a[2] = {0U, 42U};
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = *a;
     *a = a[1UL];

binops.bc

--- /dev/fd/63	2022-09-08 14:39:11.380695858 +0000
+++ /dev/fd/62	2022-09-08 14:39:11.380695858 +0000
@@ -1,11 +1,11 @@
-unsigned int target(unsigned int arg0);
-unsigned int main();
-unsigned int target(unsigned int arg0) {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int var2;
+int target(int arg0);
+int main();
+int target(int arg0) {
+    int var0;
+    int var1;
+    int var2;
     var0 = arg0;
-    var1 = var0 % 4U;
+    var1 = (unsigned int)var0 % 4U;
     var2 = 0U;
     if (var1 != 0U) {
         if (var1 != 1U) {
@@ -22,9 +22,9 @@
     }
     return var2;
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int call1;
+int main() {
+    int var0;
+    int call1;
     var0 = 0U;
     call1 = target(3735928559U);
     return call1;

bitmask.bc

--- /dev/fd/63	2022-09-08 14:39:11.884698827 +0000
+++ /dev/fd/62	2022-09-08 14:39:11.884698827 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned long a = 43981UL;
-unsigned int main() {
-    unsigned int var0;
+int main();
+long a = 43981UL;
+int main() {
+    int var0;
     var0 = 0U;
     if ((a & 4080UL) >> 4UL != 188UL) {
         var0 = 1U;

loop.bc

--- /dev/fd/63	2022-09-08 14:39:12.056699840 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.056699840 +0000
@@ -1,17 +1,17 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[19] = "Variable at %d is \000";
-unsigned char _str_1[7] = "even.\n\000";
-unsigned char _str_2[6] = "odd.\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int printf(void *arg0, ...);
+signed char _str[19] = "Variable at %d is \000";
+signed char _str_1[7] = "even.\n\000";
+signed char _str_2[6] = "odd.\n\000";
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
     while (var1 != 10U)
         {
             printf("Variable at %d is ", var1);
-            if (var1 % 2U != 0U) {
+            if ((unsigned int)var1 % 2U != 0U) {
                 printf("odd.\n");
             } else {
                 printf("even.\n");

float.bc

--- /dev/fd/63	2022-09-08 14:39:12.484702362 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.484702362 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
+int main();
 float f = 3.1400001F;
-unsigned int main() {
-    unsigned int var0;
+int main() {
+    int var0;
     double var1;
     double var2;
     var0 = 0U;

reg_test_structure_fields.bc

--- /dev/fd/63	2022-09-08 14:39:12.648703328 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.648703328 +0000
@@ -1,11 +1,11 @@
-unsigned int main();
+int main();
 struct struct_a {
-    unsigned int field0;
+    int field0;
 };
 struct struct_b {
     struct struct_a field0;
 };
-unsigned int main() {
+int main() {
     struct struct_b var0;
     return 0U;
 }

vectors.bc

--- /dev/fd/63	2022-09-08 14:39:12.728703799 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.728703799 +0000
@@ -1,24 +1,24 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[17] = "a=[%d %d %d %d]\n\000";
-unsigned int main() {
-    unsigned int var0;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var1;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var2;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var3;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var4;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var5;
-    __attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int var6;
+int main();
+int printf(void *arg0, ...);
+signed char _str[17] = "a=[%d %d %d %d]\n\000";
+int main() {
+    int var0;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var1;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var2;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var3;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var4;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var5;
+    __attribute__((__vector_size__(4 * sizeof(int)))) int var6;
     void *var7;
     var0 = 0U;
-    var4 = (__attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int){1U, 2U, 3U, 4U};
+    var4 = (__attribute__((__vector_size__(4 * sizeof(int)))) int){1U, 2U, 3U, 4U};
     var1 = var4;
-    var5 = (__attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int){};
+    var5 = (__attribute__((__vector_size__(4 * sizeof(int)))) int){};
     var2 = var5;
-    var6 = (__attribute__((__vector_size__(4 * sizeof(unsigned int)))) unsigned int){4U, 3U, 2U, 1U};
+    var6 = (__attribute__((__vector_size__(4 * sizeof(int)))) int){4U, 3U, 2U, 1U};
     var3 = var6;
     var1 = var1 * var2 + var3;
     var7 = (&var1);
-    printf("a=[%d %d %d %d]\n", *((unsigned int *)var7), ((unsigned int *)var7)[1UL], ((unsigned int *)var7)[2UL], ((unsigned int *)var7)[3UL]);
+    printf("a=[%d %d %d %d]\n", *((int *)var7), ((int *)var7)[1UL], ((int *)var7)[2UL], ((int *)var7)[3UL]);
     return 0U;
 }

funcptr.bc

--- /dev/fd/63	2022-09-08 14:39:12.804704247 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.804704247 +0000
@@ -1,31 +1,31 @@
-unsigned int add(unsigned int arg0, unsigned int arg1);
-unsigned int sub(unsigned int arg0, unsigned int arg1);
-unsigned int main();
-unsigned int x = 0U;
-unsigned int add(unsigned int arg0, unsigned int arg1) {
-    unsigned int var0;
-    unsigned int var1;
+int add(int arg0, int arg1);
+int sub(int arg0, int arg1);
+int main();
+int x = 0U;
+int add(int arg0, int arg1) {
+    int var0;
+    int var1;
     var0 = arg0;
     var1 = arg1;
     return var0 + var1;
 }
-unsigned int sub(unsigned int arg0, unsigned int arg1) {
-    unsigned int var0;
-    unsigned int var1;
+int sub(int arg0, int arg1) {
+    int var0;
+    int var1;
     var0 = arg0;
     var1 = arg1;
     return var0 - var1;
 }
-unsigned int main() {
-    unsigned int var0;
+int main() {
+    int var0;
     void *var1;
-    unsigned int call2;
+    int call2;
     var0 = 0U;
     if (x == 0U) {
         var1 = &sub;
     } else {
         var1 = &add;
     }
-    call2 = ((unsigned int (*)(unsigned int, unsigned int))var1)(2U, 2U);
+    call2 = ((int (*)(int, int))var1)(2U, 2U);
     return call2;
 }

goto_loop.bc

--- /dev/fd/63	2022-09-08 14:39:12.976705260 +0000
+++ /dev/fd/62	2022-09-08 14:39:12.976705260 +0000
@@ -1,9 +1,9 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned char _str[4] = "%d\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int printf(void *arg0, ...);
+signed char _str[4] = "%d\n\000";
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
     while (1U)

branch.bc

--- /dev/fd/63	2022-09-08 14:39:13.428707923 +0000
+++ /dev/fd/62	2022-09-08 14:39:13.428707923 +0000
@@ -1,29 +1,29 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned int a = 0U;
-unsigned int c = 1U;
-unsigned char _str[39] = "Global variable 'a' of value %u is at \000";
-unsigned char _str_1[6] = "even \000";
-unsigned char _str_2[5] = "odd \000";
-unsigned char _str_3[39] = "Global variable 'c' of value %u is at \000";
-unsigned char _str_4[10] = "address.\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned long var1;
-    unsigned long var2;
+int main();
+int printf(void *arg0, ...);
+int a = 0U;
+int c = 1U;
+signed char _str[39] = "Global variable 'a' of value %u is at \000";
+signed char _str_1[6] = "even \000";
+signed char _str_2[5] = "odd \000";
+signed char _str_3[39] = "Global variable 'c' of value %u is at \000";
+signed char _str_4[10] = "address.\n\000";
+int main() {
+    int var0;
+    long var1;
+    long var2;
     var0 = 0U;
-    var1 = (unsigned long)(&a);
-    var2 = (unsigned long)(&c);
+    var1 = (long)(&a);
+    var2 = (long)(&c);
     if (c == 0U) {
         printf("Global variable 'c' of value %u is at ", c);
-        if (var2 % 2UL != 0UL) {
+        if ((unsigned long)var2 % 2UL != 0UL) {
             printf("odd ");
         } else {
             printf("even ");
         }
     } else {
         printf("Global variable 'a' of value %u is at ", a);
-        if (var1 % 2UL != 0UL) {
+        if ((unsigned long)var1 % 2UL != 0UL) {
             printf("odd ");
         } else {
             printf("even ");

bitops.bc

--- /dev/fd/63	2022-09-08 14:39:14.044711551 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.044711551 +0000
@@ -1,15 +1,15 @@
-unsigned int main();
-unsigned int a = 255U;
-unsigned int b = 7U;
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int a = 255U;
+int b = 7U;
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
-    if (((int)a >> b & 1U) != 0U) {
+    if ((a >> b & 1U) != 0U) {
         var1 = var1 + 1U;
     }
-    if ((a >> b ^ 1U) != 0U) {
+    if (((unsigned int)a >> b ^ 1U) != 0U) {
         var1 = var1 + 2U;
     }
     var1 = var1 + 3U;

trunc.bc

--- /dev/fd/63	2022-09-08 14:39:14.336713271 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.336713271 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned long a = 18446744073709551615UL;
-unsigned int main() {
-    unsigned int var0;
+int main();
+long a = 18446744073709551615UL;
+int main() {
+    int var0;
     var0 = 0U;
-    return (unsigned int)a;
+    return (int)a;
 }

inttoptr.bc

--- /dev/fd/63	2022-09-08 14:39:14.416713743 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.416713743 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned long a = 3735928559UL;
-unsigned int main() {
-    unsigned int var0;
+int main();
+long a = 3735928559UL;
+int main() {
+    int var0;
     void *var1;
     var0 = 0U;
     var1 = (void *)a;

issue_4.bc

--- /dev/fd/63	2022-09-08 14:39:14.580714709 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.580714709 +0000
@@ -1,10 +1,10 @@
-unsigned int foo(unsigned int arg0, unsigned int arg1);
-unsigned int main();
-unsigned int foo(unsigned int arg0, unsigned int arg1) {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int var2;
-    unsigned int var3;
+int foo(int arg0, int arg1);
+int main();
+int foo(int arg0, int arg1) {
+    int var0;
+    int var1;
+    int var2;
+    int var3;
     var0 = arg0;
     var1 = arg1;
     var2 = 0U;
@@ -12,14 +12,14 @@
     while (var3 != 42U)
         {
             var2 = var2 + var0;
-            var2 = var2 % var1;
+            var2 = (unsigned int)var2 % (unsigned int)var1;
             var3 = var3 + 1U;
         }
     return var2;
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int call1;
+int main() {
+    int var0;
+    int call1;
     var0 = 0U;
     call1 = foo(1U, 200U);
     return call1;

issue_123_uint128_t.bc

--- /dev/fd/63	2022-09-08 14:39:14.856716335 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.856716335 +0000
@@ -1,10 +1,10 @@
-unsigned int main();
-unsigned long x = 3735928559UL;
-unsigned int main() {
-    unsigned int var0;
-    unsigned __int128 var1;
+int main();
+long x = 3735928559UL;
+int main() {
+    int var0;
+    __int128 var1;
     var0 = 0U;
-    var1 = x;
+    var1 = (unsigned __int128)x;
     x = var1;
     return (unsigned int)(x & 255UL);
 }

fizzbuzz_stateful.bc

--- /dev/fd/63	2022-09-08 14:39:14.928716759 +0000
+++ /dev/fd/62	2022-09-08 14:39:14.928716759 +0000
@@ -1,34 +1,34 @@
 void fizzbuzz();
-unsigned int printf(void *arg0, ...);
-unsigned int main();
-unsigned int i = 0U;
-unsigned char _str[5] = "fizz\000";
-unsigned char _str_1[5] = "buzz\000";
-unsigned char _str_2[3] = "%d\000";
-unsigned char _str_3[2] = "\n\000";
+int printf(void *arg0, ...);
+int main();
+int i = 0U;
+signed char _str[5] = "fizz\000";
+signed char _str_1[5] = "buzz\000";
+signed char _str_2[3] = "%d\000";
+signed char _str_3[2] = "\n\000";
 void fizzbuzz() {
-    unsigned int var0;
+    int var0;
     var0 = i;
-    if ((int)i % 3 == 0U) {
+    if (i % 3 == 0U) {
         i = 4U;
         printf("fizz");
     }
-    if ((int)i % 5 == 0U) {
+    if (i % 5 == 0U) {
         printf("buzz");
     }
-    if ((int)i % 3 != 0U) {
-        if ((int)i % 5 != 0U) {
+    if (i % 3 != 0U) {
+        if (i % 5 != 0U) {
             printf("%d", i);
         }
     }
     i = var0;
     return;
 }
-unsigned int main() {
-    unsigned int var0;
+int main() {
+    int var0;
     var0 = 0U;
     i = 1U;
-    while ((int)i < 16)
+    while (i < 16)
         {
             fizzbuzz();
             printf("\n");

issue_94_strncmp.bc

--- /dev/fd/63	2022-09-08 14:39:15.624720859 +0000
+++ /dev/fd/62	2022-09-08 14:39:15.624720859 +0000
@@ -1,25 +1,25 @@
-unsigned int main();
+int main();
 void *strcpy(void *arg0, void *arg1);
-unsigned int strncmp(void *arg0, void *arg1, unsigned long arg2);
-unsigned int printf(void *arg0, ...);
-unsigned char _str[6] = "hello\000";
-unsigned char _str_1[12] = "helLO WORLD\000";
-unsigned char _str_2[70] = "ASCII value of first unmatched character of str1 is greater than str2\000";
-unsigned char _str_3[67] = "ASCII value of first unmatched character of str1 is less than str2\000";
-unsigned char _str_4[41] = "Both the strings str1 and str2 are equal\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned char var1[20];
-    unsigned char var2[20];
-    unsigned int call3;
-    unsigned int call4;
+int strncmp(void *arg0, void *arg1, long arg2);
+int printf(void *arg0, ...);
+signed char _str[6] = "hello\000";
+signed char _str_1[12] = "helLO WORLD\000";
+signed char _str_2[70] = "ASCII value of first unmatched character of str1 is greater than str2\000";
+signed char _str_3[67] = "ASCII value of first unmatched character of str1 is less than str2\000";
+signed char _str_4[41] = "Both the strings str1 and str2 are equal\000";
+int main() {
+    int var0;
+    signed char var1[20];
+    signed char var2[20];
+    int call3;
+    int call4;
     var0 = 0U;
     strcpy(var1, "hello");
     strcpy(var2, "helLO WORLD");
     call3 = strncmp(var1, var2, 3UL);
-    if ((int)call3 <= 0) {
+    if (call3 <= 0) {
         call4 = strncmp(var1, var2, 3UL);
-        if ((int)call4 >= 0) {
+        if (call4 >= 0) {
             printf("Both the strings str1 and str2 are equal");
         } else {
             printf("ASCII value of first unmatched character of str1 is less than str2");

global_using_function_decl.bc

--- /dev/fd/63	2022-09-08 14:39:15.948722767 +0000
+++ /dev/fd/62	2022-09-08 14:39:15.948722767 +0000
@@ -1,12 +1,12 @@
-void some_func(unsigned int arg0);
-unsigned int main();
+void some_func(int arg0);
+int main();
 void *afunc_pointer = &some_func;
-void some_func(unsigned int arg0) {
-    unsigned int var0;
+void some_func(int arg0) {
+    int var0;
     var0 = arg0;
     return;
 }
-unsigned int main() {
-    ((void (*)(unsigned int))afunc_pointer)(0U);
+int main() {
+    ((void (*)(int))afunc_pointer)(0U);
     return 0U;
 }

byval_struct.bc

--- /dev/fd/63	2022-09-08 14:39:16.032723261 +0000
+++ /dev/fd/62	2022-09-08 14:39:16.032723261 +0000
@@ -1,39 +1,39 @@
 struct struct_foo {
-    unsigned long field0;
-    unsigned long field1;
-    unsigned long field2;
-    unsigned long field3;
+    long field0;
+    long field1;
+    long field2;
+    long field3;
 };
-unsigned long get_3x(struct struct_foo arg0);
-unsigned int main();
-unsigned int atoi(void *arg0);
-unsigned int printf(void *arg0, ...);
-unsigned char _str[2] = "1\000";
-unsigned char _str_1[2] = "2\000";
-unsigned char _str_2[2] = "3\000";
-unsigned char _str_3[2] = "4\000";
-unsigned char _str_4[11] = "%lld %lld\n\000";
-unsigned long get_3x(struct struct_foo arg0) {
+long get_3x(struct struct_foo arg0);
+int main();
+int atoi(void *arg0);
+int printf(void *arg0, ...);
+signed char _str[2] = "1\000";
+signed char _str_1[2] = "2\000";
+signed char _str_2[2] = "3\000";
+signed char _str_3[2] = "4\000";
+signed char _str_4[11] = "%lld %lld\n\000";
+long get_3x(struct struct_foo arg0) {
     void *arg0_ptr = &arg0;
     ((struct struct_foo *)arg0_ptr)->field0 = ((struct struct_foo *)arg0_ptr)->field0 * 3UL;
     return ((struct struct_foo *)arg0_ptr)->field0;
 }
-unsigned int main() {
+int main() {
     struct struct_foo var0;
-    unsigned long var1;
-    unsigned int call2;
-    unsigned int call3;
-    unsigned int call4;
-    unsigned int call5;
-    unsigned long call6;
+    long var1;
+    int call2;
+    int call3;
+    int call4;
+    int call5;
+    long call6;
     call2 = atoi("1");
-    var0.field0 = (long)call2;
+    var0.field0 = call2;
     call3 = atoi("2");
-    var0.field1 = (long)call3;
+    var0.field1 = call3;
     call4 = atoi("3");
-    var0.field2 = (long)call4;
+    var0.field2 = call4;
     call5 = atoi("4");
-    var0.field3 = (long)call5;
+    var0.field3 = call5;
     call6 = get_3x(var0);
     var1 = call6;
     printf("%lld %lld\n", var0.field0, var1);

nested_while.bc

--- /dev/fd/63	2022-09-08 14:39:16.116723751 +0000
+++ /dev/fd/62	2022-09-08 14:39:16.116723751 +0000
@@ -1,31 +1,31 @@
-unsigned int main();
-unsigned int atoi(void *arg0);
-unsigned int printf(void *arg0, ...);
-unsigned char _str[2] = "5\000";
-unsigned char _str_1[13] = "loop1 x: %d\n\000";
-unsigned char _str_2[13] = "loop2 x: %d\n\000";
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int call2;
+int main();
+int atoi(void *arg0);
+int printf(void *arg0, ...);
+signed char _str[2] = "5\000";
+signed char _str_1[13] = "loop1 x: %d\n\000";
+signed char _str_2[13] = "loop2 x: %d\n\000";
+int main() {
+    int var0;
+    int var1;
+    int call2;
     var0 = 0U;
     call2 = atoi("5");
     var1 = call2;
-    if ((int)var1 > 10) {
-        while ((int)var1 < 20)
+    if (var1 > 10) {
+        while (var1 < 20)
             {
                 var1 = var1 + 1U;
                 printf("loop1 x: %d\n", var1);
             }
     }
-    if ((int)var1 >= 20 || (int)var1 <= 10) {
-        while ((int)var1 < 20)
+    if (var1 >= 20 || var1 <= 10) {
+        while (var1 < 20)
             {
                 var1 = var1 + 1U;
                 printf("loop2 x: %d\n", var1);
             }
     }
-    if (((int)var1 >= 20 || (int)var1 <= 10) && (int)var1 >= 20) {
+    if (var1 >= 20 && (var1 >= 20 || var1 <= 10)) {
         return var0;
     }
 }

func_cond_two_arg.bc

--- /dev/fd/63	2022-09-08 14:39:16.848728020 +0000
+++ /dev/fd/62	2022-09-08 14:39:16.848728020 +0000
@@ -1,17 +1,17 @@
-unsigned int f(unsigned int arg0, unsigned int arg1);
-unsigned int main();
-unsigned int x = 0U;
-unsigned int y = 1U;
-unsigned int f(unsigned int arg0, unsigned int arg1) {
-    unsigned int var0;
-    unsigned int var1;
+int f(int arg0, int arg1);
+int main();
+int x = 0U;
+int y = 1U;
+int f(int arg0, int arg1) {
+    int var0;
+    int var1;
     var0 = arg0;
     var1 = arg1;
-    return (unsigned int)((int)var0 < (int)var1);
+    return (unsigned int)(var0 < var1);
 }
-unsigned int main() {
-    unsigned int var0;
-    unsigned int call1;
+int main() {
+    int var0;
+    int call1;
     var0 = 0U;
     call1 = f(x, y);
     if (call1 == 0U) {

conflicting_global.bc

--- /dev/fd/63	2022-09-08 14:39:17.020729023 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.020729023 +0000
@@ -1,9 +1,9 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned int a = 3U;
-unsigned char _str[4] = "%d\n\000";
-unsigned int main() {
-    unsigned int var0;
+int main();
+int printf(void *arg0, ...);
+int a = 3U;
+signed char _str[4] = "%d\n\000";
+int main() {
+    int var0;
     var0 = 4U;
     printf("%d\n", var0);
     printf("%d\n", a);

assert.bc

--- /dev/fd/63	2022-09-08 14:39:17.096729467 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.096729467 +0000
@@ -1,19 +1,19 @@
-unsigned int main();
-void __assert_fail(void *arg0, void *arg1, unsigned int arg2, void *arg3);
-unsigned long a = 1UL;
-unsigned char _str[6] = "a % 3\000";
-unsigned char _str_1[9] = "assert.c\000";
-unsigned char __PRETTY_FUNCTION___main[15] = "int main(void)\000";
-unsigned char _str_2[6] = "a % 7\000";
-unsigned char _str_3[7] = "a % 15\000";
-unsigned int main() {
-    unsigned int var0;
+int main();
+void __assert_fail(void *arg0, void *arg1, int arg2, void *arg3);
+long a = 1UL;
+signed char _str[6] = "a % 3\000";
+signed char _str_1[9] = "assert.c\000";
+signed char __PRETTY_FUNCTION___main[15] = "int main(void)\000";
+signed char _str_2[6] = "a % 7\000";
+signed char _str_3[7] = "a % 15\000";
+int main() {
+    int var0;
     var0 = 0U;
-    if (a % 3UL == 0UL) {
+    if ((unsigned long)a % 3UL == 0UL) {
         __assert_fail("a % 3", "assert.c", 6U, "int main(void)");
-    } else if (a % 7UL == 0UL) {
+    } else if ((unsigned long)a % 7UL == 0UL) {
         __assert_fail("a % 7", "assert.c", 7U, "int main(void)");
-    } else if (a % 15UL == 0UL) {
+    } else if ((unsigned long)a % 15UL == 0UL) {
         __assert_fail("a % 15", "assert.c", 8U, "int main(void)");
     } else {
         return 0U;

zext.bc

--- /dev/fd/63	2022-09-08 14:39:17.472731660 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.472731660 +0000
@@ -1,7 +1,7 @@
-unsigned int main();
-unsigned char a = (unsigned char)1U;
-unsigned int main() {
-    unsigned int var0;
+int main();
+signed char a = (unsigned char)1U;
+int main() {
+    int var0;
     var0 = 0U;
     return (unsigned int)a;
 }

switch.bc

--- /dev/fd/63	2022-09-08 14:39:17.552732126 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.552732126 +0000
@@ -1,8 +1,8 @@
-unsigned int main();
-unsigned int a = 12U;
-unsigned int main() {
-    unsigned int var0;
-    unsigned int var1;
+int main();
+int a = 12U;
+int main() {
+    int var0;
+    int var1;
     var0 = 0U;
     var1 = 0U;
     switch (a) {

template_parameter_pack.bc

--- /dev/fd/63	2022-09-08 14:39:17.756733316 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.756733316 +0000
@@ -1,23 +1,23 @@
-unsigned int main();
-unsigned int printf(void *arg0, ...);
-unsigned int _Z3sumIiJiiiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2, unsigned int arg3, unsigned int arg4);
-unsigned int _Z3sumIiJiiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2, unsigned int arg3);
-unsigned int _Z3sumIiJiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2);
-unsigned int _Z3sumIiET_S0_S0_(unsigned int arg0, unsigned int arg1);
-unsigned char _str[4] = "%d\n\000";
-unsigned int main() {
-    unsigned int call0;
+int main();
+int printf(void *arg0, ...);
+int _Z3sumIiJiiiiEET_S0_DpT0_(int arg0, int arg1, int arg2, int arg3, int arg4);
+int _Z3sumIiJiiiEET_S0_DpT0_(int arg0, int arg1, int arg2, int arg3);
+int _Z3sumIiJiiEET_S0_DpT0_(int arg0, int arg1, int arg2);
+int _Z3sumIiET_S0_S0_(int arg0, int arg1);
+signed char _str[4] = "%d\n\000";
+int main() {
+    int call0;
     call0 = _Z3sumIiJiiiiEET_S0_DpT0_(1U, 2U, 3U, 4U, 5U);
     printf("%d\n", call0);
     return 0U;
 }
-unsigned int _Z3sumIiJiiiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2, unsigned int arg3, unsigned int arg4) {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int var2;
-    unsigned int var3;
-    unsigned int var4;
-    unsigned int call5;
+int _Z3sumIiJiiiiEET_S0_DpT0_(int arg0, int arg1, int arg2, int arg3, int arg4) {
+    int var0;
+    int var1;
+    int var2;
+    int var3;
+    int var4;
+    int call5;
     var0 = arg0;
     var1 = arg1;
     var2 = arg2;
@@ -26,12 +26,12 @@
     call5 = _Z3sumIiJiiiEET_S0_DpT0_(var1, var2, var3, var4);
     return var0 + call5;
 }
-unsigned int _Z3sumIiJiiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2, unsigned int arg3) {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int var2;
-    unsigned int var3;
-    unsigned int call4;
+int _Z3sumIiJiiiEET_S0_DpT0_(int arg0, int arg1, int arg2, int arg3) {
+    int var0;
+    int var1;
+    int var2;
+    int var3;
+    int call4;
     var0 = arg0;
     var1 = arg1;
     var2 = arg2;
@@ -39,20 +39,20 @@
     call4 = _Z3sumIiJiiEET_S0_DpT0_(var1, var2, var3);
     return var0 + call4;
 }
-unsigned int _Z3sumIiJiiEET_S0_DpT0_(unsigned int arg0, unsigned int arg1, unsigned int arg2) {
-    unsigned int var0;
-    unsigned int var1;
-    unsigned int var2;
-    unsigned int call3;
+int _Z3sumIiJiiEET_S0_DpT0_(int arg0, int arg1, int arg2) {
+    int var0;
+    int var1;
+    int var2;
+    int call3;
     var0 = arg0;
     var1 = arg1;
     var2 = arg2;
     call3 = _Z3sumIiET_S0_S0_(var1, var2);
     return var0 + call3;
 }
-unsigned int _Z3sumIiET_S0_S0_(unsigned int arg0, unsigned int arg1) {
-    unsigned int var0;
-    unsigned int var1;
+int _Z3sumIiET_S0_S0_(int arg0, int arg1) {
+    int var0;
+    int var1;
     var0 = arg0;
     var1 = arg1;
     return var0 + var1;

byval_tail_nogep.ll

--- /dev/fd/63	2022-09-08 14:39:17.828733736 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.828733736 +0000
@@ -1,5 +1,5 @@
 struct struct_big_base {
-    unsigned int field0[32];
+    int field0[32];
 };
 double _Z3foo8big_base(struct struct_big_base x);
 double _Z3bar8big_base(struct struct_big_base arg0);

byval_tail_gep.ll

--- /dev/fd/63	2022-09-08 14:39:17.872733992 +0000
+++ /dev/fd/62	2022-09-08 14:39:17.872733992 +0000
@@ -1,5 +1,5 @@
 struct struct_big_base {
-    unsigned int field0[32];
+    int field0[32];
 };
 struct struct_big_derived {
     struct struct_big_base field0;

@Ninja3047 Ninja3047 closed this Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant