[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pnet-developers] [bug #6121] Code calling sscanf is compiled incorrectl
From: |
nobody |
Subject: |
[Pnet-developers] [bug #6121] Code calling sscanf is compiled incorrectly by cscc |
Date: |
Thu, 06 Nov 2003 23:15:59 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826 |
=================== BUG #6121: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=6121&group_id=353
Changes by: Rhys Weatherley <address@hidden>
Date: Fri 11/07/2003 at 04:15 (GMT)
What | Removed | Added
---------------------------------------------------------------------------
Resolution | None | Invalid
Status | Open | Closed
------------------ Additional Follow-up Comments ----------------------------
sscanf is not currently compiled into pnetC (i.e. it does
not exist). The verifier is choking on the fact that the
non-existent definition does not match the call site. Defining a dummy sscanf
in the test case makes the problem
go away. Not a bug. Or at least not a bug in the compiler
or verifier. :)
=================== BUG #6121: FULL BUG SNAPSHOT ===================
Submitted by: None Project: DotGNU Portable.NET
Submitted on: Thu 10/23/2003 at 11:57
Category: None Severity: 5 - Major
Bug Group: None Resolution: Invalid
Assigned to: None Status: Closed
Summary: Code calling sscanf is compiled incorrectly by cscc
Original Submission: The code is
int i;
sscanf("320","%d",&i);
but it compiled as
ldsflda valuetype '$strings'/'type4' '$strings'::'str0'
ldsflda valuetype '$strings'/'type3' '$strings'::'str1'
ldloca.s 0
conv.i8
call vararg int32 'sscanf'(int8
modopt(['OpenSystem.C']'OpenSystem.C'.'IsConst') *, int8
modopt(['OpenSystem.C']'OpenSystem.C'.'IsConst') *, ..., int64)
pop
Which is wrong (obviously).
Follow-up Comments
*******************
-------------------------------------------------------
Date: Fri 11/07/2003 at 04:15 By: rweather
sscanf is not currently compiled into pnetC (i.e. it does
not exist). The verifier is choking on the fact that the
non-existent definition does not match the call site. Defining a dummy sscanf
in the test case makes the problem
go away. Not a bug. Or at least not a bug in the compiler
or verifier. :)
-------------------------------------------------------
Date: Mon 10/27/2003 at 06:22 By: None
Ok, so the verifier is choking on it . Still a bug :)
-------------------------------------------------------
Date: Thu 10/23/2003 at 21:14 By: rweather
Looks correct to me. All values that are passed via a
vararg list must be first converted to their "natural
passing type". In the case of pointers, the natural
passing type is "int64". See the ABI specification in
"pnet/doc/c_language_abi.html" for more details.
CC list is empty
File Attachments
****************
-------------------------------------------------------
Date: Thu 10/23/2003 at 11:58 Name: test2.il Size: 1KB By: None
IL Code generated
http://savannah.gnu.org/bugs/download.php?group_id=353&bug_id=6121&bug_file_id=746
-------------------------------------------------------
Date: Thu 10/23/2003 at 11:57 Name: test2.c Size: 0KB By: None
The source code for test
http://savannah.gnu.org/bugs/download.php?group_id=353&bug_id=6121&bug_file_id=745
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=6121&group_id=353
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pnet-developers] [bug #6121] Code calling sscanf is compiled incorrectly by cscc,
nobody <=