www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

D.gnu - DLI operator overloading + goals

Hi all, in my playing with DLI I've noticed that operator overloading 
only work for eq() and add().  A bit of a look through machine-i386.cpp 
and a bit of a hack got me subtration working too - but only for 
class/struct op class/struct type expressions.  I've also just found 
that I get an error with
...
Mytest sub(int i) ...

there is the error
Error: incompatible types for ((t2) - (1)): 'Mytest' and 'int'

Which is an error code in cast.cpp
So I'm guessing that this is another feature that isn't quite ready for 
primetime yet (operator overloading was added late if I recal?)
I think that this is a frontend problem in the cast.cpp file and a 
backend issue in machine-i386 - am I right here?

My second question is about the goals of DLI - the README says that this 
is a first pass attempt to write a D backend in order to write an entire 
compiler for D in D?.  From the little I know about compilers having a 
self hosting compiler is usually a good thing as it catches a lot of bugs.


Also, how is the gcc backend project going?

Cheers
Brad
Jan 17 2003