Skip to content

Commit 35356bd

Browse files
author
thk123
committed
keep typedefs when dumping c with --use-system-headers
1 parent 29af567 commit 35356bd

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/ansi-c/ansi_c_declaration.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ typet ansi_c_declarationt::full_type(
146146

147147
*p=type();
148148

149+
// retain typedef for dump-c
150+
if(get_is_typedef())
151+
result.set(ID_typedef,declarator.get_name());
152+
149153
return result;
150154
}
151155

src/ansi-c/c_typecheck_type.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ void c_typecheck_baset::typecheck_type(typet &type)
5252
c_qualifiers+=c_qualifierst(type.subtype());
5353
bool packed=type.get_bool(ID_C_packed);
5454
exprt alignment=static_cast<const exprt &>(type.find(ID_C_alignment));
55+
irept _typedef=type.find(ID_typedef);
5556

5657
type.swap(type.subtype());
5758

@@ -60,6 +61,8 @@ void c_typecheck_baset::typecheck_type(typet &type)
6061
type.set(ID_C_packed, true);
6162
if(alignment.is_not_nil())
6263
type.add(ID_C_alignment, alignment);
64+
if(_typedef.is_not_nil())
65+
type.add(ID_typedef, _typedef);
6366

6467
return; // done
6568
}

0 commit comments

Comments
 (0)