patches and problem...

Here I am again...
I missed that in the previous diff, they are the usual missing <algorithm> and the std:: namespace missing in sort, find, make_pair.
Alkis can you please give them an eye when you have time?

The next major problem is that VC has only

int rand(void)
void srand( int seed )

So I donno how to compile the ExecutionEngine/Interpreter/ExternalFunctions.cpp that refers to the drand48 srand48 lrand48 etc series...
For now I hacked them, like

double drand48(void) { return (float) rand() / (float) RAND_MAX
and so...

Is it

diffs.txt (11.8 KB)

Applied:

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040927/018595.html
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040927/018597.html
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040927/018596.html
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040927/018598.html
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040927/018599.html

Thank you again for the patches!

For these, just ifdef them out. If the platform doesn't support drand48,
there is no reason for the interpreter to do so either...

-Chris

Hmm,

I guess I need a sys::Math::getRandom() function that uses a "good" random number generator on the given platform. I'll make a note of this and tuck it away for future implementation.

Reid.

Chris Lattner wrote:

No, LLVM has no need for random numbers. The methods in
Interpreter/ExternalFunctions.cpp are just wrappers around system
functions of the same name (to avoid having an FFI). In reality, these
things can just be removed without too much lossage, but Brian would be
the person to ok that.

-Chris

OIC .. I was wondering what the heck the Interpreter was doing with random number generation. "hmm, should we execute this function or not? .. let's toss a coin" ;>

Reid.

Chris Lattner wrote: