diff --git a/divine/cc/cc1.cpp b/divine/cc/cc1.cpp index 5d951fde8a727785e6c5aece3df2b1f1cee5d8ab..9c4ed07e2ee06503f96df2bc72f8876a72b8f56f 100644 --- a/divine/cc/cc1.cpp +++ b/divine/cc/cc1.cpp @@ -32,10 +32,10 @@ DIVINE_UNRELAX_WARNINGS #include <divine/cc/cc1.hpp> #include <lart/divine/vaarg.h> -namespace divine::str::cc +namespace divine::str { - extern const std::string_view stddef_h; - extern const std::string_view stdarg_h; + struct stringtable { std::string n; std::string_view c; }; + extern stringtable cc_list[]; } namespace divine::cc @@ -84,8 +84,8 @@ namespace divine::cc if ( !ctx ) ctx.reset( new llvm::LLVMContext ); - mapVirtualFile( "/builtin/stddef.h", ::divine::str::cc::stddef_h ); - mapVirtualFile( "/builtin/stdarg.h", ::divine::str::cc::stdarg_h ); + for ( auto src = str::cc_list; !src->n.empty(); ++src ) + mapVirtualFile( brick::fs::joinPath( "/builtin/", src->n ), src->c ); } CC1::~CC1() { } diff --git a/divine/rt/runtime.cpp b/divine/rt/runtime.cpp index 0e69c2e361c0104535ddfd71d3f15d61f3982c86..1965b0ccd0e65a28c8f50bddbda463689a154fd9 100644 --- a/divine/rt/runtime.cpp +++ b/divine/rt/runtime.cpp @@ -20,7 +20,6 @@ namespace divine::str { - struct stringtable { std::string n; std::string_view c; }; extern stringtable dios_list[]; namespace dios_native { extern std::string_view libdios_host_a, libc__abi_a, libc___a; }