summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-12-20DRTVWR-418: Rationalize LLPipeline API.Nat Goodspeed
Someone evidently figured every static LLPipeline method should have at least one void* parameter. There were methods requiring void* parameters that were completely ignored. More to the point, there were methods whose callers have a U32 in hand -- and which want to use a U32 -- but which bizarrely forced callers to cast to void* just so the method could cast back to U32. In a 64-bit compile, this isn't merely pointless, it's erroneous. Change all such methods to accept U32; remove (void*) casts from call sites. While at it, fix LLPipeline API to use bool, true, false rather than their obsolete all-caps predecessors. Once you eat that first potato chip... :-P
2016-12-20DRTVWR-418: operator comparison methods should be const.Nat Goodspeed
clang has started to reject our non-const comparison operator methods used within standard algorithms.
2016-12-20DRTVWR-418: Another fix for std::string::find() return type.Nat Goodspeed
2016-12-20DRTVWR-418: Fix API for LLTracker::stopTracking().Nat Goodspeed
The signature for LLTracker::stopTracking() was silly: it accepted a void* for the sole purpose of testing whether it was NULL. In other words, the parameter was really a bool in void* clothing. Most callers passed NULL. What got ugly was when you wanted to pass 'true', or a variable bool value. Such values had to be cast to void*. In 64-bit land, the compiler correctly flags that as extremely dubious practice. But it's entirely unnecessary. Since stopTracking() wants a bool, change its parameter to bool. Everybody wins. (While at it, change a few related method params from BOOL to builtin bool.)
2016-12-20DRTVWR-418: Casting pointer to BOOL is just wrong.Nat Goodspeed
Since BOOL is simply a typedef for int, casting a 64-bit pointer to 32-bit int is correctly diagnosed by the compiler as an error. What works is to cast the pointer to (lowercase) bool, the builtin type, which engages the compiler's test for "is this pointer NULL?"
2016-12-20DRTVWR-418: Untangle LLWLParamKey, LLWLAnimator circularity.Nat Goodspeed
LLWLAnimator stores a std::map<F32, LLWLParamKey>. But llwlanimator.h only forward-declared LLWLParamKey, begging the question of how this ever compiled on any previous platform. LLWLParamKey was declared for real in llwlparammanager.h, so the obvious fix is to #include "llwlparammanager.h" in llwlanimator.h. Unfortunately this doesn't work because llwlparammanager.h already #includes "llwlanimator.h". As the dependency is specifically on LLWLParamKey, which isa LLEnvKey, which is declared in llenvmanager.h, move LLWLParamKey to llenvmanager.h. Then we can #include "llenvmanager.h" in llwlanimator.h instead of merely forward- declaring LLWLParamKey. This migration compiles LLWLParamKey in a context in which LLTrans isn't visible. It's not really clear why all LLWLParamKey's methods are inline, but toString() -- the method that requires LLTrans -- isn't going to be fast in any case. Break toString() out to llenvmanager.cpp, and #include "lltrans.h" there.
2016-12-20DRTVWR-418: std::string::find() returns std::string::size_type.Nat Goodspeed
Storing it in a U32 and then comparing it to std::string::npos isn't going to work in 64 bit land.
2016-12-19DRTVWR-418: Update to darwin64 llceflib with libc++, not libstdc++.Nat Goodspeed
2016-12-19DRTVWR-418: Avoid casting sa_sigaction to unsigned int for comparing.Nat Goodspeed
It's not really clear to me why the original coder felt it necessary to cast the two sigaction::sa_sigaction fields to unsigned int in the first place, but in a 64-bit clang compile, that discards information.
2016-12-19DRTVWR-418: Use $LL_BUILD to set most switches in 00-Common.cmake.Nat Goodspeed
Going forward, the intention is to set in 00-Common.cmake only switches not already set for ALL viewer-related libraries in https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables. To that end, remove all switches redundant with settings from that file. Remove redundancies within 00-Common.cmake. Remove cruft testing for gcc versions older than 4.3.
2016-12-19DRTVWR-418: Use U32 for int (and hex) of HttpStatus in 64-bit too.Nat Goodspeed
Turns out that Monty didn't intend for the int-flavored representation of HttpStatus to expand to 64 bits even when unsigned long is that wide. So change the implicit conversion operator, and its uses, to U32 instead. That produces a consistent toHex() result for both 32-bit and 64-bit builds.
2016-12-19DRTVWR-418: Fix streamtools test.Nat Goodspeed
When std::istream::good() returns false, presumably we can no longer rely on get() returning valid data. Certain streamtools tests were assuming that get() would return the empty string at EOF, but in fact it appears that it left the previous buffer contents unmodified.
2016-12-17DRTVWR-418: Merge backout of TYPE_INDEX / TYPE_MAX changeNat Goodspeed
2016-12-17Backed out changeset bb47510bda62: don't change TYPE_MAX.Nat Goodspeed
Ruslan points out that changing TYPE_MAX could lead to extra (useless) render passes. We will have to solve the TYPE_INDEX > TYPE_MAX problem another way.
2016-12-17DRTVWR-418: Update dubious llvertexbuffer.cpp cast comment.Nat Goodspeed
Ruslan assures me that in fact this usage is valid.
2016-12-16DRTVWR-418: Fix a (correct) clang correctness complaint.Nat Goodspeed
LLStatGraph::Threshold has an operator<(const Threshold& other) -- but because the method itself wasn't marked const, it could only be used on a non-const instance. This change fixes a case when it was applied to const instances.
2016-12-16DRTVWR-418: Work around dubious cast from S32 to GLvoid*Nat Goodspeed
when passing -- something -- to glVertexAttribPointerARB() in LLVertexBuffer::setupVertexArray().
2016-12-16DRTVWR-418: Adjust HttpStatus::toHex() test for 64-bit result.Nat Goodspeed
2016-12-16DRTVWR-418: Put TYPE_INDEX within TYPE_MAX: stop undefined indexing.Nat Goodspeed
LLVertexBuffer::TYPE_INDEX was past TYPE_MAX, which is used to set the maximum sizes of various (scattered) arrays, bleh. The alarm bells that this SHOULD set off are indeed correct: TYPE_INDEX was being used to index at least one of those arrays, meaning we've been indexing past the end of that array, meaning undefined behavior. The enum that defines both TYPE_INDEX and TYPE_MAX provides a helpful comment indicating what things must be updated when modifying the enum. (Far better to define things centrally in a single place... but another time.) Update the designated arrays to include a final TYPE_INDEX entry. Contents of those entries are wild guesses -- but even wild guesses are better than completely indeterminate data.
2016-12-16Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2016-12-15Pull in an updated version of FMODEx with crash fixes (version 4.44.61 -> ↵Callum Prentice
4.44.64)
2016-12-15DRTVWR-418: -Wl,-no_compact_unwind switch breaks exception catching!Nat Goodspeed
In a clang 64-bit compile, with that switch set in CMAKE_CXX_LINK_FLAGS, we cannot catch any user exception. This shows up right away because TUT relies on internal exceptions to walk through test<n>() test methods, but of course being unable to catch any exceptions in the viewer would be just as bad. A quick Google search turned up lots of people mentioning -no_compact_unwind without finding any documentation about what it's supposed to be good for. But since no tests work with it, whereas they work without it -- kill it.
2016-12-15BUG-41027 (FIX) Changing login location at the login screen crashes the viewerCallum Prentice
2016-12-15DRTVWR-418: Store std::string::find() result in size_t, not U32.Nat Goodspeed
In a 64-bit build, std::string::npos is way bigger than a U32.
2016-12-15DRTVWR-418: Update to llceflib 501501 with darwin64 packageNat Goodspeed
2016-12-14DRTVWR-418: Derive certain CMAKE_XCODE_etc. vars from LL_BUILD.Nat Goodspeed
2016-12-13DRTVWR-418: Remove build_variables_repository_url from BuildParams.Nat Goodspeed
That should be set in TeamCity template hierarchy; don't override it.
2016-12-13DRTVWR-418, BUG-41026: Double default coroutine stack size.Nat Goodspeed
Also make it Persist so if someone hand-edits it to try to find a more suitable size, they won't have to keep re-editing it for every session.
2016-12-12DRTVWR-418: Update to breakpad 501475, first true 64-bit Mac build.Nat Goodspeed
2016-12-12DRTVWR-418: Update to jsoncpp build 501464: actual darwin64 buildNat Goodspeed
2016-12-12DRTVWR-418: Align minimum OS X version with viewer-build-variables.Nat Goodspeed
2016-12-10DRTVWR-418: Update some copy commands for 3p library versions.Nat Goodspeed
2016-12-09DRTVWR-418: Fix autobuild.xml AGAINNat Goodspeed
2016-12-09DRTVWR-418: Update to llphysicsextensions_* 501415, 501416Nat Goodspeed
2016-12-09Merged in lindenlab/nat_viewer64 (pull request #6)nat_linden
DRTVWR-418: Change Mac build_directory to build-darwin-x86_64 since we no longer support 32-bit Mac builds.
2016-12-09increment minor version for p64 projectOz Linden
2016-12-09remove non-functional attempt to load llbase from the viewer tree; it is not ↵Oz Linden
there any more
2016-12-09move some cmake messages that are not warnings from stderr to stdoutOz Linden
2016-12-09Simplify version line in the About box, add address size to itOz Linden
2016-12-09add AUTOBUILD_ADDRSIZE to symbol file name for clarity, change output tag to ↵Oz Linden
just "Symbolfile"
2016-12-08DRTVWR-418: Change Mac build_directory to build-darwin-x86_64Nat Goodspeed
since we no longer support 32-bit Mac builds. The old build-darwin-i386 directory name appeared in a shocking number of files. Change CMake paths to use ${CMAKE_BINARY_DIR} -- or, when trying to find the packages subdirectory, ${AUTOBUILD_INSTALL_DIR}. Change the rest to at least look for build-darwin-*.
2016-12-08use native paths for llphysicsextensions_package file nameOz Linden
2016-12-08make all upload failures fatalOz Linden
2016-12-08correct upload of default installerOz Linden
2016-12-07DRTVWR-418: Merge backout that restores llcorehttp tests.Nat Goodspeed
2016-12-07Backed out changeset fbcb5f5fb015: restore llcorehttp tests.Nat Goodspeed
2016-12-07DRTVWR-418: Overriding shutdown_request() wasn't the issue. Remove.Nat Goodspeed
2016-12-07make build.sh use the same build directory that autobuild.xml uses on WindowsOz Linden
2016-12-07merge changes for nats updates for llcorehttpOz Linden
2016-12-07merge changes for callums updatesOz Linden