Project

General

Profile

Actions

Bug #9960

closed

Support type attribute transparent_union

Added by Ilja Zakharov over 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
High
Category:
-
Start date:
12/03/2019
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

CIF generates a file that cannot be processed by CIL. See issue #9893.

Find the problem file in the attachment.

In the example CIL fails with th following error:
[kernel] /fast/build bases/busybox/Storage/fast/programs/busybox/libbb/xconnect.c:102:6: User Error:
cannot cast from struct sockaddr const * to union anonunion_CONST_SOCKADDR_ARG_1188

100   void FAST_FUNC xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen)
101 {
102 if (connect(s, s_addr, addrlen) < 0) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
103 if (ENABLE_FEATURE_CLEAN_UP)
104 close(s);

Files

xconnect.c.aspect.i (8.77 KB) xconnect.c.aspect.i Ilja Zakharov, 12/03/2019 12:22 PM
xconnect.c.macroinstrumented (292 KB) xconnect.c.macroinstrumented Ilja Zakharov, 12/03/2019 12:22 PM
Actions #1

Updated by Evgeny Novikov over 4 years ago

  • Priority changed from Urgent to High

Nothing urgent in this issue that happens rarely.

Actions #2

Updated by Evgeny Novikov almost 4 years ago

  • Subject changed from CIF generates a file with incorrect casts to Support type attribute transparent_union

The issue is due to CIF misses attribute transparent_union in the resulting code. So, we just need to support it.

Actions #3

Updated by Evgeny Novikov almost 4 years ago

  • Status changed from New to Closed

Fixed (supported) in 7d10f36.

Actions

Also available in: Atom PDF