diff --git a/indra/llcommon/aialert.h b/indra/llcommon/aialert.h index 83a0da300..574426a9f 100644 --- a/indra/llcommon/aialert.h +++ b/indra/llcommon/aialert.h @@ -45,8 +45,13 @@ // Throw arbitrary class. #define THROW_ALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(), AIAlert::not_modal, __VA_ARGS__) #define THROW_MALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(), AIAlert::modal, __VA_ARGS__) +#ifdef __GNUC__ #define THROW_FALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(__PRETTY_FUNCTION__, AIAlert::pretty_function_prefix), AIAlert::not_modal, __VA_ARGS__) #define THROW_FMALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(__PRETTY_FUNCTION__, AIAlert::pretty_function_prefix), AIAlert::modal, __VA_ARGS__) +#else +#define THROW_FALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(__FUNCTION__, AIAlert::pretty_function_prefix), AIAlert::not_modal, __VA_ARGS__) +#define THROW_FMALERT_CLASS(Alert, ...) throw Alert(AIAlert::Prefix(__FUNCTION__, AIAlert::pretty_function_prefix), AIAlert::modal, __VA_ARGS__) +#endif // Shortcut to throw AIAlert::Error. #define THROW_ALERT(...) THROW_ALERT_CLASS(AIAlert::Error, __VA_ARGS__) diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h index 3c096abe1..729f066fb 100644 --- a/indra/llcommon/llinstancetracker.h +++ b/indra/llcommon/llinstancetracker.h @@ -32,6 +32,7 @@ #include #include "string_table.h" +#include "llerror.h" // llassert_always #include #include #include diff --git a/indra/llxml/aixml.cpp b/indra/llxml/aixml.cpp index db5bba7e3..d7592c431 100644 --- a/indra/llxml/aixml.cpp +++ b/indra/llxml/aixml.cpp @@ -410,7 +410,7 @@ T AIXMLElementParser::read_integer(char const* type, std::string const& value) c { long long int result; sscanf(value.c_str(),"%lld", &result); - if (result < std::numeric_limits::min() || result > std::numeric_limits::max()) + if (result < (std::numeric_limits::min)() || result > (std::numeric_limits::max)()) { THROW_MALERT("AIXMLElementParser_read_integer_Invalid_TYPE_VALUE_in_FILEDESC_FILENAME", AIArgs("[TYPE]", type)("[VALUE]", value)("FILEDESC", mFileDesc)("[FILENAME]", mFilename)); diff --git a/indra/llxml/aixml.h b/indra/llxml/aixml.h index 1aeec74e1..9bfb783f4 100644 --- a/indra/llxml/aixml.h +++ b/indra/llxml/aixml.h @@ -175,6 +175,7 @@ class AIXMLElementParser protected: // Used by AIXMLParser, which initializes mNode directly. AIXMLElementParser(std::string const& filename, std::string const& file_desc, U32 version) : mVersion(version), mFilename(filename), mFileDesc(file_desc) { } + virtual ~AIXMLElementParser() { } // Used for error reporting. virtual std::string node_name(void) const { return "node '" + mNode->getName() + "'"; } diff --git a/indra/newview/aixmllindengenepool.cpp b/indra/newview/aixmllindengenepool.cpp index c2c9160f2..b02d4b60d 100644 --- a/indra/newview/aixmllindengenepool.cpp +++ b/indra/newview/aixmllindengenepool.cpp @@ -46,7 +46,7 @@ // The reason for this clumsy way to link wearable to extra meta data is to stay // compatible with the older format (no metaversion). -#include "sys.h" +#include "llviewerprecompiledheaders.h" #include "aixmllindengenepool.h" #include "hippogridmanager.h" #include "llvisualparam.h"