@all_engines
@needs_dlfcn
def test_dylink_i64_b(self):
    self.dylink_test('\n      #include <stdio.h>\n      #include <stdint.h>\n      extern int64_t sidey();\n      int64_t testAdd(int64_t a) {\n        return a + 1;\n      }\n      int64_t testAddB(int a) {\n        return a + 1;\n      }\n      typedef int64_t (*testAddHandler)(int64_t);\n      testAddHandler h = &testAdd;\n      typedef int64_t (*testAddBHandler)(int);\n      testAddBHandler hb = &testAddB;\n      int main() {\n        printf("other says %lld.\\n", sidey());\n        int64_t r = h(42);\n        printf("my fp says: %lld.\\n", r);\n        int64_t rb = hb(42);\n        printf("my second fp says: %lld.\\n", r);\n      }\n    ', '\n      #include <stdint.h>\n      int64_t sidey() {\n        volatile int64_t x = 0x12345678abcdef12LL;\n        x += x % 17;\n        x = 18 - x;\n        return x;\n      }\n    ', 'other says -1311768467750121224.\nmy fp says: 43.\nmy second fp says: 43.')
@all_engines
@needs_dlfcn
def test_dylink_i64_b(self):
    self.dylink_test('\n      #include <stdio.h>\n      #include <stdint.h>\n      extern int64_t sidey();\n      int64_t testAdd(int64_t a) {\n        return a + 1;\n      }\n      int64_t testAddB(int a) {\n        return a + 1;\n      }\n      typedef int64_t (*testAddHandler)(int64_t);\n      testAddHandler h = &testAdd;\n      typedef int64_t (*testAddBHandler)(int);\n      testAddBHandler hb = &testAddB;\n      int main() {\n        printf("other says %lld.\\n", sidey());\n        int64_t r = h(42);\n        printf("my fp says: %lld.\\n", r);\n        int64_t rb = hb(42);\n        printf("my second fp says: %lld.\\n", r);\n      }\n    ', '\n      #include <stdint.h>\n      int64_t sidey() {\n        volatile int64_t x = 0x12345678abcdef12LL;\n        x += x % 17;\n        x = 18 - x;\n        return x;\n      }\n    ', 'other says -1311768467750121224.\nmy fp says: 43.\nmy second fp says: 43.')