dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pnet-developers] [bugs #10182] pnetC/cscc: incorrect interpretation of


From: Rhys Weatherley
Subject: [Pnet-developers] [bugs #10182] pnetC/cscc: incorrect interpretation of empty prototypes
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826

This mail is an automated notification from the bugs tracker
 of the project: DotGNU Portable.NET.

/**************************************************************************/
[bugs #10182] Latest Modifications:

Changes by: 
                Rhys Weatherley <address@hidden>
'Date: 
                Thu 09/16/2004 at 00:13 (GMT)

            What     | Removed                   | Added
---------------------------------------------------------------------------
          Resolution | None                      | Wont Fix
              Status | Open                      | Closed


------------------ Additional Follow-up Comments ----------------------------
The CLR uses both the name and the signature to identify
a function.  This means that all functions must be properly
prototyped for C code to be successfully compiled to the
CLR.  It isn't possible to guess the parameter types:
is it "unsigned int", "unsigned char", or "int" in
this case?  It could be anything.

I suggest that you fix m4 and submit a patch to its
maintainer.  There are other functions in the m4 code that
are properly prototyped, using __STDC__ to detect ANSI vs
K&R.  They must have missed this one.






/**************************************************************************/
[bugs #10182] Full Item Snapshot:

URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=10182>
Project: DotGNU Portable.NET
Submitted by: John Goerzen
On: Fri 08/27/2004 at 19:32

Category:  None
Severity:  5 - Average
Item Group:  None
Resolution:  Wont Fix
Privacy:  Public
Assigned to:  None
Status:  Closed


Summary:  pnetC/cscc: incorrect interpretation of empty prototypes

Original Submission:  In the GNU program m4 1.4.2 (from 
ftp.gnu.org/pub/gnu/m4), there is this prototype:

extern void printchar ();

Later on in the code, there's this call:

          printchar (i - 1);

(i is an unsigned int)

We also see:

          printchar (*p++);

p is defined as:

  unsigned char *p = start;

The error cscc raises is:

regex.c:514: too many arguments to function `printchar'

Note that the prototype does not specify void and an empty argument list simply 
means that the compiler should not check the argument list.

A full build log is attached.


Follow-up Comments
------------------


-------------------------------------------------------
Date: Thu 09/16/2004 at 00:13       By: Rhys Weatherley <rweather>
The CLR uses both the name and the signature to identify
a function.  This means that all functions must be properly
prototyped for C code to be successfully compiled to the
CLR.  It isn't possible to guess the parameter types:
is it "unsigned int", "unsigned char", or "int" in
this case?  It could be anything.

I suggest that you fix m4 and submit a patch to its
maintainer.  There are other functions in the m4 code that
are properly prototyped, using __STDC__ to detect ANSI vs
K&R.  They must have missed this one.






File Attachments
-------------------

-------------------------------------------------------
Date: Fri 08/27/2004 at 19:32  Name: buildlog.txt  Size: 12.23KB   By: jgoerzen

http://savannah.gnu.org/bugs/download.php?item_id=10182&amp;item_file_id=1616






For detailed info, follow this link:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=10182>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]