From: Sven M. H. <pe...@gm...> - 2001-03-23 22:34:13
|
On Thu, Mar 22, 2001 at 10:32:10PM +0100, Dirk Reiners wrote: > > Right. Are those two preprocessor macros or real variables? > > I think the former. Does it make a difference and how do I check? The difference it makes is that, if they are both preprocessor macros that expand to _string_ constants, we could simply #define __FUNCTION__ "unknown function at " __FILE__ ":" __LINE__ However if that's not the case we need to use a function call to create a single sensable string from them. Some sprintf-like thing that uses and returns a static buffer for the string would probably be best: #define __FUNCTION__ mesa_static_sprintf("unknown function at %s:%d", \ __FILE__, __LINE__); If your compiler/preprocessor docs don't give enough information, running a test file containing __FILE__ and __LINE__ through the preprocessor should suffice. > > Hehe. I've noticed that flag, too. Actually asked about it's purpose on > > mesa3d-dev. Generates a warning on my system, so I'm ignoring it until > someone > > tells me I can safely remove it (*wink*). > > Well, it creates an error on Irix, i.e. no compile. If nobody knows what > it's good for, maybe now is a good time to get rid of it. ;) Right, will remove it right after I send this mail out. > > libCio? Never heard of that. And what does it have to do with C++ > streams? > > Can you give me a description of the circumstances under which this > library is > > needed so I can model a proper check for it? It's not available on my > machine. > > It's part of the current STL. It contains the little code that is created > and needed by STL, mainly stream stuff, some complex number functions etc. Oh, so it's your equivalent to what's called libstdc++ on my system? > It is needed on Irix as soon as the 'std' namespace STL is used (BTW, if > that happens you also need the -LANG:std option). You can easily test if > you need by running the following program: > > #include <iostream> > > int main( int argc, char *argv[] ) > { > std::cout; > } > > If it works you don't need to do anything special, if it gives an error > you need -lCio. By default the compiler includes it automatically, but > libtool apparently works around that, so you'll have to use libtool to > check it. OK, thanks, will write the check tomorrow probably. > I don't really understand why it is needed for si-glu, I couldn't find > streams in there, maybe it was something else. It's just confusing that > you don't need the -LANG:std option, usually it complains if you use the > std namespace, and if you don't use that, why does it need the libCio.so? > Something's fishy here but I'm not sure what it is. Right, it's strange. Did the linker give you an indication where the Cio symbols were referenced? Regards, Sven -- "Would the All-Seeing Eye please look in my direction?" [ KeyID........: 0xC297FEAB ] [ Fingerprint..: FEA5 0F93 7320 3F39 66A5 AED3 073F 2D5F C297 FEAB ] |