www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2840] New: Missing line number for int %= complex

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840

           Summary: Missing line number for int %= complex
           Product: D
           Version: 1.042
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: diagnostic
          Severity: minor
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: clugdbug yahoo.com.au


void main(){
   int x;
   x %= 2+2i;
}
fog.d(3): Error: cannot perform modulo complex arithmetic
Error: long has no effect in expression (0)

---
I don't know where the 'long' comes from.
Both D1 and D2. This is one of the many op= bugs for erroneous complex
operations, along with issue #718 and issue #2839.


-- 
Apr 16 2009
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840


Don <clugdbug yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |patch
         AssignedTo|nobody puremagic.com        |bugzilla digitalmars.com




--- Comment #1 from Don <clugdbug yahoo.com.au>  2009-06-09 16:38:34 PDT ---
Root cause: ErrorExp() should not generate more error messages (ErrorExp never
has a line number).

PATCH: Solve it for all expression error messages.
expression.c, line 948

void Expression::error(const char *format, ...)
{
+   if (type==Type::terror) return;
    va_list ap;
    va_start(ap, format);
    ::verror(loc, format, ap);
    va_end( ap );
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 09 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840


Frits van Bommel <fvbommel wxs.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|patch                       |
                 CC|                            |fvbommel wxs.nl
         AssignedTo|bugzilla digitalmars.com    |nobody puremagic.com
         OS/Version|Windows                     |All




--- Comment #2 from Frits van Bommel <fvbommel wxs.nl>  2009-06-10 02:52:34 PDT
---
Don, you may want to look at mtype.c, line 224. "basic[Terror] =
basic[Tint32]". That's right, Type::terror == Type::tint32. (This is why 'int'
shows up in so many error messages) So your patch would disable errors for any
expression that's legitimately of type int.
In order to fix it this way, you'd need to also introduce a separate error
type. (Which I'm sure many people would appreciate if done properly, by the
way)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 10 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840





--- Comment #3 from Don <clugdbug yahoo.com.au>  2009-06-10 17:21:46 PDT ---
Aargh! You're right. That's useless! That defeats the whole purpose of an error
type.
It also makes ErrorExp() completely erroneous, because it's just an integer
expression without line number! (there's no Loc in the constructor).

I think there's at least one other patch I've submitted which is invalid for
the same reason.
There definitely needs to be an error type. It would take a lot of familiarity
with the code to be able to make one, though.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 10 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840


Don <clugdbug yahoo.com.au> changed:

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


--- Comment #4 from Don <clugdbug yahoo.com.au> 2010-06-14 04:33:01 PDT ---
Fixed DMD2.062.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 14 2010
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2840



--- Comment #5 from Don <clugdbug yahoo.com.au> 2010-06-14 04:33:26 PDT ---
Fixed DMD1.062.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 14 2010