From 23711d7ba4f23f2aa616dcde49be5ba7121f3c73 Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 5 Dec 2017 16:53:37 +0000 Subject: [PATCH 1/2] Print exported attribute in expr2c --- src/ansi-c/expr2c.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ansi-c/expr2c.cpp b/src/ansi-c/expr2c.cpp index b175ecee994..5c732b2cf37 100644 --- a/src/ansi-c/expr2c.cpp +++ b/src/ansi-c/expr2c.cpp @@ -2686,6 +2686,11 @@ std::string expr2ct::convert_code_decl( dest+="static "; else if(symbol->is_extern) dest+="extern "; + else if( + symbol->is_exported && config.ansi_c.os == configt::ansi_ct::ost::OS_WIN) + { + dest += "__declspec(dllexport) "; + } if(symbol->type.id()==ID_code && to_code_type(symbol->type).get_inlined()) From bf4d2c5e755d28e0ac4543e02d3a5ecab87728f9 Mon Sep 17 00:00:00 2001 From: reuk Date: Thu, 7 Dec 2017 14:28:13 +0000 Subject: [PATCH 2/2] Include setjmp.h if the jmp_buf symbol is used --- src/goto-programs/system_library_symbols.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/goto-programs/system_library_symbols.cpp b/src/goto-programs/system_library_symbols.cpp index 045619f132e..d6ee5ee1d34 100644 --- a/src/goto-programs/system_library_symbols.cpp +++ b/src/goto-programs/system_library_symbols.cpp @@ -105,7 +105,7 @@ void system_library_symbolst::init_system_library_map() // setjmp.h std::list setjmp_syms= { - "_longjmp", "_setjmp", "longjmp", "longjmperror", "setjmp", + "_longjmp", "_setjmp", "jmp_buf", "longjmp", "longjmperror", "setjmp", "siglongjmp", "sigsetjmp" }; add_to_system_library("setjmp.h", setjmp_syms);