@needs_dlfcn
def test_dylink_many_postsets(self):
    NUM = 1234
    self.dylink_test(header=(((((('\n      #include <stdio.h>\n      typedef void (*voidfunc)();\n      static void simple() {\n        printf("simple.\\n");\n      }\n      static volatile voidfunc funcs[' + str(NUM)) + '] = { ') + ','.join((['simple'] * NUM))) + ' };\n      static void test() {\n        volatile int i = ') + str((NUM - 1))) + ';\n        funcs[i]();\n        i = 0;\n        funcs[i]();\n      }\n      extern void more();\n    '), main='\n      #include "header.h"\n      int main() {\n        test();\n        more();\n        return 0;\n      }\n    ', side='\n      #include "header.h"\n      void more() {\n        test();\n      }\n    ', expected=['simple.\nsimple.\nsimple.\nsimple.\n'])
@needs_dlfcn
def test_dylink_many_postsets(self):
    NUM = 1234
    self.dylink_test(header=(((((('\n      #include <stdio.h>\n      typedef void (*voidfunc)();\n      static void simple() {\n        printf("simple.\\n");\n      }\n      static volatile voidfunc funcs[' + str(NUM)) + '] = { ') + ','.join((['simple'] * NUM))) + ' };\n      static void test() {\n        volatile int i = ') + str((NUM - 1))) + ';\n        funcs[i]();\n        i = 0;\n        funcs[i]();\n      }\n      extern void more();\n    '), main='\n      #include "header.h"\n      int main() {\n        test();\n        more();\n        return 0;\n      }\n    ', side='\n      #include "header.h"\n      void more() {\n        test();\n      }\n    ', expected=['simple.\nsimple.\nsimple.\nsimple.\n'])