diff options
| -rw-r--r-- | indra/llcommon/llerror.cpp | 10 | ||||
| -rw-r--r-- | indra/llcommon/llerror.h | 2 | ||||
| -rw-r--r-- | indra/llcommon/tests/llerror_test.cpp | 9 | 
3 files changed, 11 insertions, 10 deletions
| diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 41ff5849f4..d06d6baf85 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -954,7 +954,12 @@ namespace LLError  		std::string class_name = className(site.mClassInfo);  		std::string function_name = functionName(site.mFunction); +#if LL_LINUX +		// gross, but typeid comparison seems to always fail here with gcc4.1 +		if (0 != strcmp(site.mClassInfo.name(), typeid(NoClassInfo).name())) +#else  		if (site.mClassInfo != typeid(NoClassInfo)) +#endif // LL_LINUX  		{  			function_name = class_name + "::" + function_name;  		} @@ -1079,7 +1084,12 @@ namespace LLError  	#if LL_WINDOWS  		// DevStudio: __FUNCTION__ already includes the full class name  	#else +                #if LL_LINUX +		// gross, but typeid comparison seems to always fail here with gcc4.1 +		if (0 != strcmp(site.mClassInfo.name(), typeid(NoClassInfo).name())) +                #else  		if (site.mClassInfo != typeid(NoClassInfo)) +                #endif // LL_LINUX  		{  			prefix << className(site.mClassInfo) << "::";  		} diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h index 09812de2b8..e64ee5e081 100644 --- a/indra/llcommon/llerror.h +++ b/indra/llcommon/llerror.h @@ -179,7 +179,7 @@ namespace LLError  		{ return s; }  		// used to indicate the end of a message -	class NoClassInfo { }; +	class LL_COMMON_API NoClassInfo { };  		// used to indicate no class info known for logging     //LLCallStacks keeps track of call stacks and output the call stacks to log file diff --git a/indra/llcommon/tests/llerror_test.cpp b/indra/llcommon/tests/llerror_test.cpp index 6785d0cf17..1558df231a 100644 --- a/indra/llcommon/tests/llerror_test.cpp +++ b/indra/llcommon/tests/llerror_test.cpp @@ -545,15 +545,6 @@ namespace tut  		// output order  	void ErrorTestObject::test<10>()  	{ -#if LL_LINUX -        skip("Fails on Linux, see comments"); -// on Linux: -// [error, 10] fail: 'order is time type location function message: expected -// '1947-07-08T03:04:05Z INFO: llcommon/tests/llerror_test.cpp(268) : -// writeReturningLocationAndFunction: apple' actual -// '1947-07-08T03:04:05Z INFO: llcommon/tests/llerror_test.cpp(268) : -// LLError::NoClassInfo::writeReturningLocationAndFunction: apple'' -#endif  		LLError::setPrintLocation(true);  		LLError::setTimeFunction(roswell);  		mRecorder.setWantsTime(true); | 
