- May 17, 2017
-
-
Glenn Glazer authored
-
Glenn Glazer authored
-
Glenn Glazer authored
-
Glenn Glazer authored
-
Glenn Glazer authored
-
Glenn Glazer authored
-
- May 12, 2017
-
-
Glenn Glazer authored
-
- May 11, 2017
-
-
nat_linden authored
Approved-by:
Scott Lawrence (Oz Linden) <oz@lindenlab.com>
- May 10, 2017
-
-
Glenn Glazer authored
-
Nat Goodspeed authored
Drake points out that the OS X 64-bit-capable memory-query APIs recommended in comments by some long-ago maintainer are by now themselves obsolete. He offered this patch to update us to current macOS memory APIs.
-
Glenn Glazer authored
-
- May 09, 2017
-
-
Glenn Glazer authored
-
Nat Goodspeed authored
-
Nat Goodspeed authored
-
- May 08, 2017
-
-
Nat Goodspeed authored
-
Nat Goodspeed authored
For the time being we're still compiling for production with C++03. Although assigning an initializer list to a vector is valid C++11, in C++03 mode clang rejects it.
-
Nat Goodspeed authored
LLInstanceTracker<T> performs validation in ~LLInstanceTracker(). Normally validation failure logs an error and terminates the program, which is fine. In the test executable, though, we want validation failure to throw an exception instead so we can catch it and continue testing other failure conditions. But since destructors in C++11 are implicitly noexcept(true), that exception never made it out of ~LLInstanceTracker(): it crashed the test program instead. Declaring ~LLInstanceTracker() noexcept(false) solves that, allowing the test program to catch the exception and continue. However, if we unconditionally declare that, then every destructor anywhere in the inheritance hierarchy for any LLInstanceTracker subclass must also be noexcept(false)! That's way too pervasive, especially for functionality we only need (or want) in a specific test executable. Instead, make the CMake macros LL_ADD_PROJECT_UNIT_TESTS() and LL_ADD_INTEGRATION_TEST() -- with which we define all viewer build-time tests -- define two new command-line macros: LL_TEST=testname and LL_TEST_testname. That way, preprocessor logic in a header file can detect whether it's being compiled for production code or for a test executable. (While at it, encapsulate in a new GET_OPT_SOURCE_FILE_PROPERTY() CMake macro an ugly repetitive pattern. The builtin GET_SOURCE_FILE_PROPERTY() sets the target variable to "NOTFOUND" -- rather than an empty string -- if the specified property wasn't set. Every call to GET_SOURCE_FILE_PROPERTY() in LL_ADD_PROJECT_UNIT_TESTS() was followed by a test for NOTFOUND and an assignment to "". Wrap all that in a macro whose 'unset' value is "".) Now llinstancetracker.h can detect when we're building the LLInstanceTracker unit test executable, and *only then* declare ~LLInstanceTracker() as noexcept(false). We #define LLINSTANCETRACKER_DTOR_NOEXCEPT to expand either empty or noexcept(false), also detecting clang in C++11 mode. (It all works fine without noexcept(false) until we turn on C++11 mode.) We also use that macro for the StatBase class in lltrace.h. Turns out some of the infrastructure headers required for tests in general, including the LLInstanceTracker test, use LLInstanceTracker. Fortunately that appears to be the only other class we must annotate this way for the LLInstanceTracker tests.
-
- May 05, 2017
-
-
Glenn Glazer authored
-
Glenn Glazer authored
-
- May 04, 2017
-
-
nat_linden authored
Expand the way we set C++ flags in cmake to call out each build type explicitly Approved-by:
nat_linden <nat@lindenlab.com>
-
Callum Prentice authored
-
Nat Goodspeed authored
The LLMemory method getCurrentRSS() is defined to return the "resident set size," but in fact on Windows it returns the WorkingSetSize -- and that's actually what callers want from it: the total memory consumed by the application for statistics purposes. It's not really clear what users gain by knowing how much of that is resident in real memory, versus the total consumption. So despite the commentation and the method name itself, on Mac make it return the virtual size consumed.
-
- May 03, 2017
-
-
Nat Goodspeed authored
This is only transitional, until we integrate the Viewer Management Process (soon now).
-
Nat Goodspeed authored
to suppress fatal warnings in Visual Studio.
-
Glenn Glazer authored
-
Nat Goodspeed authored
Whatever we were trying to do with LLSharedLibs.cmake hasn't worked on the Mac for a long time, and trying to fix it only digs up more problems. Skip it: we've already worked around it. Update the media_plugins_example CMakeLists.txt to eliminate some CMake non-existent dependency warnings.
-
Glenn Glazer authored
-
Nat Goodspeed authored