Thread overview
[Issue 223] New: Error message for void.init doesn't specify error location
Jun 24, 2006
d-bugmail
Jun 30, 2006
Thomas Kuehne
Sep 10, 2006
d-bugmail
Sep 13, 2006
d-bugmail
[Issue 223] Error message for unset constants doesn't specify error location
Sep 15, 2006
d-bugmail
Sep 20, 2006
Thomas Kuehne
Oct 20, 2007
d-bugmail
Jun 19, 2008
d-bugmail
June 24, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=223

           Summary: Error message for void.init doesn't specify error
                    location
           Product: D
           Version: 0.161
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: diagnostic
          Severity: trivial
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: deewiant@gmail.com


int i = void.init;

The above code correctly produces the error "integral constant must be scalar type, not void". Alas, DMD neglects to inform where the error occurred: even when compiling a large project containing many long files, the error message is precisely the quoted string.

Whilst not strictly speaking a bug, I believe this is enough of an issue that it merits fixing.


-- 

June 30, 2006
d-bugmail@puremagic.com schrieb am 2006-06-24:
> http://d.puremagic.com/issues/show_bug.cgi?id=223

> int i = void.init;
>
> The above code correctly produces the error "integral constant must be scalar type, not void". Alas, DMD neglects to inform where the error occurred: even when compiling a large project containing many long files, the error message is precisely the quoted string.

test case:
http://dstress.kuehne.cn/nocompile/v/void_02_A.d

Thomas


September 10, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=223


smjg@iname.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smjg@iname.com




------- Comment #1 from smjg@iname.com  2006-09-10 12:29 -------
What makes you think it's "not strictly speaking a bug"?


-- 

September 13, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=223





------- Comment #2 from deewiant@gmail.com  2006-09-13 10:28 -------
Poor wording, or a brain fart, on my part. It is a bug, but since the error is reported correctly it's not that big of a deal.


-- 

September 15, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=223


lio@lunesu.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Error message for void.init |Error message for unset
                   |doesn't specify error       |constants doesn't specify
                   |location                    |error location




------- Comment #3 from lio@lunesu.com  2006-09-15 11:23 -------
The same incomplete error is generated for the following code:

void main()
{
        const int x;
}

DMD v0.166:
UnhandledError(0,0): Error: integral constant must be scalar type, not void


-- 

September 20, 2006
d-bugmail@puremagic.com schrieb am 2006-09-15:
> http://d.puremagic.com/issues/show_bug.cgi?id=223

> ------- Comment #3 from lio@lunesu.com  2006-09-15 11:23 -------
> The same incomplete error is generated for the following code:
>
> void main()
> {
>         const int x;
> }
>
> DMD v0.166:
> UnhandledError(0,0): Error: integral constant must be scalar type, not void

Added to DStress as http://dstress.kuehne.cn/nocompile/c/const_38_A.d http://dstress.kuehne.cn/nocompile/c/const_38_B.d

Thomas


October 20, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=223





------- Comment #5 from braddr@puremagic.com  2007-10-20 03:37 -------
The noise past the original bug report seems to have gotten the original bug overlooked.

void main()
{
    int i == void.init;
}

Produces this error, without a line number for the second error:
  bug223.d(3): Error: void does not have an initializer
  Error: integral constant must be scalar type, not void.

NOTE: dropping the .init part changes the semantics to 'don't default initialize i' and there's no error at all, which is the correct behavior.


-- 

June 19, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=223


clugdbug@yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #6 from clugdbug@yahoo.com.au  2008-06-19 07:22 -------
This works now (DMD 1.030 & 2.015).


--