This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c/515: gcc generates faulty code when passing struct to function by value



>Number:         515
>Category:       c
>Synopsis:       gcc generates faulty code when passing struct to function by value
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 08 03:26:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Jørn Lind-Nielsen
>Release:        gcc 2.95.2
>Organization:
>Environment:
RS6000 Power PC 43p
AIX 4.3.3 and AIX 4.3.2
>Description:
Passing a struct by value to a function fails. See the
accompanying file for more info.

In main() the struct field "NoOfElems" is set to 24. Thereafter the struct is passed to the function 'f' - where the value suddenly is 0!

The error only occurs for the following sizes of the array in the struct: 31,32, 35,36, 39,40 etc.
>How-To-Repeat:
compile with "gcc file.c -o file.c" then run. The output is zero where 24 was expected.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-zip-compressed; name="scrap.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="scrap.zip"

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
AAADAAMAoQAAAA0SAAAAAA==

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]