www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - weird

reply David Medlock <amedlock nospam.org> writes:
I have gotten the following error several times, and I cannot seem to 
isolate the problem at all:

solver.obj
  Error 42: Symbol Undefined __arguments_Aaik
--- errorlevel 1
SMAKE fatal error: command "dmd" returned with error code 1


I am guessing 'Aaik' is a type signature, but I cannot decode it...

I would like to hunt this down, but I honestly don't know where to look.

Any help is appreciated.
Dec 23 2004
parent reply "Thomas Kuehne" <thomas-dloop kuehne.cn> writes:
"David Medlock" <amedlock nospam.org> schrieb im Newsbeitrag
news:cqg81u$1pos$1 digitaldaemon.com...
 I have gotten the following error several times, and I cannot seem to
 isolate the problem at all:

 solver.obj
   Error 42: Symbol Undefined __arguments_Aaik
 --- errorlevel 1
 SMAKE fatal error: command "dmd" returned with error code 1


 I am guessing 'Aaik' is a type signature, but I cannot decode it...

 I would like to hunt this down, but I honestly don't know where to look.
1) Cut the code down until any further reductions removes the error message. 2) Try a search for "aik" in the source code. 3) Enable debug info and compile(without linking), search for "aik" in the object file. 4) Try to write a dummy "std/typeinfo/ti_*" class. Thomas
Dec 24 2004
parent reply David Medlock <amedlock nospam.org> writes:
Thomas Kuehne wrote:
<snip> *some helpful stuff*

Thanks Thomas.

This is pretty strange.  Its difficult to debug this because it is in a 
stack template class I wrote(attached).  Believe it or not it is the 
writefln statement in the following routine:

   // Note: negative indices are from the end of the stack
   // ( this[-1] = last, this[0]=first )
   T   opIndex( int n )
   in { assert( mCount>0 ); }
   body
   {
     alias std.string.toString str ;

     if ( n<0 ) n = mCount + n;
     if( (n<0) || (n>=this.mCount))
     {
       char[] msg = "Attempting to index item %s %s items" ~ str(n) ~
         " with " ~ str( mCount ) ~ " items." ;
       writefln("Attempting to index item %s with %s items", n, mCount );
       throw new Exception("Stack Underflow: " ~ msg );
     }
     else  return data[n];
   }

If I comment out the writefln statement, everything links fine.
It even happens when i qualify using std.stdio.writefln.

Its a bit strange because (unless I am mistaken) the A in Aaik is a 
class reference type and I am passing no class references...
Dec 24 2004
parent reply "Simon Buchan" <currently no.where> writes:
On Fri, 24 Dec 2004 09:20:40 -0500, David Medlock <amedlock nospam.org>  
wrote:

That code links fine with my system (dmd 0.109 XP). This may have something
to do with your "SMAKE" whatever that is.

-- 
"Unhappy Microsoft customers have a funny way of becoming Linux,
Salesforce.com and Oracle customers." - www.microsoft-watch.com:
"The Year in Review: Microsoft Opens Up"
--
"I plan on at least one critical patch every month, and I haven't been  
disappointed."
- Adam Hansen, manager of security at Sonnenschein Nath & Rosenthal LLP
(Quote from http://www.eweek.com/article2/0,1759,1736104,00.asp)
--
"It's been a challenge to "reteach or retrain" Web users to pay for  
content, said Pizey"
-Wired website: "The Incredible Shrinking Comic"
Dec 24 2004
parent "Thomas Kuehne" <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Simon Buchan schrieb:
 That code links fine with my system (dmd 0.109 XP). This may have something
 to do with your "SMAKE" whatever that is.
I can't reproduce it either (dmd & gdc Linux). Thomas PS: If it's a compiler bug, I am sure you can reduce this test case's size further. -----BEGIN PGP SIGNATURE----- iD8DBQFBzzPl3w+/yD4P9tIRAkRfAKC+8KoP1TUcohRNmyUFnznFH5rXCACgtqk/ ooFWosOevI8YlArVcbT8oMU= =yzYZ -----END PGP SIGNATURE-----
Dec 26 2004