Skip to content

Commit b9ce2d4

Browse files
committed
goto-programs: use new symbolt constructors
To the extent possible, apply resource-acquisition-is-initialisation. The constructors ensure that at least the most essential fields (name, type, mode) are set.
1 parent 349db8d commit b9ce2d4

File tree

4 files changed

+8
-24
lines changed

4 files changed

+8
-24
lines changed

src/goto-programs/builtin_functions.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,10 +1379,8 @@ void goto_convertt::do_function_call_symbol(
13791379

13801380
if(!symbol_table.has_symbol(name))
13811381
{
1382-
symbolt new_symbol;
1382+
symbolt new_symbol{name, f_type, mode};
13831383
new_symbol.base_name=name;
1384-
new_symbol.name=name;
1385-
new_symbol.type=f_type;
13861384
new_symbol.location=function.source_location();
13871385
symbol_table.add(new_symbol);
13881386
}

src/goto-programs/goto_convert_exceptions.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,10 @@ symbol_exprt goto_convertt::exception_flag(const irep_idt &mode)
242242

243243
if(s_it==symbol_table.symbols.end())
244244
{
245-
symbolt new_symbol;
245+
symbolt new_symbol{id, bool_typet{}, mode};
246246
new_symbol.base_name="$exception_flag";
247-
new_symbol.name=id;
248247
new_symbol.is_lvalue=true;
249248
new_symbol.is_thread_local=true;
250-
new_symbol.is_file_local=false;
251-
new_symbol.type=bool_typet();
252-
new_symbol.mode = mode;
253249
symbol_table.insert(std::move(new_symbol));
254250
}
255251

src/goto-programs/name_mangler.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ class function_name_manglert
6767
continue;
6868

6969
const irep_idt mangled = mangle_fun(sym, extra_info);
70-
symbolt new_sym;
71-
new_sym = sym;
70+
symbolt new_sym = sym;
7271
new_sym.name = mangled;
7372
new_sym.is_file_local = false;
7473

src/goto-programs/string_instrumentation.cpp

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -732,26 +732,20 @@ void string_instrumentationt::do_strerror(
732732

733733
if(symbol_table.symbols.find(identifier_buf)==symbol_table.symbols.end())
734734
{
735-
symbolt new_symbol_size;
736-
new_symbol_size.base_name="__strerror_buffer_size";
735+
symbolt new_symbol_size{identifier_size, size_type(), ID_C};
736+
new_symbol_size.base_name = identifier_size;
737737
new_symbol_size.pretty_name=new_symbol_size.base_name;
738-
new_symbol_size.name=identifier_size;
739-
new_symbol_size.mode=ID_C;
740-
new_symbol_size.type=size_type();
741738
new_symbol_size.is_state_var=true;
742739
new_symbol_size.is_lvalue=true;
743740
new_symbol_size.is_static_lifetime=true;
744741

745742
array_typet type(char_type(), new_symbol_size.symbol_expr());
746-
symbolt new_symbol_buf;
747-
new_symbol_buf.mode=ID_C;
748-
new_symbol_buf.type=type;
743+
symbolt new_symbol_buf{identifier_buf, type, ID_C};
749744
new_symbol_buf.is_state_var=true;
750745
new_symbol_buf.is_lvalue=true;
751746
new_symbol_buf.is_static_lifetime=true;
752-
new_symbol_buf.base_name="__strerror_buffer";
747+
new_symbol_buf.base_name = identifier_buf;
753748
new_symbol_buf.pretty_name=new_symbol_buf.base_name;
754-
new_symbol_buf.name=new_symbol_buf.base_name;
755749

756750
symbol_table.insert(std::move(new_symbol_buf));
757751
symbol_table.insert(std::move(new_symbol_size));
@@ -812,12 +806,9 @@ void string_instrumentationt::invalidate_buffer(
812806

813807
if(symbol_table.symbols.find(cntr_id)==symbol_table.symbols.end())
814808
{
815-
symbolt new_symbol;
809+
symbolt new_symbol{cntr_id, size_type(), ID_C};
816810
new_symbol.base_name="$counter";
817811
new_symbol.pretty_name=new_symbol.base_name;
818-
new_symbol.name=cntr_id;
819-
new_symbol.mode=ID_C;
820-
new_symbol.type=size_type();
821812
new_symbol.is_state_var=true;
822813
new_symbol.is_lvalue=true;
823814
new_symbol.is_static_lifetime=true;

0 commit comments

Comments
 (0)