@needs_dlfcn
@with_env_modify({'EMCC_FORCE_STDLIBS': 'libc++'})
def test_dylink_iostream(self):
    self.dylink_test(header='\n      #include <iostream>\n      #include <string>\n      std::string side();\n    ', main='\n      #include "header.h"\n      int main() {\n        std::cout << "hello from main " << side() << std::endl;\n        return 0;\n      }\n    ', side='\n      #include "header.h"\n      std::string side() { return "and hello from side"; }\n    ', expected=['hello from main and hello from side\n'])
@needs_dlfcn
@with_env_modify({'EMCC_FORCE_STDLIBS': 'libc++'})
def test_dylink_iostream(self):
    self.dylink_test(header='\n      #include <iostream>\n      #include <string>\n      std::string side();\n    ', main='\n      #include "header.h"\n      int main() {\n        std::cout << "hello from main " << side() << std::endl;\n        return 0;\n      }\n    ', side='\n      #include "header.h"\n      std::string side() { return "and hello from side"; }\n    ', expected=['hello from main and hello from side\n'])