[llvm] r265454 - Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes.

Duncan P. N. Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 13:52:08 PDT 2016


This was blocking me so I reverted in r265459.

Seems like a rather big patch with a bunch of barely-related changes;
might be nice to commit these cleanups separately when you fix the
compile error.

> On 2016-Apr-05, at 13:32, Quentin Colombet via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Hi Eugene,
> 
> I get the following error because of this commit:
> lib/Support/RWMutex.cpp:58:3: error: use of undeclared identifier 'bzero'
>   bzero(rwlock, sizeof(pthread_rwlock_t));
>   ^
> 1 error generated.
> 
> Could you have a look?
> 
> Thanks,
> -Quentin
> 
>> On Apr 5, 2016, at 1:19 PM, Eugene Zelenko via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>> 
>> Author: eugenezelenko
>> Date: Tue Apr  5 15:19:49 2016
>> New Revision: 265454
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=265454&view=rev
>> Log:
>> Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes.
>> 
>> Some Include What You Use suggestions were used too.
>> 
>> Use anonymous namespaces in source files.
>> 
>> Differential revision: http://reviews.llvm.org/D18778
>> 
>> Modified:
>>    llvm/trunk/lib/Support/APFloat.cpp
>>    llvm/trunk/lib/Support/CrashRecoveryContext.cpp
>>    llvm/trunk/lib/Support/Errno.cpp
>>    llvm/trunk/lib/Support/Host.cpp
>>    llvm/trunk/lib/Support/MathExtras.cpp
>>    llvm/trunk/lib/Support/Mutex.cpp
>>    llvm/trunk/lib/Support/RWMutex.cpp
>>    llvm/trunk/lib/Support/SHA1.cpp
>>    llvm/trunk/lib/Support/SearchForAddressOfSpecialSymbol.cpp
>>    llvm/trunk/lib/Support/Unix/Path.inc
>>    llvm/trunk/lib/Support/Unix/Process.inc
>>    llvm/trunk/lib/Support/Unix/Program.inc
>>    llvm/trunk/lib/Support/Unix/Signals.inc
>>    llvm/trunk/lib/Support/Unix/ThreadLocal.inc
>>    llvm/trunk/lib/Support/Unix/Unix.h
>>    llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
>>    llvm/trunk/tools/llvm-c-test/echo.cpp
>>    llvm/trunk/tools/llvm-c-test/llvm-c-test.h
>>    llvm/trunk/tools/llvm-readobj/COFFDumper.cpp
>>    llvm/trunk/tools/sancov/sancov.cc
>>    llvm/trunk/tools/sanstats/sanstats.cpp
>>    llvm/trunk/unittests/ADT/SCCIteratorTest.cpp
>>    llvm/trunk/unittests/ADT/SmallStringTest.cpp
>>    llvm/trunk/unittests/ADT/SmallVectorTest.cpp
>>    llvm/trunk/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
>>    llvm/trunk/unittests/Support/CommandLineTest.cpp
>>    llvm/trunk/unittests/Support/ProgramTest.cpp
>>    llvm/trunk/unittests/Support/StreamingMemoryObjectTest.cpp
>>    llvm/trunk/unittests/Support/TimeValueTest.cpp
>>    llvm/trunk/unittests/Support/TimerTest.cpp
>> 
>> Modified: llvm/trunk/lib/Support/APFloat.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APFloat.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/APFloat.cpp (original)
>> +++ llvm/trunk/lib/Support/APFloat.cpp Tue Apr  5 15:19:49 2016
>> @@ -14,14 +14,19 @@
>> 
>> #include "llvm/ADT/APFloat.h"
>> #include "llvm/ADT/APSInt.h"
>> +#include "llvm/ADT/ArrayRef.h"
>> #include "llvm/ADT/FoldingSet.h"
>> #include "llvm/ADT/Hashing.h"
>> +#include "llvm/ADT/SmallVector.h"
>> #include "llvm/ADT/StringExtras.h"
>> #include "llvm/ADT/StringRef.h"
>> #include "llvm/Support/ErrorHandling.h"
>> #include "llvm/Support/MathExtras.h"
>> +#include <algorithm>
>> +#include <cassert>
>> +#include <cstdint>
>> #include <cstring>
>> -#include <limits.h>
>> +#include <limits>
>> 
>> using namespace llvm;
>> 
>> @@ -93,18 +98,21 @@ namespace llvm {
>>   const unsigned int maxPowerOfFiveExponent = maxExponent + maxPrecision - 1;
>>   const unsigned int maxPowerOfFiveParts = 2 + ((maxPowerOfFiveExponent * 815)
>>                                                 / (351 * integerPartWidth));
>> -}
>> +
>> +} // end namespace llvm
>> +
>> +namespace {
>> 
>> /* A bunch of private, handy routines.  */
>> 
>> -static inline unsigned int
>> +inline unsigned int
>> partCountForBits(unsigned int bits)
>> {
>>   return ((bits) + integerPartWidth - 1) / integerPartWidth;
>> }
>> 
>> /* Returns 0U-9U.  Return values >= 10U are not digits.  */
>> -static inline unsigned int
>> +inline unsigned int
>> decDigitValue(unsigned int c)
>> {
>>   return c - '0';
>> @@ -115,7 +123,7 @@ decDigitValue(unsigned int c)
>> 
>>    If the exponent overflows, returns a large exponent with the
>>    appropriate sign.  */
>> -static int
>> +int
>> readExponent(StringRef::iterator begin, StringRef::iterator end)
>> {
>>   bool isNegative;
>> @@ -159,7 +167,7 @@ readExponent(StringRef::iterator begin,
>> 
>> /* This is ugly and needs cleaning up, but I don't immediately see
>>    how whilst remaining safe.  */
>> -static int
>> +int
>> totalExponent(StringRef::iterator p, StringRef::iterator end,
>>               int exponentAdjustment)
>> {
>> @@ -208,7 +216,7 @@ totalExponent(StringRef::iterator p, Str
>>   return exponent;
>> }
>> 
>> -static StringRef::iterator
>> +StringRef::iterator
>> skipLeadingZeroesAndAnyDot(StringRef::iterator begin, StringRef::iterator end,
>>                            StringRef::iterator *dot)
>> {
>> @@ -249,7 +257,7 @@ struct decimalInfo {
>>   int normalizedExponent;
>> };
>> 
>> -static void
>> +void
>> interpretDecimal(StringRef::iterator begin, StringRef::iterator end,
>>                  decimalInfo *D)
>> {
>> @@ -308,7 +316,7 @@ interpretDecimal(StringRef::iterator beg
>> /* Return the trailing fraction of a hexadecimal number.
>>    DIGITVALUE is the first hex digit of the fraction, P points to
>>    the next digit.  */
>> -static lostFraction
>> +lostFraction
>> trailingHexadecimalFraction(StringRef::iterator p, StringRef::iterator end,
>>                             unsigned int digitValue)
>> {
>> @@ -339,7 +347,7 @@ trailingHexadecimalFraction(StringRef::i
>> 
>> /* Return the fraction lost were a bignum truncated losing the least
>>    significant BITS bits.  */
>> -static lostFraction
>> +lostFraction
>> lostFractionThroughTruncation(const integerPart *parts,
>>                               unsigned int partCount,
>>                               unsigned int bits)
>> @@ -361,7 +369,7 @@ lostFractionThroughTruncation(const inte
>> }
>> 
>> /* Shift DST right BITS bits noting lost fraction.  */
>> -static lostFraction
>> +lostFraction
>> shiftRight(integerPart *dst, unsigned int parts, unsigned int bits)
>> {
>>   lostFraction lost_fraction;
>> @@ -374,7 +382,7 @@ shiftRight(integerPart *dst, unsigned in
>> }
>> 
>> /* Combine the effect of two lost fractions.  */
>> -static lostFraction
>> +lostFraction
>> combineLostFractions(lostFraction moreSignificant,
>>                      lostFraction lessSignificant)
>> {
>> @@ -395,7 +403,7 @@ combineLostFractions(lostFraction moreSi
>> 
>>    See "How to Read Floating Point Numbers Accurately" by William D
>>    Clinger.  */
>> -static unsigned int
>> +unsigned int
>> HUerrBound(bool inexactMultiply, unsigned int HUerr1, unsigned int HUerr2)
>> {
>>   assert(HUerr1 < 2 || HUerr2 < 2 || (HUerr1 + HUerr2 < 8));
>> @@ -409,7 +417,7 @@ HUerrBound(bool inexactMultiply, unsigne
>> /* The number of ulps from the boundary (zero, or half if ISNEAREST)
>>    when the least significant BITS are truncated.  BITS cannot be
>>    zero.  */
>> -static integerPart
>> +integerPart
>> ulpsFromBoundary(const integerPart *parts, unsigned int bits, bool isNearest)
>> {
>>   unsigned int count, partBits;
>> @@ -454,7 +462,7 @@ ulpsFromBoundary(const integerPart *part
>> 
>> /* Place pow(5, power) in DST, and return the number of parts used.
>>    DST must be at least one part larger than size of the answer.  */
>> -static unsigned int
>> +unsigned int
>> powerOf5(integerPart *dst, unsigned int power)
>> {
>>   static const integerPart firstEightPowers[] = { 1, 5, 25, 125, 625, 3125,
>> @@ -517,17 +525,17 @@ powerOf5(integerPart *dst, unsigned int
>> 
>> /* Zero at the end to avoid modular arithmetic when adding one; used
>>    when rounding up during hexadecimal output.  */
>> -static const char hexDigitsLower[] = "0123456789abcdef0";
>> -static const char hexDigitsUpper[] = "0123456789ABCDEF0";
>> -static const char infinityL[] = "infinity";
>> -static const char infinityU[] = "INFINITY";
>> -static const char NaNL[] = "nan";
>> -static const char NaNU[] = "NAN";
>> +const char hexDigitsLower[] = "0123456789abcdef0";
>> +const char hexDigitsUpper[] = "0123456789ABCDEF0";
>> +const char infinityL[] = "infinity";
>> +const char infinityU[] = "INFINITY";
>> +const char NaNL[] = "nan";
>> +const char NaNU[] = "NAN";
>> 
>> /* Write out an integerPart in hexadecimal, starting with the most
>>    significant nibble.  Write out exactly COUNT hexdigits, return
>>    COUNT.  */
>> -static unsigned int
>> +unsigned int
>> partAsHex (char *dst, integerPart part, unsigned int count,
>>            const char *hexDigitChars)
>> {
>> @@ -545,7 +553,7 @@ partAsHex (char *dst, integerPart part,
>> }
>> 
>> /* Write out an unsigned decimal integer.  */
>> -static char *
>> +char *
>> writeUnsignedDecimal (char *dst, unsigned int n)
>> {
>>   char buff[40], *p;
>> @@ -563,7 +571,7 @@ writeUnsignedDecimal (char *dst, unsigne
>> }
>> 
>> /* Write out a signed decimal integer.  */
>> -static char *
>> +char *
>> writeSignedDecimal (char *dst, int value)
>> {
>>   if (value < 0) {
>> @@ -575,6 +583,8 @@ writeSignedDecimal (char *dst, int value
>>   return dst;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> /* Constructors.  */
>> void
>> APFloat::initialize(const fltSemantics *ourSemantics)
>> @@ -852,11 +862,13 @@ APFloat::semanticsPrecision(const fltSem
>> {
>>   return semantics.precision;
>> }
>> +
>> APFloat::ExponentType
>> APFloat::semanticsMaxExponent(const fltSemantics &semantics)
>> {
>>   return semantics.maxExponent;
>> }
>> +
>> APFloat::ExponentType
>> APFloat::semanticsMinExponent(const fltSemantics &semantics)
>> {
>> @@ -1907,7 +1919,6 @@ APFloat::opStatus APFloat::roundToIntegr
>>   return fs;
>> }
>> 
>> -
>> /* Comparison requires normalized numbers.  */
>> APFloat::cmpResult
>> APFloat::compare(const APFloat &rhs) const
>> @@ -2558,14 +2569,16 @@ APFloat::convertFromDecimalString(String
>> 
>>   /* Check whether the normalized exponent is high enough to overflow
>>      max during the log-rebasing in the max-exponent check below. */
>> -  } else if (D.normalizedExponent - 1 > INT_MAX / 42039) {
>> +  } else if (D.normalizedExponent - 1 >
>> +              std::numeric_limits<int>::max() / 42039) {
>>     fs = handleOverflow(rounding_mode);
>> 
>>   /* If it wasn't, then it also wasn't high enough to overflow max
>>      during the log-rebasing in the min-exponent check.  Check that it
>>      won't overflow min in either check, then perform the min-exponent
>>      check. */
>> -  } else if (D.normalizedExponent - 1 < INT_MIN / 42039 ||
>> +  } else if ((D.normalizedExponent - 1 <
>> +               std::numeric_limits<int>::min() / 42039) ||
>>              (D.normalizedExponent + 1) * 28738 <=
>>                8651 * (semantics->minExponent - (int) semantics->precision)) {
>>     /* Underflow to zero and round.  */
>> @@ -3219,7 +3232,7 @@ APFloat::initFromQuadrupleAPInt(const AP
>>   uint64_t mysignificand2 = i2 & 0xffffffffffffLL;
>> 
>>   initialize(&APFloat::IEEEquad);
>> -  assert(partCount()==2);
>> +  assert(partCount() == 2);
>> 
>>   sign = static_cast<unsigned int>(i2>>63);
>>   if (myexponent==0 &&
>> @@ -3485,6 +3498,7 @@ APFloat::APFloat(double d) {
>> }
>> 
>> namespace {
>> +
>>   void append(SmallVectorImpl<char> &Buffer, StringRef Str) {
>>     Buffer.append(Str.begin(), Str.end());
>>   }
>> @@ -3521,7 +3535,6 @@ namespace {
>>     significand = significand.trunc(significand.getActiveBits());
>>   }
>> 
>> -
>>   void AdjustToPrecision(SmallVectorImpl<char> &buffer,
>>                          int &exp, unsigned FormatPrecision) {
>>     unsigned N = buffer.size();
>> @@ -3566,7 +3579,8 @@ namespace {
>>     exp += FirstSignificant;
>>     buffer.erase(&buffer[0], &buffer[FirstSignificant]);
>>   }
>> -}
>> +
>> +} // end anonymous namespace
>> 
>> void APFloat::toString(SmallVectorImpl<char> &Str,
>>                        unsigned FormatPrecision,
>> 
>> Modified: llvm/trunk/lib/Support/CrashRecoveryContext.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/CrashRecoveryContext.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/CrashRecoveryContext.cpp (original)
>> +++ llvm/trunk/lib/Support/CrashRecoveryContext.cpp Tue Apr  5 15:19:49 2016
>> @@ -8,19 +8,23 @@
>> //===----------------------------------------------------------------------===//
>> 
>> #include "llvm/Support/CrashRecoveryContext.h"
>> +#include "llvm/ADT/STLExtras.h"
>> #include "llvm/Config/config.h"
>> #include "llvm/Support/ErrorHandling.h"
>> #include "llvm/Support/ManagedStatic.h"
>> #include "llvm/Support/Mutex.h"
>> #include "llvm/Support/ThreadLocal.h"
>> -#include <setjmp.h>
>> +#include "llvm/Support/Threading.h"
>> +#include <cassert>
>> +#include <csetjmp>
>> +
>> using namespace llvm;
>> 
>> namespace {
>> 
>> struct CrashRecoveryContextImpl;
>> 
>> -static ManagedStatic<
>> +ManagedStatic<
>>     sys::ThreadLocal<const CrashRecoveryContextImpl> > CurrentContext;
>> 
>> struct CrashRecoveryContextImpl {
>> @@ -42,6 +46,7 @@ public:
>>     Next = CurrentContext->get();
>>     CurrentContext->set(this);
>>   }
>> +
>>   ~CrashRecoveryContextImpl() {
>>     if (!SwitchedThread)
>>       CurrentContext->set(Next);
>> @@ -70,14 +75,14 @@ public:
>>   }
>> };
>> 
>> -}
>> +ManagedStatic<sys::Mutex> gCrashRecoveryContextMutex;
>> +bool gCrashRecoveryEnabled = false;
>> 
>> -static ManagedStatic<sys::Mutex> gCrashRecoveryContextMutex;
>> -static bool gCrashRecoveryEnabled = false;
>> -
>> -static ManagedStatic<sys::ThreadLocal<const CrashRecoveryContext>>
>> +ManagedStatic<sys::ThreadLocal<const CrashRecoveryContext>>
>>        tlIsRecoveringFromCrash;
>> 
>> +} // end anonymous namespace
>> +
>> CrashRecoveryContextCleanup::~CrashRecoveryContextCleanup() {}
>> 
>> CrashRecoveryContext::~CrashRecoveryContext() {
>> @@ -162,7 +167,9 @@ CrashRecoveryContext::unregisterCleanup(
>> // SetUnhandledExceptionFilter API, but there's a risk of that
>> // being entirely overwritten (it's not a chain).
>> 
>> -static LONG CALLBACK ExceptionHandler(PEXCEPTION_POINTERS ExceptionInfo)
>> +namespace {
>> +
>> +LONG CALLBACK ExceptionHandler(PEXCEPTION_POINTERS ExceptionInfo)
>> {
>>   // Lookup the current thread local recovery object.
>>   const CrashRecoveryContextImpl *CRCI = CurrentContext->get();
>> @@ -190,7 +197,9 @@ static LONG CALLBACK ExceptionHandler(PE
>> // CrashRecoveryContext at all.  So we make use of a thread-local
>> // exception table.  The handles contained in here will either be
>> // non-NULL, valid VEH handles, or NULL.
>> -static sys::ThreadLocal<const void> sCurrentExceptionHandle;
>> +sys::ThreadLocal<const void> sCurrentExceptionHandle;
>> +
>> +} // end anonymous namespace
>> 
>> void CrashRecoveryContext::Enable() {
>>   sys::ScopedLock L(*gCrashRecoveryContextMutex);
>> @@ -239,14 +248,15 @@ void CrashRecoveryContext::Disable() {
>> // reliable fashion -- if we get a signal outside of a crash recovery context we
>> // simply disable crash recovery and raise the signal again.
>> 
>> -#include <signal.h>
>> +#include <csignal>
>> 
>> -static const int Signals[] =
>> -    { SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGSEGV, SIGTRAP };
>> -static const unsigned NumSignals = array_lengthof(Signals);
>> -static struct sigaction PrevActions[NumSignals];
>> +namespace {
>> 
>> -static void CrashRecoverySignalHandler(int Signal) {
>> +const int Signals[] = { SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGSEGV, SIGTRAP };
>> +const unsigned NumSignals = array_lengthof(Signals);
>> +struct sigaction PrevActions[NumSignals];
>> +
>> +void CrashRecoverySignalHandler(int Signal) {
>>   // Lookup the current thread local recovery object.
>>   const CrashRecoveryContextImpl *CRCI = CurrentContext->get();
>> 
>> @@ -278,6 +288,8 @@ static void CrashRecoverySignalHandler(i
>>     const_cast<CrashRecoveryContextImpl*>(CRCI)->HandleCrash();
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void CrashRecoveryContext::Enable() {
>>   sys::ScopedLock L(*gCrashRecoveryContextMutex);
>> 
>> @@ -334,14 +346,16 @@ void CrashRecoveryContext::HandleCrash()
>>   CRCI->HandleCrash();
>> }
>> 
>> +namespace {
>> +
>> // FIXME: Portability.
>> -static void setThreadBackgroundPriority() {
>> +void setThreadBackgroundPriority() {
>> #ifdef __APPLE__
>>   setpriority(PRIO_DARWIN_THREAD, 0, PRIO_DARWIN_BG);
>> #endif
>> }
>> 
>> -static bool hasThreadBackgroundPriority() {
>> +bool hasThreadBackgroundPriority() {
>> #ifdef __APPLE__
>>   return getpriority(PRIO_DARWIN_THREAD, 0) == 1;
>> #else
>> @@ -349,16 +363,14 @@ static bool hasThreadBackgroundPriority(
>> #endif
>> }
>> 
>> -namespace {
>> struct RunSafelyOnThreadInfo {
>>   function_ref<void()> Fn;
>>   CrashRecoveryContext *CRC;
>>   bool UseBackgroundPriority;
>>   bool Result;
>> };
>> -}
>> 
>> -static void RunSafelyOnThread_Dispatch(void *UserData) {
>> +void RunSafelyOnThread_Dispatch(void *UserData) {
>>   RunSafelyOnThreadInfo *Info =
>>     reinterpret_cast<RunSafelyOnThreadInfo*>(UserData);
>> 
>> @@ -367,6 +379,9 @@ static void RunSafelyOnThread_Dispatch(v
>> 
>>   Info->Result = Info->CRC->RunSafely(Info->Fn);
>> }
>> +
>> +} // end anonymous namespace
>> +
>> bool CrashRecoveryContext::RunSafelyOnThread(function_ref<void()> Fn,
>>                                              unsigned RequestedStackSize) {
>>   bool UseBackgroundPriority = hasThreadBackgroundPriority();
>> 
>> Modified: llvm/trunk/lib/Support/Errno.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Errno.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Errno.cpp (original)
>> +++ llvm/trunk/lib/Support/Errno.cpp Tue Apr  5 15:19:49 2016
>> @@ -14,11 +14,9 @@
>> #include "llvm/Support/Errno.h"
>> #include "llvm/Config/config.h"     // Get autoconf configuration settings
>> #include "llvm/Support/raw_ostream.h"
>> -#include <string.h>
>> -
>> -#if HAVE_ERRNO_H
>> -#include <errno.h>
>> -#endif
>> +#include <cerrno>
>> +#include <cstring>
>> +#include <string>
>> 
>> //===----------------------------------------------------------------------===//
>> //=== WARNING: Implementation here must contain only TRULY operating system
>> @@ -32,7 +30,7 @@ namespace sys {
>> std::string StrError() {
>>   return StrError(errno);
>> }
>> -#endif  // HAVE_ERRNO_H
>> +#endif // HAVE_ERRNO_H
>> 
>> std::string StrError(int errnum) {
>>   std::string str;
>> @@ -72,5 +70,5 @@ std::string StrError(int errnum) {
>>   return str;
>> }
>> 
>> -}  // namespace sys
>> -}  // namespace llvm
>> +} // namespace sys
>> +} // namespace llvm
>> 
>> Modified: llvm/trunk/lib/Support/Host.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Host.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Host.cpp (original)
>> +++ llvm/trunk/lib/Support/Host.cpp Tue Apr  5 15:19:49 2016
>> @@ -19,8 +19,8 @@
>> #include "llvm/Config/config.h"
>> #include "llvm/Support/Debug.h"
>> #include "llvm/Support/FileSystem.h"
>> -#include "llvm/Support/raw_ostream.h"
>> -#include <string.h>
>> +#include <cstring>
>> +#include <string>
>> 
>> // Include the platform-specific parts of this class.
>> #ifdef LLVM_ON_UNIX
>> @@ -49,8 +49,10 @@
>> 
>> using namespace llvm;
>> 
>> +namespace {
>> +
>> #if defined(__linux__)
>> -static ssize_t LLVM_ATTRIBUTE_UNUSED readCpuInfo(void *Buf, size_t Size) {
>> +ssize_t LLVM_ATTRIBUTE_UNUSED readCpuInfo(void *Buf, size_t Size) {
>>   // Note: We cannot mmap /proc/cpuinfo here and then process the resulting
>>   // memory buffer because the 'file' has 0 size (it can be read from only
>>   // as a stream).
>> @@ -74,8 +76,8 @@ static ssize_t LLVM_ATTRIBUTE_UNUSED rea
>> 
>> /// GetX86CpuIDAndInfo - Execute the specified cpuid and return the 4 values in the
>> /// specified arguments.  If we can't run cpuid on the host, return true.
>> -static bool GetX86CpuIDAndInfo(unsigned value, unsigned *rEAX, unsigned *rEBX,
>> -                               unsigned *rECX, unsigned *rEDX) {
>> +bool GetX86CpuIDAndInfo(unsigned value, unsigned *rEAX, unsigned *rEBX,
>> +                        unsigned *rECX, unsigned *rEDX) {
>> #if defined(__GNUC__) || defined(__clang__)
>>   #if defined(__x86_64__) || defined(_M_AMD64) || defined (_M_X64)
>>     // gcc doesn't know cpuid would clobber ebx/rbx. Preseve it manually.
>> @@ -120,9 +122,8 @@ static bool GetX86CpuIDAndInfo(unsigned
>> /// GetX86CpuIDAndInfoEx - Execute the specified cpuid with subleaf and return the
>> /// 4 values in the specified arguments.  If we can't run cpuid on the host,
>> /// return true.
>> -static bool GetX86CpuIDAndInfoEx(unsigned value, unsigned subleaf,
>> -                                 unsigned *rEAX, unsigned *rEBX, unsigned *rECX,
>> -                                 unsigned *rEDX) {
>> +bool GetX86CpuIDAndInfoEx(unsigned value, unsigned subleaf, unsigned *rEAX,
>> +                          unsigned *rEBX, unsigned *rECX, unsigned *rEDX) {
>> #if defined(__x86_64__) || defined(_M_AMD64) || defined (_M_X64)
>>   #if defined(__GNUC__)
>>     // gcc doesn't know cpuid would clobber ebx/rbx. Preseve it manually.
>> @@ -182,7 +183,7 @@ static bool GetX86CpuIDAndInfoEx(unsigne
>> #endif
>> }
>> 
>> -static bool GetX86XCR0(unsigned *rEAX, unsigned *rEDX) {
>> +bool GetX86XCR0(unsigned *rEAX, unsigned *rEDX) {
>> #if defined(__GNUC__)
>>   // Check xgetbv; this uses a .byte sequence instead of the instruction
>>   // directly because older assemblers do not include support for xgetbv and
>> @@ -199,8 +200,7 @@ static bool GetX86XCR0(unsigned *rEAX, u
>> #endif
>> }
>> 
>> -static void DetectX86FamilyModel(unsigned EAX, unsigned &Family,
>> -                                 unsigned &Model) {
>> +void DetectX86FamilyModel(unsigned EAX, unsigned &Family, unsigned &Model) {
>>   Family = (EAX >> 8) & 0xf; // Bits 8 - 11
>>   Model  = (EAX >> 4) & 0xf; // Bits 4 - 7
>>   if (Family == 6 || Family == 0xf) {
>> @@ -212,6 +212,8 @@ static void DetectX86FamilyModel(unsigne
>>   }
>> }
>> 
>> +} // end anonymous namespace
>> +
>> StringRef sys::getHostCPUName() {
>>   unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
>>   if (GetX86CpuIDAndInfo(0x1, &EAX, &EBX, &ECX, &EDX))
>> 
>> Modified: llvm/trunk/lib/Support/MathExtras.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/MathExtras.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/MathExtras.cpp (original)
>> +++ llvm/trunk/lib/Support/MathExtras.cpp Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//===-- MathExtras.cpp - Implement the MathExtras header --------------===//
>> +//===-- MathExtras.cpp - Implement the MathExtras header ------------------===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -16,7 +16,7 @@
>> #ifdef _MSC_VER
>> #include <limits>
>> #else
>> -#include <math.h>
>> +#include <cmath>
>> #endif
>> 
>> namespace llvm {
>> @@ -29,4 +29,4 @@ namespace llvm {
>>   const float huge_valf = HUGE_VALF;
>> #endif
>> 
>> -}
>> +} // end namespace llvm
>> 
>> Modified: llvm/trunk/lib/Support/Mutex.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Mutex.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Mutex.cpp (original)
>> +++ llvm/trunk/lib/Support/Mutex.cpp Tue Apr  5 15:19:49 2016
>> @@ -22,22 +22,26 @@
>> #if !defined(LLVM_ENABLE_THREADS) || LLVM_ENABLE_THREADS == 0
>> // Define all methods as no-ops if threading is explicitly disabled
>> namespace llvm {
>> +
>> using namespace sys;
>> +
>> MutexImpl::MutexImpl( bool recursive) { }
>> MutexImpl::~MutexImpl() { }
>> bool MutexImpl::acquire() { return true; }
>> bool MutexImpl::release() { return true; }
>> bool MutexImpl::tryacquire() { return true; }
>> -}
>> +
>> +} // end namespace llvm
>> #else
>> 
>> #if defined(HAVE_PTHREAD_H) && defined(HAVE_PTHREAD_MUTEX_LOCK)
>> 
>> #include <cassert>
>> +#include <cstdlib>
>> #include <pthread.h>
>> -#include <stdlib.h>
>> 
>> namespace llvm {
>> +
>> using namespace sys;
>> 
>> // Construct a Mutex using pthread calls
>> @@ -110,7 +114,7 @@ MutexImpl::tryacquire()
>>   return errorcode == 0;
>> }
>> 
>> -}
>> +} // end namespace llvm
>> 
>> #elif defined(LLVM_ON_UNIX)
>> #include "Unix/Mutex.inc"
>> 
>> Modified: llvm/trunk/lib/Support/RWMutex.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/RWMutex.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/RWMutex.cpp (original)
>> +++ llvm/trunk/lib/Support/RWMutex.cpp Tue Apr  5 15:19:49 2016
>> @@ -13,7 +13,6 @@
>> 
>> #include "llvm/Config/config.h"
>> #include "llvm/Support/RWMutex.h"
>> -#include <cstring>
>> 
>> //===----------------------------------------------------------------------===//
>> //=== WARNING: Implementation here must contain only TRULY operating system
>> @@ -23,23 +22,27 @@
>> #if !defined(LLVM_ENABLE_THREADS) || LLVM_ENABLE_THREADS == 0
>> // Define all methods as no-ops if threading is explicitly disabled
>> namespace llvm {
>> +
>> using namespace sys;
>> +
>> RWMutexImpl::RWMutexImpl() { }
>> RWMutexImpl::~RWMutexImpl() { }
>> bool RWMutexImpl::reader_acquire() { return true; }
>> bool RWMutexImpl::reader_release() { return true; }
>> bool RWMutexImpl::writer_acquire() { return true; }
>> bool RWMutexImpl::writer_release() { return true; }
>> -}
>> +
>> +} // end namespace llvm
>> #else
>> 
>> #if defined(HAVE_PTHREAD_H) && defined(HAVE_PTHREAD_RWLOCK_INIT)
>> 
>> #include <cassert>
>> +#include <cstdlib>
>> #include <pthread.h>
>> -#include <stdlib.h>
>> 
>> namespace llvm {
>> +
>> using namespace sys;
>> 
>> // Construct a RWMutex using pthread calls
>> @@ -113,7 +116,7 @@ RWMutexImpl::writer_release()
>>   return errorcode == 0;
>> }
>> 
>> -}
>> +} // end namespace llvm
>> 
>> #elif defined(LLVM_ON_UNIX)
>> #include "Unix/RWMutex.inc"
>> 
>> Modified: llvm/trunk/lib/Support/SHA1.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/SHA1.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/SHA1.cpp (original)
>> +++ llvm/trunk/lib/Support/SHA1.cpp Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//======- SHA1.h - Private copy of the SHA1 implementation ---*- C++ -* ======//
>> +//===--- SHA1.h - Private copy of the SHA1 implementation -------*- C++ -*-===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -13,12 +13,13 @@
>> //
>> //===----------------------------------------------------------------------===//
>> 
>> +#include "llvm/ADT/StringRef.h"
>> #include "llvm/Support/Host.h"
>> #include "llvm/Support/SHA1.h"
>> -using namespace llvm;
>> 
>> -#include <stdint.h>
>> -#include <string.h>
>> +#include <cstring>
>> +
>> +using namespace llvm;
>> 
>> #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == BIG_ENDIAN
>> #define SHA_BIG_ENDIAN
>> @@ -46,10 +47,14 @@ void SHA1::init() {
>>   InternalState.BufferOffset = 0;
>> }
>> 
>> -static uint32_t rol32(uint32_t number, uint8_t bits) {
>> +namespace {
>> +
>> +uint32_t rol32(uint32_t number, uint8_t bits) {
>>   return ((number << bits) | (number >> (32 - bits)));
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void SHA1::hashBlock() {
>>   uint8_t i;
>>   uint32_t a, b, c, d, e, t;
>> 
>> Modified: llvm/trunk/lib/Support/SearchForAddressOfSpecialSymbol.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/SearchForAddressOfSpecialSymbol.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/SearchForAddressOfSpecialSymbol.cpp (original)
>> +++ llvm/trunk/lib/Support/SearchForAddressOfSpecialSymbol.cpp Tue Apr  5 15:19:49 2016
>> @@ -14,10 +14,12 @@
>> //
>> //===----------------------------------------------------------------------===//
>> 
>> -#include <string.h>
>> +#include <cstring>
>> +
>> +namespace {
>> 
>> // Must declare the symbols in the global namespace.
>> -static void *DoSearch(const char* symbolName) {
>> +void *DoSearch(const char* symbolName) {
>> #define EXPLICIT_SYMBOL(SYM) \
>>    extern void *SYM; if (!strcmp(symbolName, #SYM)) return &SYM
>> 
>> @@ -51,8 +53,12 @@ static void *DoSearch(const char* symbol
>>   return nullptr;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> namespace llvm {
>> +
>> void *SearchForAddressOfSpecialSymbol(const char* symbolName) {
>>   return DoSearch(symbolName);
>> }
>> -}  // namespace llvm
>> +
>> +} // end namespace llvm
>> 
>> Modified: llvm/trunk/lib/Support/Unix/Path.inc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Path.inc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/Path.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/Path.inc Tue Apr  5 15:19:49 2016
>> @@ -17,8 +17,9 @@
>> //===----------------------------------------------------------------------===//
>> 
>> #include "Unix.h"
>> -#include <limits.h>
>> -#include <stdio.h>
>> +#include <cassert>
>> +#include <climits>
>> +#include <cstdio>
>> #if HAVE_SYS_STAT_H
>> #include <sys/stat.h>
>> #endif
>> @@ -86,7 +87,10 @@ namespace fs {
>> #if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__Bitrig__) || \
>>     defined(__OpenBSD__) || defined(__minix) || defined(__FreeBSD_kernel__) || \
>>     defined(__linux__) || defined(__CYGWIN__) || defined(__DragonFly__)
>> -static int
>> +
>> +namespace {
>> +
>> +int
>> test_dir(char ret[PATH_MAX], const char *dir, const char *bin)
>> {
>>   struct stat sb;
>> @@ -101,7 +105,7 @@ test_dir(char ret[PATH_MAX], const char
>>   return 0;
>> }
>> 
>> -static char *
>> +char *
>> getprogpath(char ret[PATH_MAX], const char *bin)
>> {
>>   char *pv, *s, *t;
>> @@ -138,6 +142,9 @@ getprogpath(char ret[PATH_MAX], const ch
>>   free(pv);
>>   return nullptr;
>> }
>> +
>> +} // end anonymous namespace
>> +
>> #endif // __FreeBSD__ || __NetBSD__ || __FreeBSD_kernel__
>> 
>> /// GetMainExecutable - Return the path to the main executable, given the
>> @@ -330,7 +337,9 @@ std::error_code resize_file(int FD, uint
>>   return std::error_code();
>> }
>> 
>> -static int convertAccessMode(AccessMode Mode) {
>> +namespace {
>> +
>> +int convertAccessMode(AccessMode Mode) {
>>   switch (Mode) {
>>   case AccessMode::Exist:
>>     return F_OK;
>> @@ -342,6 +351,8 @@ static int convertAccessMode(AccessMode
>>   llvm_unreachable("invalid enum");
>> }
>> 
>> +} // end anonymous namespace
>> +
>> std::error_code access(const Twine &Path, AccessMode Mode) {
>>   SmallString<128> PathStorage;
>>   StringRef P = Path.toNullTerminatedStringRef(PathStorage);
>> @@ -381,8 +392,10 @@ std::error_code equivalent(const Twine &
>>   return std::error_code();
>> }
>> 
>> -static std::error_code fillStatus(int StatRet, const struct stat &Status,
>> -                             file_status &Result) {
>> +namespace {
>> +
>> +std::error_code fillStatus(int StatRet, const struct stat &Status,
>> +                           file_status &Result) {
>>   if (StatRet != 0) {
>>     std::error_code ec(errno, std::generic_category());
>>     if (ec == errc::no_such_file_or_directory)
>> @@ -416,6 +429,8 @@ static std::error_code fillStatus(int St
>>   return std::error_code();
>> }
>> 
>> +} // end anonymous namespace
>> +
>> std::error_code status(const Twine &Path, file_status &Result) {
>>   SmallString<128> PathStorage;
>>   StringRef P = Path.toNullTerminatedStringRef(PathStorage);
>> @@ -597,7 +612,9 @@ bool home_directory(SmallVectorImpl<char
>>   return false;
>> }
>> 
>> -static bool getDarwinConfDir(bool TempDir, SmallVectorImpl<char> &Result) {
>> +namespace {
>> +
>> +bool getDarwinConfDir(bool TempDir, SmallVectorImpl<char> &Result) {
>>   #if defined(_CS_DARWIN_USER_TEMP_DIR) && defined(_CS_DARWIN_USER_CACHE_DIR)
>>   // On Darwin, use DARWIN_USER_TEMP_DIR or DARWIN_USER_CACHE_DIR.
>>   // macros defined in <unistd.h> on darwin >= 9
>> @@ -622,7 +639,7 @@ static bool getDarwinConfDir(bool TempDi
>>   return false;
>> }
>> 
>> -static bool getUserCacheDir(SmallVectorImpl<char> &Result) {
>> +bool getUserCacheDir(SmallVectorImpl<char> &Result) {
>>   // First try using XDG_CACHE_HOME env variable,
>>   // as specified in XDG Base Directory Specification at
>>   // http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
>> @@ -645,7 +662,7 @@ static bool getUserCacheDir(SmallVectorI
>>   return false;
>> }
>> 
>> -static const char *getEnvTempDir() {
>> +const char *getEnvTempDir() {
>>   // Check whether the temporary directory is specified by an environment
>>   // variable.
>>   const char *EnvironmentVariables[] = {"TMPDIR", "TMP", "TEMP", "TEMPDIR"};
>> @@ -657,7 +674,7 @@ static const char *getEnvTempDir() {
>>   return nullptr;
>> }
>> 
>> -static const char *getDefaultTempDir(bool ErasedOnReboot) {
>> +const char *getDefaultTempDir(bool ErasedOnReboot) {
>> #ifdef P_tmpdir
>>   if ((bool)P_tmpdir)
>>     return P_tmpdir;
>> @@ -668,6 +685,8 @@ static const char *getDefaultTempDir(boo
>>   return "/var/tmp";
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void system_temp_directory(bool ErasedOnReboot, SmallVectorImpl<char> &Result) {
>>   Result.clear();
>> 
>> 
>> Modified: llvm/trunk/lib/Support/Unix/Process.inc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Process.inc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/Process.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/Process.inc Tue Apr  5 15:19:49 2016
>> @@ -30,9 +30,7 @@
>> #ifdef HAVE_SYS_STAT_H
>> #include <sys/stat.h>
>> #endif
>> -#if HAVE_SIGNAL_H
>> -#include <signal.h>
>> -#endif
>> +#include <csignal>
>> // DragonFlyBSD, OpenBSD, and Bitrig have deprecated <malloc.h> for
>> // <stdlib.h> instead. Unix.h includes this for us already.
>> #if defined(HAVE_MALLOC_H) && !defined(__DragonFly__) && \
>> @@ -60,7 +58,9 @@
>> using namespace llvm;
>> using namespace sys;
>> 
>> -static std::pair<TimeValue, TimeValue> getRUsageTimes() {
>> +namespace {
>> +
>> +std::pair<TimeValue, TimeValue> getRUsageTimes() {
>> #if defined(HAVE_GETRUSAGE)
>>   struct rusage RU;
>>   ::getrusage(RUSAGE_SELF, &RU);
>> @@ -79,6 +79,8 @@ static std::pair<TimeValue, TimeValue> g
>> #endif
>> }
>> 
>> +} // end anonymous namespace
>> +
>> // On Cygwin, getpagesize() returns 64k(AllocationGranularity) and
>> // offset in mmap(3) should be aligned to the AllocationGranularity.
>> unsigned Process::getPageSize() {
>> @@ -189,6 +191,7 @@ Process::GetArgumentVector(SmallVectorIm
>> }
>> 
>> namespace {
>> +
>> class FDCloser {
>> public:
>>   FDCloser(int &FD) : FD(FD), KeepOpen(false) {}
>> @@ -205,7 +208,8 @@ private:
>>   int &FD;
>>   bool KeepOpen;
>> };
>> -}
>> +
>> +} // end anonymous namespace
>> 
>> std::error_code Process::FixupStandardFileDescriptors() {
>>   int NullFD = -1;
>> @@ -300,7 +304,9 @@ bool Process::FileDescriptorIsDisplayed(
>> #endif
>> }
>> 
>> -static unsigned getColumns(int FileID) {
>> +namespace {
>> +
>> +unsigned getColumns(int FileID) {
>>   // If COLUMNS is defined in the environment, wrap to that many columns.
>>   if (const char *ColumnsStr = std::getenv("COLUMNS")) {
>>     int Columns = std::atoi(ColumnsStr);
>> @@ -320,6 +326,8 @@ static unsigned getColumns(int FileID) {
>>   return Columns;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> unsigned Process::StandardOutColumns() {
>>   if (!StandardOutIsDisplayed())
>>     return 0;
>> @@ -344,11 +352,13 @@ extern "C" int del_curterm(struct term *
>> extern "C" int tigetnum(char *capname);
>> #endif
>> 
>> +namespace {
>> +
>> #ifdef HAVE_TERMINFO
>> -static ManagedStatic<sys::Mutex> TermColorMutex;
>> +ManagedStatic<sys::Mutex> TermColorMutex;
>> #endif
>> 
>> -static bool terminalHasColors(int fd) {
>> +bool terminalHasColors(int fd) {
>> #ifdef HAVE_TERMINFO
>>   // First, acquire a global lock because these C routines are thread hostile.
>>   MutexGuard G(*TermColorMutex);
>> @@ -388,6 +398,8 @@ static bool terminalHasColors(int fd) {
>>   return false;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> bool Process::FileDescriptorHasColors(int fd) {
>>   // A file descriptor has colors if it is displayed and the terminal has
>>   // colors.
>> @@ -428,7 +440,10 @@ const char *Process::ResetColor() {
>> }
>> 
>> #if !defined(HAVE_DECL_ARC4RANDOM) || !HAVE_DECL_ARC4RANDOM
>> -static unsigned GetRandomNumberSeed() {
>> +
>> +namespace {
>> +
>> +unsigned GetRandomNumberSeed() {
>>   // Attempt to get the initial seed from /dev/urandom, if possible.
>>   int urandomFD = open("/dev/urandom", O_RDONLY);
>> 
>> @@ -450,6 +465,9 @@ static unsigned GetRandomNumberSeed() {
>>   TimeValue Now = TimeValue::now();
>>   return hash_combine(Now.seconds(), Now.nanoseconds(), ::getpid());
>> }
>> +
>> +} // end anonymous namespace
>> +
>> #endif
>> 
>> unsigned llvm::sys::Process::GetRandomNumber() {
>> 
>> Modified: llvm/trunk/lib/Support/Unix/Program.inc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Program.inc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/Program.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/Program.inc Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//===- llvm/Support/Unix/Program.cpp -----------------------------*- C++ -*-===//
>> +//===- llvm/Support/Unix/Program.cpp ----------------------------*- C++ -*-===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -30,9 +30,7 @@
>> #if HAVE_SYS_RESOURCE_H
>> #include <sys/resource.h>
>> #endif
>> -#if HAVE_SIGNAL_H
>> -#include <signal.h>
>> -#endif
>> +#include <csignal>
>> #if HAVE_FCNTL_H
>> #include <fcntl.h>
>> #endif
>> @@ -96,7 +94,9 @@ ErrorOr<std::string> sys::findProgramByN
>>   return errc::no_such_file_or_directory;
>> }
>> 
>> -static bool RedirectIO(const StringRef *Path, int FD, std::string* ErrMsg) {
>> +namespace {
>> +
>> +bool RedirectIO(const StringRef *Path, int FD, std::string* ErrMsg) {
>>   if (!Path) // Noop
>>     return false;
>>   std::string File;
>> @@ -125,8 +125,8 @@ static bool RedirectIO(const StringRef *
>> }
>> 
>> #ifdef HAVE_POSIX_SPAWN
>> -static bool RedirectIO_PS(const std::string *Path, int FD, std::string *ErrMsg,
>> -                          posix_spawn_file_actions_t *FileActions) {
>> +bool RedirectIO_PS(const std::string *Path, int FD, std::string *ErrMsg,
>> +                   posix_spawn_file_actions_t *FileActions) {
>>   if (!Path) // Noop
>>     return false;
>>   const char *File;
>> @@ -144,10 +144,10 @@ static bool RedirectIO_PS(const std::str
>> }
>> #endif
>> 
>> -static void TimeOutHandler(int Sig) {
>> +void TimeOutHandler(int Sig) {
>> }
>> 
>> -static void SetMemoryLimits (unsigned size)
>> +void SetMemoryLimits (unsigned size)
>> {
>> #if HAVE_SYS_RESOURCE_H && HAVE_GETRLIMIT && HAVE_SETRLIMIT
>>   struct rlimit r;
>> @@ -176,7 +176,9 @@ static void SetMemoryLimits (unsigned si
>> #endif
>> }
>> 
>> -}
>> +} // end anonymous namespace
>> +
>> +} // end namespace llvm
>> 
>> static bool Execute(ProcessInfo &PI, StringRef Program, const char **args,
>>                     const char **envp, const StringRef **redirects,
>> @@ -419,12 +421,12 @@ ProcessInfo sys::Wait(const ProcessInfo
>>   return WaitResult;
>> }
>> 
>> -  std::error_code sys::ChangeStdinToBinary(){
>> +std::error_code sys::ChangeStdinToBinary() {
>>   // Do nothing, as Unix doesn't differentiate between text and binary.
>>     return std::error_code();
>> }
>> 
>> -  std::error_code sys::ChangeStdoutToBinary(){
>> +std::error_code sys::ChangeStdoutToBinary() {
>>   // Do nothing, as Unix doesn't differentiate between text and binary.
>>     return std::error_code();
>> }
>> @@ -466,4 +468,5 @@ bool llvm::sys::commandLineFitsWithinSys
>>   }
>>   return true;
>> }
>> -}
>> +
>> +} // end namespace llvm
>> 
>> Modified: llvm/trunk/lib/Support/Unix/Signals.inc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Signals.inc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/Signals.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/Signals.inc Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//===- Signals.cpp - Generic Unix Signals Implementation -----*- C++ -*-===//
>> +//===- Signals.cpp - Generic Unix Signals Implementation --------*- C++ -*-===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -27,9 +27,7 @@
>> #if HAVE_EXECINFO_H
>> # include <execinfo.h>         // For backtrace().
>> #endif
>> -#if HAVE_SIGNAL_H
>> -#include <signal.h>
>> -#endif
>> +#include <csignal>
>> #if HAVE_SYS_STAT_H
>> #include <sys/stat.h>
>> #endif
>> @@ -48,25 +46,27 @@
>> 
>> using namespace llvm;
>> 
>> -static RETSIGTYPE SignalHandler(int Sig);  // defined below.
>> +namespace {
>> +
>> +RETSIGTYPE SignalHandler(int Sig);  // defined below.
>> 
>> -static ManagedStatic<SmartMutex<true> > SignalsMutex;
>> +ManagedStatic<SmartMutex<true> > SignalsMutex;
>> 
>> /// InterruptFunction - The function to call if ctrl-c is pressed.
>> -static void (*InterruptFunction)() = nullptr;
>> +void (*InterruptFunction)() = nullptr;
>> 
>> -static ManagedStatic<std::vector<std::string>> FilesToRemove;
>> +ManagedStatic<std::vector<std::string>> FilesToRemove;
>> 
>> // IntSigs - Signals that represent requested termination. There's no bug
>> // or failure, or if there is, it's not our direct responsibility. For whatever
>> // reason, our continued execution is no longer desirable.
>> -static const int IntSigs[] = {
>> +const int IntSigs[] = {
>>   SIGHUP, SIGINT, SIGPIPE, SIGTERM, SIGUSR1, SIGUSR2
>> };
>> 
>> // KillSigs - Signals that represent that we have a bug, and our prompt
>> // termination has been ordered.
>> -static const int KillSigs[] = {
>> +const int KillSigs[] = {
>>   SIGILL, SIGTRAP, SIGABRT, SIGFPE, SIGBUS, SIGSEGV, SIGQUIT
>> #ifdef SIGSYS
>>   , SIGSYS
>> @@ -82,14 +82,13 @@ static const int KillSigs[] = {
>> #endif
>> };
>> 
>> -static unsigned NumRegisteredSignals = 0;
>> -static struct {
>> +unsigned NumRegisteredSignals = 0;
>> +struct {
>>   struct sigaction SA;
>>   int SigNo;
>> } RegisteredSignalInfo[array_lengthof(IntSigs) + array_lengthof(KillSigs)];
>> 
>> -
>> -static void RegisterHandler(int Signal) {
>> +void RegisterHandler(int Signal) {
>>   assert(NumRegisteredSignals < array_lengthof(RegisteredSignalInfo) &&
>>          "Out of space for signal handlers!");
>> 
>> @@ -106,7 +105,7 @@ static void RegisterHandler(int Signal)
>>   ++NumRegisteredSignals;
>> }
>> 
>> -static void RegisterHandlers() {
>> +void RegisterHandlers() {
>>   // We need to dereference the signals mutex during handler registration so
>>   // that we force its construction. This is to prevent the first use being
>>   // during handling an actual signal because you can't safely call new in a
>> @@ -120,7 +119,7 @@ static void RegisterHandlers() {
>>   for (auto S : KillSigs) RegisterHandler(S);
>> }
>> 
>> -static void UnregisterHandlers() {
>> +void UnregisterHandlers() {
>>   // Restore all of the signal handlers to how they were before we showed up.
>>   for (unsigned i = 0, e = NumRegisteredSignals; i != e; ++i)
>>     sigaction(RegisteredSignalInfo[i].SigNo,
>> @@ -128,12 +127,11 @@ static void UnregisterHandlers() {
>>   NumRegisteredSignals = 0;
>> }
>> 
>> -
>> /// RemoveFilesToRemove - Process the FilesToRemove list. This function
>> /// should be called with the SignalsMutex lock held.
>> /// NB: This must be an async signal safe function. It cannot allocate or free
>> /// memory, even in debug builds.
>> -static void RemoveFilesToRemove() {
>> +void RemoveFilesToRemove() {
>>   // Avoid constructing ManagedStatic in the signal handler.
>>   // If FilesToRemove is not constructed, there are no files to remove.
>>   if (!FilesToRemove.isConstructed())
>> @@ -164,7 +162,7 @@ static void RemoveFilesToRemove() {
>> }
>> 
>> // SignalHandler - The signal handler that runs.
>> -static RETSIGTYPE SignalHandler(int Sig) {
>> +RETSIGTYPE SignalHandler(int Sig) {
>>   // Restore the signal behavior to default, so that the program actually
>>   // crashes when we return and the signal reissues.  This also ensures that if
>>   // we crash in our signal handler that the program will terminate immediately
>> @@ -209,6 +207,8 @@ static RETSIGTYPE SignalHandler(int Sig)
>> #endif
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void llvm::sys::RunInterruptHandlers() {
>>   sys::SmartScopedLock<true> Guard(*SignalsMutex);
>>   RemoveFilesToRemove();
>> @@ -264,7 +264,9 @@ struct DlIteratePhdrData {
>>   const char *main_exec_name;
>> };
>> 
>> -static int dl_iterate_phdr_cb(dl_phdr_info *info, size_t size, void *arg) {
>> +namespace {
>> +
>> +int dl_iterate_phdr_cb(dl_phdr_info *info, size_t size, void *arg) {
>>   DlIteratePhdrData *data = (DlIteratePhdrData*)arg;
>>   const char *name = data->first ? data->main_exec_name : info->dlpi_name;
>>   data->first = false;
>> @@ -287,6 +289,8 @@ static int dl_iterate_phdr_cb(dl_phdr_in
>>   return 0;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> /// If this is an ELF platform, we can find all loaded modules and their virtual
>> /// addresses with dl_iterate_phdr.
>> static bool findModulesAndOffsets(void **StackTrace, int Depth,
>> @@ -375,10 +379,14 @@ void llvm::sys::PrintStackTrace(raw_ostr
>> #endif
>> }
>> 
>> -static void PrintStackTraceSignalHandler(void *) {
>> +namespace {
>> +
>> +void PrintStackTraceSignalHandler(void *) {
>>   PrintStackTrace(llvm::errs());
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void llvm::sys::DisableSystemDialogsOnCrash() {}
>> 
>> /// PrintStackTraceOnErrorSignal - When an error signal (such as SIGABRT or
>> @@ -403,9 +411,6 @@ void llvm::sys::PrintStackTraceOnErrorSi
>> #endif
>> }
>> 
>> -
>> -/***/
>> -
>> // On Darwin, raise sends a signal to the main thread instead of the current
>> // thread. This has the unfortunate effect that assert() and abort() will end up
>> // bypassing our crash recovery attempts. We work around this for anything in
>> 
>> Modified: llvm/trunk/lib/Support/Unix/ThreadLocal.inc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/ThreadLocal.inc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/ThreadLocal.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/ThreadLocal.inc Tue Apr  5 15:19:49 2016
>> @@ -19,10 +19,11 @@
>> #if defined(HAVE_PTHREAD_H) && defined(HAVE_PTHREAD_GETSPECIFIC)
>> 
>> #include <cassert>
>> +#include <cstdlib>
>> #include <pthread.h>
>> -#include <stdlib.h>
>> 
>> namespace llvm {
>> +
>> using namespace sys;
>> 
>> ThreadLocalImpl::ThreadLocalImpl() : data() {
>> @@ -56,14 +57,19 @@ void ThreadLocalImpl::removeInstance() {
>>   setInstance(nullptr);
>> }
>> 
>> -}
>> +} // end namespace llvm
>> #else
>> +
>> namespace llvm {
>> +
>> using namespace sys;
>> +
>> ThreadLocalImpl::ThreadLocalImpl() : data() { }
>> ThreadLocalImpl::~ThreadLocalImpl() { }
>> void ThreadLocalImpl::setInstance(const void* d) { data = const_cast<void*>(d);}
>> void *ThreadLocalImpl::getInstance() { return data; }
>> void ThreadLocalImpl::removeInstance() { setInstance(0); }
>> -}
>> +
>> +} // end namespace llvm
>> +
>> #endif
>> 
>> Modified: llvm/trunk/lib/Support/Unix/Unix.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Unix.h?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Support/Unix/Unix.h (original)
>> +++ llvm/trunk/lib/Support/Unix/Unix.h Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//===- llvm/Support/Unix/Unix.h - Common Unix Include File -------*- C++ -*-===//
>> +//===- llvm/Support/Unix/Unix.h - Common Unix Include File ------*- C++ -*-===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -22,7 +22,7 @@
>> #include "llvm/Config/config.h"     // Get autoconf configuration settings
>> #include "llvm/Support/Errno.h"
>> #include <algorithm>
>> -#include <assert.h>
>> +#include <cassert>
>> #include <cerrno>
>> #include <cstdio>
>> #include <cstdlib>
>> @@ -42,7 +42,7 @@
>> #ifdef HAVE_SYS_TIME_H
>> # include <sys/time.h>
>> #endif
>> -#include <time.h>
>> +#include <ctime>
>> 
>> #ifdef HAVE_DLFCN_H
>> # include <dlfcn.h>
>> @@ -65,4 +65,4 @@ static inline bool MakeErrMsg(
>>   return true;
>> }
>> 
>> -#endif
>> +#endif // LLVM_LIB_SUPPORT_UNIX_UNIX_H
>> 
>> Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
>> +++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Tue Apr  5 15:19:49 2016
>> @@ -34,7 +34,8 @@
>> #include "llvm/Support/raw_ostream.h"
>> #include "llvm/Target/TargetMachine.h"
>> #include "llvm/Target/TargetOptions.h"
>> -#include <stdint.h>
>> +#include <cstdint>
>> +
>> using namespace llvm;
>> 
>> #define DEBUG_TYPE "x86-isel"
>> @@ -141,7 +142,7 @@ namespace {
>>     }
>> #endif
>>   };
>> -}
>> +} // end anonymous namespace
>> 
>> namespace {
>>   //===--------------------------------------------------------------------===//
>> @@ -301,7 +302,6 @@ namespace {
>>       // Walk all the users of the immediate.
>>       for (SDNode::use_iterator UI = N->use_begin(),
>>            UE = N->use_end(); (UI != UE) && (UseCount < 2); ++UI) {
>> -
>>         SDNode *User = *UI;
>> 
>>         // This user is already selected. Count it as a legitimate use and
>> @@ -393,8 +393,7 @@ namespace {
>>       return true;
>>     }
>>   };
>> -}
>> -
>> +} // end anonymous namespace
>> 
>> bool
>> X86DAGToDAGISel::IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const {
>> @@ -459,10 +458,12 @@ X86DAGToDAGISel::IsProfitableToFold(SDVa
>>   return true;
>> }
>> 
>> +namespace {
>> +
>> /// Replace the original chain operand of the call with
>> /// load's chain operand and move load below the call's chain operand.
>> -static void moveBelowOrigChain(SelectionDAG *CurDAG, SDValue Load,
>> -                               SDValue Call, SDValue OrigChain) {
>> +void moveBelowOrigChain(SelectionDAG *CurDAG, SDValue Load, SDValue Call,
>> +                        SDValue OrigChain) {
>>   SmallVector<SDValue, 8> Ops;
>>   SDValue Chain = OrigChain.getOperand(0);
>>   if (Chain.getNode() == Load.getNode())
>> @@ -496,7 +497,7 @@ static void moveBelowOrigChain(Selection
>> /// Return the CALLSEQ_START by reference as a second output.
>> /// In the case of a tail call, there isn't a callseq node between the call
>> /// chain and the load.
>> -static bool isCalleeLoad(SDValue Callee, SDValue &Chain, bool HasCallSeq) {
>> +bool isCalleeLoad(SDValue Callee, SDValue &Chain, bool HasCallSeq) {
>>   // The transformation is somewhat dangerous if the call's chain was glued to
>>   // the call. After MoveBelowOrigChain the load is moved between the call and
>>   // the chain, this can create a cycle if the load is not folded. So it is
>> @@ -533,6 +534,8 @@ static bool isCalleeLoad(SDValue Callee,
>>   return false;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void X86DAGToDAGISel::PreprocessISelDAG() {
>>   // OptFor[Min]Size are used in pattern predicates that isel is matching.
>>   OptForSize = MF->getFunction()->optForSize();
>> @@ -651,7 +654,6 @@ void X86DAGToDAGISel::PreprocessISelDAG(
>>   }
>> }
>> 
>> -
>> /// Emit any code that needs to be executed only in the main function.
>> void X86DAGToDAGISel::emitSpecialCodeForMain() {
>>   if (Subtarget->isTargetCygMing()) {
>> @@ -676,7 +678,9 @@ void X86DAGToDAGISel::EmitFunctionEntryC
>>       emitSpecialCodeForMain();
>> }
>> 
>> -static bool isDispSafeForFrameIndex(int64_t Val) {
>> +namespace {
>> +
>> +bool isDispSafeForFrameIndex(int64_t Val) {
>>   // On 64-bit platforms, we can run into an issue where a frame index
>>   // includes a displacement that, when added to the explicit displacement,
>>   // will overflow the displacement field. Assuming that the frame index
>> @@ -686,6 +690,8 @@ static bool isDispSafeForFrameIndex(int6
>>   return isInt<31>(Val);
>> }
>> 
>> +} // end anonymous namespace
>> +
>> bool X86DAGToDAGISel::foldOffsetIntoAddress(uint64_t Offset,
>>                                             X86ISelAddressMode &AM) {
>>   // Cannot combine ExternalSymbol displacements with integer offsets.
>> @@ -705,7 +711,6 @@ bool X86DAGToDAGISel::foldOffsetIntoAddr
>>   }
>>   AM.Disp = Val;
>>   return false;
>> -
>> }
>> 
>> bool X86DAGToDAGISel::matchLoadInAddress(LoadSDNode *N, X86ISelAddressMode &AM){
>> @@ -896,12 +901,14 @@ bool X86DAGToDAGISel::matchAdd(SDValue N
>>   return true;
>> }
>> 
>> +namespace {
>> +
>> // Insert a node into the DAG at least before the Pos node's position. This
>> // will reposition the node as needed, and will assign it a node ID that is <=
>> // the Pos node's ID. Note that this does *not* preserve the uniqueness of node
>> // IDs! The selection DAG must no longer depend on their uniqueness when this
>> // is used.
>> -static void insertDAGNode(SelectionDAG &DAG, SDValue Pos, SDValue N) {
>> +void insertDAGNode(SelectionDAG &DAG, SDValue Pos, SDValue N) {
>>   if (N.getNode()->getNodeId() == -1 ||
>>       N.getNode()->getNodeId() > Pos.getNode()->getNodeId()) {
>>     DAG.RepositionNode(Pos.getNode()->getIterator(), N.getNode());
>> @@ -913,10 +920,9 @@ static void insertDAGNode(SelectionDAG &
>> // safe. This allows us to convert the shift and and into an h-register
>> // extract and a scaled index. Returns false if the simplification is
>> // performed.
>> -static bool foldMaskAndShiftToExtract(SelectionDAG &DAG, SDValue N,
>> -                                      uint64_t Mask,
>> -                                      SDValue Shift, SDValue X,
>> -                                      X86ISelAddressMode &AM) {
>> +bool foldMaskAndShiftToExtract(SelectionDAG &DAG, SDValue N, uint64_t Mask,
>> +                               SDValue Shift, SDValue X,
>> +                               X86ISelAddressMode &AM) {
>>   if (Shift.getOpcode() != ISD::SRL ||
>>       !isa<ConstantSDNode>(Shift.getOperand(1)) ||
>>       !Shift.hasOneUse())
>> @@ -956,10 +962,9 @@ static bool foldMaskAndShiftToExtract(Se
>> // Transforms "(X << C1) & C2" to "(X & (C2>>C1)) << C1" if safe and if this
>> // allows us to fold the shift into this addressing mode. Returns false if the
>> // transform succeeded.
>> -static bool foldMaskedShiftToScaledMask(SelectionDAG &DAG, SDValue N,
>> -                                        uint64_t Mask,
>> -                                        SDValue Shift, SDValue X,
>> -                                        X86ISelAddressMode &AM) {
>> +bool foldMaskedShiftToScaledMask(SelectionDAG &DAG, SDValue N, uint64_t Mask,
>> +                                 SDValue Shift, SDValue X,
>> +                                 X86ISelAddressMode &AM) {
>>   if (Shift.getOpcode() != ISD::SHL ||
>>       !isa<ConstantSDNode>(Shift.getOperand(1)))
>>     return true;
>> @@ -1023,10 +1028,8 @@ static bool foldMaskedShiftToScaledMask(
>> // Note that this function assumes the mask is provided as a mask *after* the
>> // value is shifted. The input chain may or may not match that, but computing
>> // such a mask is trivial.
>> -static bool foldMaskAndShiftToScale(SelectionDAG &DAG, SDValue N,
>> -                                    uint64_t Mask,
>> -                                    SDValue Shift, SDValue X,
>> -                                    X86ISelAddressMode &AM) {
>> +bool foldMaskAndShiftToScale(SelectionDAG &DAG, SDValue N, uint64_t Mask,
>> +                             SDValue Shift, SDValue X, X86ISelAddressMode &AM) {
>>   if (Shift.getOpcode() != ISD::SRL || !Shift.hasOneUse() ||
>>       !isa<ConstantSDNode>(Shift.getOperand(1)))
>>     return true;
>> @@ -1104,6 +1107,8 @@ static bool foldMaskAndShiftToScale(Sele
>>   return false;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> bool X86DAGToDAGISel::matchAddressRecursively(SDValue N, X86ISelAddressMode &AM,
>>                                               unsigned Depth) {
>>   SDLoc dl(N);
>> @@ -1418,7 +1423,6 @@ bool X86DAGToDAGISel::matchAddressBase(S
>> bool X86DAGToDAGISel::selectVectorAddr(SDNode *Parent, SDValue N, SDValue &Base,
>>                                       SDValue &Scale, SDValue &Index,
>>                                       SDValue &Disp, SDValue &Segment) {
>> -
>>   MaskedGatherScatterSDNode *Mgs = dyn_cast<MaskedGatherScatterSDNode>(Parent);
>>   if (!Mgs)
>>     return false;
>> @@ -1541,7 +1545,6 @@ bool X86DAGToDAGISel::selectScalarSSELoa
>>   return false;
>> }
>> 
>> -
>> bool X86DAGToDAGISel::selectMOV64Imm32(SDValue N, SDValue &Imm) {
>>   if (const ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N)) {
>>     uint64_t ImmVal = CN->getZExtValue();
>> @@ -1695,7 +1698,6 @@ bool X86DAGToDAGISel::selectTLSADDRAddr(
>>   return true;
>> }
>> 
>> -
>> bool X86DAGToDAGISel::tryFoldLoad(SDNode *P, SDValue N,
>>                                   SDValue &Base, SDValue &Scale,
>>                                   SDValue &Index, SDValue &Disp,
>> @@ -1718,9 +1720,11 @@ SDNode *X86DAGToDAGISel::getGlobalBaseRe
>>   return CurDAG->getRegister(GlobalBaseReg, TLI->getPointerTy(DL)).getNode();
>> }
>> 
>> +namespace {
>> +
>> /// Test whether the given X86ISD::CMP node has any uses which require the SF
>> /// or OF bits to be accurate.
>> -static bool hasNoSignedComparisonUses(SDNode *N) {
>> +bool hasNoSignedComparisonUses(SDNode *N) {
>>   // Examine each user of the node.
>>   for (SDNode::use_iterator UI = N->use_begin(),
>>          UE = N->use_end(); UI != UE; ++UI) {
>> @@ -1782,10 +1786,9 @@ static bool hasNoSignedComparisonUses(SD
>> 
>> /// Check whether or not the chain ending in StoreNode is suitable for doing
>> /// the {load; increment or decrement; store} to modify transformation.
>> -static bool isLoadIncOrDecStore(StoreSDNode *StoreNode, unsigned Opc,
>> -                                SDValue StoredVal, SelectionDAG *CurDAG,
>> -                                LoadSDNode* &LoadNode, SDValue &InputChain) {
>> -
>> +bool isLoadIncOrDecStore(StoreSDNode *StoreNode, unsigned Opc,
>> +                          SDValue StoredVal, SelectionDAG *CurDAG,
>> +                          LoadSDNode* &LoadNode, SDValue &InputChain) {
>>   // is the value stored the result of a DEC or INC?
>>   if (!(Opc == X86ISD::DEC || Opc == X86ISD::INC)) return false;
>> 
>> @@ -1867,7 +1870,7 @@ static bool isLoadIncOrDecStore(StoreSDN
>> 
>> /// Get the appropriate X86 opcode for an in-memory increment or decrement.
>> /// Opc should be X86ISD::DEC or X86ISD::INC.
>> -static unsigned getFusedLdStOpcode(EVT &LdVT, unsigned Opc) {
>> +unsigned getFusedLdStOpcode(EVT &LdVT, unsigned Opc) {
>>   if (Opc == X86ISD::DEC) {
>>     if (LdVT == MVT::i64) return X86::DEC64m;
>>     if (LdVT == MVT::i32) return X86::DEC32m;
>> @@ -1883,6 +1886,8 @@ static unsigned getFusedLdStOpcode(EVT &
>>   llvm_unreachable("unrecognized size for LdVT");
>> }
>> 
>> +} // end anonymous namespace
>> +
>> /// Customized ISel for GATHER operations.
>> SDNode *X86DAGToDAGISel::selectGather(SDNode *Node, unsigned Opc) {
>>   // Operands of Gather: VSrc, Base, VIdx, VMask, Scale
>> 
>> Modified: llvm/trunk/tools/llvm-c-test/echo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-c-test/echo.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-c-test/echo.cpp (original)
>> +++ llvm/trunk/tools/llvm-c-test/echo.cpp Tue Apr  5 15:19:49 2016
>> @@ -16,12 +16,18 @@
>> //===----------------------------------------------------------------------===//
>> 
>> #include "llvm-c-test.h"
>> +#include "llvm-c/Core.h"
>> +#include "llvm-c/ErrorHandling.h"
>> #include "llvm-c/Target.h"
>> +#include "llvm-c/Types.h"
>> #include "llvm/ADT/DenseMap.h"
>> +#include "llvm/ADT/Hashing.h"
>> +#include "llvm/ADT/SmallVector.h"
>> #include "llvm/Support/ErrorHandling.h"
>> 
>> -#include <stdio.h>
>> -#include <stdlib.h>
>> +#include <cstdio>
>> +#include <cstdlib>
>> +#include <cstring>
>> 
>> using namespace llvm;
>> 
>> @@ -39,13 +45,16 @@ struct CAPIDenseMap<T*> {
>>       uintptr_t Val = static_cast<uintptr_t>(-1);
>>       return reinterpret_cast<T*>(Val);
>>     }
>> +
>>     static inline T* getTombstoneKey() {
>>       uintptr_t Val = static_cast<uintptr_t>(-2);
>>       return reinterpret_cast<T*>(Val);
>>     }
>> +
>>     static unsigned getHashValue(const T *PtrVal) {
>>       return hash_value(PtrVal);
>>     }
>> +
>>     static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
>>   };
>> 
>> @@ -154,7 +163,9 @@ struct TypeCloner {
>>   }
>> };
>> 
>> -static ValueMap clone_params(LLVMValueRef Src, LLVMValueRef Dst) {
>> +namespace {
>> +
>> +ValueMap clone_params(LLVMValueRef Src, LLVMValueRef Dst) {
>>   unsigned Count = LLVMCountParams(Src);
>>   if (Count != LLVMCountParams(Dst))
>>     report_fatal_error("Parameter count mismatch");
>> @@ -212,6 +223,8 @@ static ValueMap clone_params(LLVMValueRe
>>   return VMap;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> LLVMValueRef clone_constant(LLVMValueRef Cst, LLVMModuleRef M) {
>>   if (!LLVMIsAConstant(Cst))
>>     report_fatal_error("Expected a constant");
>> @@ -710,7 +723,9 @@ struct FunCloner {
>>   }
>> };
>> 
>> -static void declare_symbols(LLVMModuleRef Src, LLVMModuleRef M) {
>> +namespace {
>> +
>> +void declare_symbols(LLVMModuleRef Src, LLVMModuleRef M) {
>>   LLVMValueRef Begin = LLVMGetFirstGlobal(Src);
>>   LLVMValueRef End = LLVMGetLastGlobal(Src);
>> 
>> @@ -774,7 +789,7 @@ FunDecl:
>>   }
>> }
>> 
>> -static void clone_symbols(LLVMModuleRef Src, LLVMModuleRef M) {
>> +void clone_symbols(LLVMModuleRef Src, LLVMModuleRef M) {
>>   LLVMValueRef Begin = LLVMGetFirstGlobal(Src);
>>   LLVMValueRef End = LLVMGetLastGlobal(Src);
>> 
>> @@ -861,6 +876,8 @@ FunClone:
>>   }
>> }
>> 
>> +} // end anonymous namespace
>> +
>> int llvm_echo(void) {
>>   LLVMEnablePrettyStackTrace();
>> 
>> 
>> Modified: llvm/trunk/tools/llvm-c-test/llvm-c-test.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-c-test/llvm-c-test.h?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-c-test/llvm-c-test.h (original)
>> +++ llvm/trunk/tools/llvm-c-test/llvm-c-test.h Tue Apr  5 15:19:49 2016
>> @@ -10,10 +10,15 @@
>> |* Header file for llvm-c-test                                                *|
>> |*                                                                            *|
>> \*===----------------------------------------------------------------------===*/
>> +
>> #ifndef LLVM_C_TEST_H
>> #define LLVM_C_TEST_H
>> 
>> +#ifdef __cplusplus
>> +#include <cstdbool>
>> +#else
>> #include <stdbool.h>
>> +#endif
>> #include "llvm-c/Core.h"
>> 
>> #ifdef __cplusplus
>> @@ -51,6 +56,6 @@ int llvm_echo(void);
>> 
>> #ifdef __cplusplus
>> }
>> -#endif /* !defined(__cplusplus) */
>> -
>> #endif
>> +
>> +#endif // LLVM_C_TEST_H
>> 
>> Modified: llvm/trunk/tools/llvm-readobj/COFFDumper.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/COFFDumper.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-readobj/COFFDumper.cpp (original)
>> +++ llvm/trunk/tools/llvm-readobj/COFFDumper.cpp Tue Apr  5 15:19:49 2016
>> @@ -40,9 +40,14 @@
>> #include "llvm/Support/Win64EH.h"
>> #include "llvm/Support/raw_ostream.h"
>> #include <algorithm>
>> -#include <cstring>
>> +#include <cassert>
>> +#include <cstdint>
>> +#include <ctime>
>> +#include <memory>
>> +#include <string>
>> +#include <tuple>
>> #include <system_error>
>> -#include <time.h>
>> +#include <vector>
>> 
>> using namespace llvm;
>> using namespace llvm::object;
>> @@ -71,6 +76,7 @@ public:
>>   void printCOFFBaseReloc() override;
>>   void printCodeViewDebugInfo() override;
>>   void printStackMap() const override;
>> +
>> private:
>>   void printSymbol(const SymbolRef &Sym);
>>   void printRelocation(const SectionRef &Section, const RelocationRef &Reloc,
>> @@ -144,8 +150,7 @@ private:
>>   StringSet<> TypeNames;
>> };
>> 
>> -} // namespace
>> -
>> +} // end anonymous namespace
>> 
>> namespace llvm {
>> 
>> @@ -160,7 +165,7 @@ std::error_code createCOFFDumper(const o
>>   return readobj_error::success;
>> }
>> 
>> -} // namespace llvm
>> +} // end namespace llvm
>> 
>> // Given a a section and an offset into this section the function returns the
>> // symbol used for the relocation at the offset.
>> @@ -243,7 +248,9 @@ void COFFDumper::printBinaryBlockWithRel
>>   }
>> }
>> 
>> -static const EnumEntry<COFF::MachineTypes> ImageFileMachineType[] = {
>> +namespace {
>> +
>> +const EnumEntry<COFF::MachineTypes> ImageFileMachineType[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_UNKNOWN  ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_AM33     ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_AMD64    ),
>> @@ -267,7 +274,7 @@ static const EnumEntry<COFF::MachineType
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_WCEMIPSV2)
>> };
>> 
>> -static const EnumEntry<COFF::Characteristics> ImageFileCharacteristics[] = {
>> +const EnumEntry<COFF::Characteristics> ImageFileCharacteristics[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_RELOCS_STRIPPED        ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_EXECUTABLE_IMAGE       ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_LINE_NUMS_STRIPPED     ),
>> @@ -285,7 +292,7 @@ static const EnumEntry<COFF::Characteris
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_BYTES_REVERSED_HI      )
>> };
>> 
>> -static const EnumEntry<COFF::WindowsSubsystem> PEWindowsSubsystem[] = {
>> +const EnumEntry<COFF::WindowsSubsystem> PEWindowsSubsystem[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SUBSYSTEM_UNKNOWN                ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SUBSYSTEM_NATIVE                 ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SUBSYSTEM_WINDOWS_GUI            ),
>> @@ -299,7 +306,7 @@ static const EnumEntry<COFF::WindowsSubs
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SUBSYSTEM_XBOX                   ),
>> };
>> 
>> -static const EnumEntry<COFF::DLLCharacteristics> PEDLLCharacteristics[] = {
>> +const EnumEntry<COFF::DLLCharacteristics> PEDLLCharacteristics[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA      ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE         ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY      ),
>> @@ -313,7 +320,7 @@ static const EnumEntry<COFF::DLLCharacte
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE),
>> };
>> 
>> -static const EnumEntry<COFF::SectionCharacteristics>
>> +const EnumEntry<COFF::SectionCharacteristics>
>> ImageSectionCharacteristics[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SCN_TYPE_NOLOAD           ),
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SCN_TYPE_NO_PAD           ),
>> @@ -353,7 +360,7 @@ ImageSectionCharacteristics[] = {
>>   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_SCN_MEM_WRITE             )
>> };
>> 
>> -static const EnumEntry<COFF::SymbolBaseType> ImageSymType[] = {
>> +const EnumEntry<COFF::SymbolBaseType> ImageSymType[] = {
>>   { "Null"  , COFF::IMAGE_SYM_TYPE_NULL   },
>>   { "Void"  , COFF::IMAGE_SYM_TYPE_VOID   },
>>   { "Char"  , COFF::IMAGE_SYM_TYPE_CHAR   },
>> @@ -372,14 +379,14 @@ static const EnumEntry<COFF::SymbolBaseT
>>   { "DWord" , COFF::IMAGE_SYM_TYPE_DWORD  }
>> };
>> 
>> -static const EnumEntry<COFF::SymbolComplexType> ImageSymDType[] = {
>> +const EnumEntry<COFF::SymbolComplexType> ImageSymDType[] = {
>>   { "Null"    , COFF::IMAGE_SYM_DTYPE_NULL     },
>>   { "Pointer" , COFF::IMAGE_SYM_DTYPE_POINTER  },
>>   { "Function", COFF::IMAGE_SYM_DTYPE_FUNCTION },
>>   { "Array"   , COFF::IMAGE_SYM_DTYPE_ARRAY    }
>> };
>> 
>> -static const EnumEntry<COFF::SymbolStorageClass> ImageSymClass[] = {
>> +const EnumEntry<COFF::SymbolStorageClass> ImageSymClass[] = {
>>   { "EndOfFunction"  , COFF::IMAGE_SYM_CLASS_END_OF_FUNCTION  },
>>   { "Null"           , COFF::IMAGE_SYM_CLASS_NULL             },
>>   { "Automatic"      , COFF::IMAGE_SYM_CLASS_AUTOMATIC        },
>> @@ -409,7 +416,7 @@ static const EnumEntry<COFF::SymbolStora
>>   { "CLRToken"       , COFF::IMAGE_SYM_CLASS_CLR_TOKEN        }
>> };
>> 
>> -static const EnumEntry<COFF::COMDATType> ImageCOMDATSelect[] = {
>> +const EnumEntry<COFF::COMDATType> ImageCOMDATSelect[] = {
>>   { "NoDuplicates", COFF::IMAGE_COMDAT_SELECT_NODUPLICATES },
>>   { "Any"         , COFF::IMAGE_COMDAT_SELECT_ANY          },
>>   { "SameSize"    , COFF::IMAGE_COMDAT_SELECT_SAME_SIZE    },
>> @@ -419,14 +426,14 @@ static const EnumEntry<COFF::COMDATType>
>>   { "Newest"      , COFF::IMAGE_COMDAT_SELECT_NEWEST       }
>> };
>> 
>> -static const EnumEntry<COFF::WeakExternalCharacteristics>
>> +const EnumEntry<COFF::WeakExternalCharacteristics>
>> WeakExternalCharacteristics[] = {
>>   { "NoLibrary", COFF::IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY },
>>   { "Library"  , COFF::IMAGE_WEAK_EXTERN_SEARCH_LIBRARY   },
>>   { "Alias"    , COFF::IMAGE_WEAK_EXTERN_SEARCH_ALIAS     }
>> };
>> 
>> -static const EnumEntry<CompileSym3::Flags> CompileSym3Flags[] = {
>> +const EnumEntry<CompileSym3::Flags> CompileSym3Flags[] = {
>>     LLVM_READOBJ_ENUM_ENT(CompileSym3, EC),
>>     LLVM_READOBJ_ENUM_ENT(CompileSym3, NoDbgInfo),
>>     LLVM_READOBJ_ENUM_ENT(CompileSym3, LTCG),
>> @@ -441,7 +448,7 @@ static const EnumEntry<CompileSym3::Flag
>>     LLVM_READOBJ_ENUM_ENT(CompileSym3, Exp),
>> };
>> 
>> -static const EnumEntry<codeview::SourceLanguage> SourceLanguages[] = {
>> +const EnumEntry<codeview::SourceLanguage> SourceLanguages[] = {
>>     LLVM_READOBJ_ENUM_ENT(SourceLanguage, C),
>>     LLVM_READOBJ_ENUM_ENT(SourceLanguage, Cpp),
>>     LLVM_READOBJ_ENUM_ENT(SourceLanguage, Fortran),
>> @@ -461,7 +468,7 @@ static const EnumEntry<codeview::SourceL
>>     LLVM_READOBJ_ENUM_ENT(SourceLanguage, HLSL),
>> };
>> 
>> -static const EnumEntry<uint32_t> SubSectionTypes[] = {
>> +const EnumEntry<uint32_t> SubSectionTypes[] = {
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ModuleSubstreamKind, Symbols),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ModuleSubstreamKind, Lines),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ModuleSubstreamKind, StringTable),
>> @@ -477,7 +484,7 @@ static const EnumEntry<uint32_t> SubSect
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ModuleSubstreamKind, CoffSymbolRVA),
>> };
>> 
>> -static const EnumEntry<unsigned> CPUTypeNames[] = {
>> +const EnumEntry<unsigned> CPUTypeNames[] = {
>>   LLVM_READOBJ_ENUM_CLASS_ENT(CPUType, Intel8080),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(CPUType, Intel8086),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(CPUType, Intel80286),
>> @@ -539,7 +546,7 @@ static const EnumEntry<unsigned> CPUType
>>   LLVM_READOBJ_ENUM_CLASS_ENT(CPUType, D3D11_Shader),
>> };
>> 
>> -static const EnumEntry<uint8_t> ProcSymFlags[] = {
>> +const EnumEntry<uint8_t> ProcSymFlags[] = {
>>     LLVM_READOBJ_ENUM_ENT(ProcFlags, HasFP),
>>     LLVM_READOBJ_ENUM_ENT(ProcFlags, HasIRET),
>>     LLVM_READOBJ_ENUM_ENT(ProcFlags, HasFRET),
>> @@ -550,7 +557,7 @@ static const EnumEntry<uint8_t> ProcSymF
>>     LLVM_READOBJ_ENUM_ENT(ProcFlags, HasOptimizedDebugInfo),
>> };
>> 
>> -static const EnumEntry<uint32_t> FrameProcSymFlags[] = {
>> +const EnumEntry<uint32_t> FrameProcSymFlags[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FrameProcedureOptions, HasAlloca),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FrameProcedureOptions, HasSetJmp),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FrameProcedureOptions, HasLongJmp),
>> @@ -576,13 +583,13 @@ static const EnumEntry<uint32_t> FramePr
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfw),
>> };
>> 
>> -static const EnumEntry<uint32_t> FrameDataFlags[] = {
>> +const EnumEntry<uint32_t> FrameDataFlags[] = {
>>     LLVM_READOBJ_ENUM_ENT(FrameData, HasSEH),
>>     LLVM_READOBJ_ENUM_ENT(FrameData, HasEH),
>>     LLVM_READOBJ_ENUM_ENT(FrameData, IsFunctionStart),
>> };
>> 
>> -static const EnumEntry<uint16_t> LocalFlags[] = {
>> +const EnumEntry<uint16_t> LocalFlags[] = {
>>     LLVM_READOBJ_ENUM_ENT(LocalSym, IsParameter),
>>     LLVM_READOBJ_ENUM_ENT(LocalSym, IsAddressTaken),
>>     LLVM_READOBJ_ENUM_ENT(LocalSym, IsCompilerGenerated),
>> @@ -596,14 +603,14 @@ static const EnumEntry<uint16_t> LocalFl
>>     LLVM_READOBJ_ENUM_ENT(LocalSym, IsEnregisteredStatic),
>> };
>> 
>> -static const EnumEntry<uint16_t> FrameCookieKinds[] = {
>> +const EnumEntry<uint16_t> FrameCookieKinds[] = {
>>     LLVM_READOBJ_ENUM_ENT(FrameCookieSym, Copy),
>>     LLVM_READOBJ_ENUM_ENT(FrameCookieSym, XorStackPointer),
>>     LLVM_READOBJ_ENUM_ENT(FrameCookieSym, XorFramePointer),
>>     LLVM_READOBJ_ENUM_ENT(FrameCookieSym, XorR13),
>> };
>> 
>> -static const EnumEntry<uint16_t> ClassOptionNames[] = {
>> +const EnumEntry<uint16_t> ClassOptionNames[] = {
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ClassOptions, Packed),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ClassOptions, HasConstructorOrDestructor),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ClassOptions, HasOverloadedOperator),
>> @@ -618,14 +625,14 @@ static const EnumEntry<uint16_t> ClassOp
>>   LLVM_READOBJ_ENUM_CLASS_ENT(ClassOptions, Intrinsic),
>> };
>> 
>> -static const EnumEntry<uint8_t> MemberAccessNames[] = {
>> +const EnumEntry<uint8_t> MemberAccessNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MemberAccess, None),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MemberAccess, Private),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MemberAccess, Protected),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MemberAccess, Public),
>> };
>> 
>> -static const EnumEntry<uint16_t> MethodOptionNames[] = {
>> +const EnumEntry<uint16_t> MethodOptionNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodOptions, Pseudo),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodOptions, NoInherit),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodOptions, NoConstruct),
>> @@ -633,7 +640,7 @@ static const EnumEntry<uint16_t> MethodO
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodOptions, Sealed),
>> };
>> 
>> -static const EnumEntry<uint16_t> MemberKindNames[] = {
>> +const EnumEntry<uint16_t> MemberKindNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodKind, Vanilla),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodKind, Virtual),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(MethodKind, Static),
>> @@ -646,7 +653,7 @@ static const EnumEntry<uint16_t> MemberK
>> /// The names here all end in "*". If the simple type is a pointer type, we
>> /// return the whole name. Otherwise we lop off the last character in our
>> /// StringRef.
>> -static const EnumEntry<SimpleTypeKind> SimpleTypeNames[] = {
>> +const EnumEntry<SimpleTypeKind> SimpleTypeNames[] = {
>>     {"void*", SimpleTypeKind::Void},
>>     {"<not translated>*", SimpleTypeKind::NotTranslated},
>>     {"HRESULT*", SimpleTypeKind::HResult},
>> @@ -687,12 +694,12 @@ static const EnumEntry<SimpleTypeKind> S
>>     {"__bool64*", SimpleTypeKind::Boolean64},
>> };
>> 
>> -static const EnumEntry<TypeLeafKind> LeafTypeNames[] = {
>> +const EnumEntry<TypeLeafKind> LeafTypeNames[] = {
>> #define LEAF_TYPE(name, val) LLVM_READOBJ_ENUM_ENT(TypeLeafKind, name),
>> #include "llvm/DebugInfo/CodeView/CVLeafTypes.def"
>> };
>> 
>> -static const EnumEntry<uint8_t> PtrKindNames[] = {
>> +const EnumEntry<uint8_t> PtrKindNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerKind, Near16),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerKind, Far16),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerKind, Huge16),
>> @@ -708,7 +715,7 @@ static const EnumEntry<uint8_t> PtrKindN
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerKind, Near64),
>> };
>> 
>> -static const EnumEntry<uint8_t> PtrModeNames[] = {
>> +const EnumEntry<uint8_t> PtrModeNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerMode, Pointer),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerMode, LValueReference),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerMode, PointerToDataMember),
>> @@ -716,7 +723,7 @@ static const EnumEntry<uint8_t> PtrModeN
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerMode, RValueReference),
>> };
>> 
>> -static const EnumEntry<uint16_t> PtrMemberRepNames[] = {
>> +const EnumEntry<uint16_t> PtrMemberRepNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerToMemberRepresentation, Unknown),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerToMemberRepresentation,
>>                                 SingleInheritanceData),
>> @@ -734,13 +741,13 @@ static const EnumEntry<uint16_t> PtrMemb
>>     LLVM_READOBJ_ENUM_CLASS_ENT(PointerToMemberRepresentation, GeneralFunction),
>> };
>> 
>> -static const EnumEntry<uint16_t> TypeModifierNames[] = {
>> +const EnumEntry<uint16_t> TypeModifierNames[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(ModifierOptions, Const),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(ModifierOptions, Volatile),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(ModifierOptions, Unaligned),
>> };
>> 
>> -static const EnumEntry<uint8_t> CallingConventions[] = {
>> +const EnumEntry<uint8_t> CallingConventions[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(CallingConvention, NearC),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(CallingConvention, FarC),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(CallingConvention, NearPascal),
>> @@ -767,13 +774,13 @@ static const EnumEntry<uint8_t> CallingC
>>     LLVM_READOBJ_ENUM_CLASS_ENT(CallingConvention, NearVector),
>> };
>> 
>> -static const EnumEntry<uint8_t> FunctionOptionEnum[] = {
>> +const EnumEntry<uint8_t> FunctionOptionEnum[] = {
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FunctionOptions, CxxReturnUdt),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FunctionOptions, Constructor),
>>     LLVM_READOBJ_ENUM_CLASS_ENT(FunctionOptions, ConstructorWithVirtualBases),
>> };
>> 
>> -static const EnumEntry<uint8_t> FileChecksumKindNames[] = {
>> +const EnumEntry<uint8_t> FileChecksumKindNames[] = {
>>   LLVM_READOBJ_ENUM_CLASS_ENT(FileChecksumKind, None),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(FileChecksumKind, MD5),
>>   LLVM_READOBJ_ENUM_CLASS_ENT(FileChecksumKind, SHA1),
>> @@ -781,7 +788,7 @@ static const EnumEntry<uint8_t> FileChec
>> };
>> 
>> template <typename T>
>> -static std::error_code getSymbolAuxData(const COFFObjectFile *Obj,
>> +std::error_code getSymbolAuxData(const COFFObjectFile *Obj,
>>                                         COFFSymbolRef Symbol,
>>                                         uint8_t AuxSymbolIdx, const T *&Aux) {
>>   ArrayRef<uint8_t> AuxData = Obj->getSymbolAuxData(Symbol);
>> @@ -790,6 +797,8 @@ static std::error_code getSymbolAuxData(
>>   return readobj_error::success;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::cacheRelocations() {
>>   if (RelocCached)
>>     return;
>> @@ -940,11 +949,13 @@ void COFFDumper::printCodeViewDebugInfo(
>>   }
>> }
>> 
>> +namespace {
>> +
>> /// Consumes sizeof(T) bytes from the given byte sequence. Returns an error if
>> /// there are not enough bytes remaining. Reinterprets the consumed bytes as a
>> /// T object and points 'Res' at them.
>> template <typename T>
>> -static std::error_code consumeObject(StringRef &Data, const T *&Res) {
>> +std::error_code consumeObject(StringRef &Data, const T *&Res) {
>>   if (Data.size() < sizeof(*Res))
>>     return object_error::parse_failed;
>>   Res = reinterpret_cast<const T *>(Data.data());
>> @@ -952,7 +963,7 @@ static std::error_code consumeObject(Str
>>   return std::error_code();
>> }
>> 
>> -static std::error_code consumeUInt32(StringRef &Data, uint32_t &Res) {
>> +std::error_code consumeUInt32(StringRef &Data, uint32_t &Res) {
>>   const ulittle32_t *IntPtr;
>>   if (auto EC = consumeObject(Data, IntPtr))
>>     return EC;
>> @@ -960,6 +971,8 @@ static std::error_code consumeUInt32(Str
>>   return std::error_code();
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::initializeFileAndStringTables(StringRef Data) {
>>   while (!Data.empty() && (CVFileChecksumTable.data() == nullptr ||
>>                            CVStringTable.data() == nullptr)) {
>> @@ -1182,7 +1195,9 @@ void COFFDumper::printCodeViewSymbolSect
>>   }
>> }
>> 
>> -static std::error_code decodeNumerictLeaf(StringRef &Data, APSInt &Num) {
>> +namespace {
>> +
>> +std::error_code decodeNumerictLeaf(StringRef &Data, APSInt &Num) {
>>   // Used to avoid overload ambiguity on APInt construtor.
>>   bool FalseVal = false;
>>   if (Data.size() < 2)
>> @@ -1248,6 +1263,8 @@ static std::error_code decodeNumerictLea
>>   return object_error::parse_failed;
>> }
>> 
>> +} // end anonymous namespace
>> +
>> /// Decode an unsigned integer numeric leaf value.
>> std::error_code decodeUIntLeaf(StringRef &Data, uint64_t &Num) {
>>   APSInt N;
>> @@ -1313,11 +1330,10 @@ void COFFDumper::printCodeViewSymbolsSub
>>       break;
>>     }
>> 
>> -    case S_PROC_ID_END: {
>> +    case S_PROC_ID_END:
>>       W.startLine() << "ProcEnd\n";
>>       InFunctionScope = false;
>>       break;
>> -    }
>> 
>>     case S_BLOCK32: {
>>       DictScope S(W, "BlockStart");
>> @@ -1337,11 +1353,10 @@ void COFFDumper::printCodeViewSymbolsSub
>>       break;
>>     }
>> 
>> -    case S_END: {
>> +    case S_END:
>>       W.startLine() << "BlockEnd\n";
>>       InFunctionScope = false;
>>       break;
>> -    }
>> 
>>     case S_LABEL32: {
>>       DictScope S(W, "Label");
>> @@ -1515,6 +1530,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       printLocalVariableAddrGap(SymData);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_SUBFIELD: {
>>       DictScope S(W, "DefRangeSubfield");
>>       const DefRangeSubfieldSym *DefRangeSubfield;
>> @@ -1529,6 +1545,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       printLocalVariableAddrGap(SymData);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_REGISTER: {
>>       DictScope S(W, "DefRangeRegister");
>>       const DefRangeRegisterSym *DefRangeRegister;
>> @@ -1540,6 +1557,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       printLocalVariableAddrGap(SymData);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_SUBFIELD_REGISTER: {
>>       DictScope S(W, "DefRangeSubfieldRegister");
>>       const DefRangeSubfieldRegisterSym *DefRangeSubfieldRegisterSym;
>> @@ -1554,6 +1572,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       printLocalVariableAddrGap(SymData);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_FRAMEPOINTER_REL: {
>>       DictScope S(W, "DefRangeFramePointerRel");
>>       const DefRangeFramePointerRelSym *DefRangeFramePointerRel;
>> @@ -1564,6 +1583,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       printLocalVariableAddrGap(SymData);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE: {
>>       DictScope S(W, "DefRangeFramePointerRelFullScope");
>>       const DefRangeFramePointerRelFullScopeSym
>> @@ -1572,6 +1592,7 @@ void COFFDumper::printCodeViewSymbolsSub
>>       W.printNumber("Offset", DefRangeFramePointerRelFullScope->Offset);
>>       break;
>>     }
>> +
>>     case S_DEFRANGE_REGISTER_REL: {
>>       DictScope S(W, "DefRangeRegisterRel");
>>       const DefRangeRegisterRelSym *DefRangeRegisterRel;
>> @@ -1945,7 +1966,9 @@ void COFFDumper::printFileNameForOffset(
>>   W.printHex(Label, getFileNameForFileOffset(FileOffset), FileOffset);
>> }
>> 
>> -static StringRef getLeafTypeName(TypeLeafKind LT) {
>> +namespace {
>> +
>> +StringRef getLeafTypeName(TypeLeafKind LT) {
>>   switch (LT) {
>>   case LF_STRING_ID: return "StringId";
>>   case LF_FIELDLIST: return "FieldList";
>> @@ -1974,6 +1997,8 @@ static StringRef getLeafTypeName(TypeLea
>>   return "UnknownLeaf";
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::printCodeViewTypeSection(StringRef SectionName,
>>                                           const SectionRef &Section) {
>>   ListScope D(W, "CodeViewTypes");
>> @@ -2200,7 +2225,7 @@ void COFFDumper::printCodeViewTypeSectio
>>       break;
>>     }
>> 
>> -    case LF_METHODLIST: {
>> +    case LF_METHODLIST:
>>       while (!LeafData.empty()) {
>>         const MethodListEntry *Method;
>>         error(consumeObject(LeafData, Method));
>> @@ -2214,7 +2239,6 @@ void COFFDumper::printCodeViewTypeSectio
>>         }
>>       }
>>       break;
>> -    }
>> 
>>     case LF_FUNC_ID: {
>>       const FuncId *Func;
>> @@ -2356,7 +2380,9 @@ void COFFDumper::printCodeViewTypeSectio
>>   }
>> }
>> 
>> -static StringRef skipPadding(StringRef Data) {
>> +namespace {
>> +
>> +StringRef skipPadding(StringRef Data) {
>>   if (Data.empty())
>>     return Data;
>>   uint8_t Leaf = Data.front();
>> @@ -2367,6 +2393,8 @@ static StringRef skipPadding(StringRef D
>>   return Data.drop_front(Leaf & 0x0F);
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::printMemberAttributes(MemberAttributes Attrs) {
>>   W.printEnum("AccessSpecifier", uint8_t(Attrs.getAccess()),
>>               makeArrayRef(MemberAccessNames));
>> @@ -2631,7 +2659,9 @@ void COFFDumper::printSymbols() {
>> 
>> void COFFDumper::printDynamicSymbols() { ListScope Group(W, "DynamicSymbols"); }
>> 
>> -static ErrorOr<StringRef>
>> +namespace {
>> +
>> +ErrorOr<StringRef>
>> getSectionName(const llvm::object::COFFObjectFile *Obj, int32_t SectionNumber,
>>                const coff_section *Section) {
>>   if (Section) {
>> @@ -2649,6 +2679,8 @@ getSectionName(const llvm::object::COFFO
>>   return StringRef("");
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::printSymbol(const SymbolRef &Sym) {
>>   DictScope D(W, "Symbol");
>> 
>> @@ -2893,7 +2925,9 @@ void COFFDumper::printCOFFDirectives() {
>>   }
>> }
>> 
>> -static StringRef getBaseRelocTypeName(uint8_t Type) {
>> +namespace {
>> +
>> +StringRef getBaseRelocTypeName(uint8_t Type) {
>>   switch (Type) {
>>   case COFF::IMAGE_REL_BASED_ABSOLUTE: return "ABSOLUTE";
>>   case COFF::IMAGE_REL_BASED_HIGH: return "HIGH";
>> @@ -2906,6 +2940,8 @@ static StringRef getBaseRelocTypeName(ui
>>   }
>> }
>> 
>> +} // end anonymous namespace
>> +
>> void COFFDumper::printCOFFBaseReloc() {
>>   ListScope D(W, "BaseReloc");
>>   for (const BaseRelocRef &I : Obj->base_relocs()) {
>> 
>> Modified: llvm/trunk/tools/sancov/sancov.cc
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/sancov/sancov.cc?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/sancov/sancov.cc (original)
>> +++ llvm/trunk/tools/sancov/sancov.cc Tue Apr  5 15:19:49 2016
>> @@ -1,4 +1,4 @@
>> -//===-- sancov.cc --------------------------------------------===//
>> +//===-- sancov.cc ---------------------------------------------------------===//
>> //
>> //                     The LLVM Compiler Infrastructure
>> //
>> @@ -10,7 +10,13 @@
>> // This file is a command-line tool for reading and analyzing sanitizer
>> // coverage.
>> //===----------------------------------------------------------------------===//
>> +
>> +#include "llvm/ADT/ArrayRef.h"
>> #include "llvm/ADT/STLExtras.h"
>> +#include "llvm/ADT/SmallString.h"
>> +#include "llvm/ADT/SmallVector.h"
>> +#include "llvm/ADT/StringRef.h"
>> +#include "llvm/ADT/Triple.h"
>> #include "llvm/ADT/Twine.h"
>> #include "llvm/DebugInfo/Symbolize/Symbolize.h"
>> #include "llvm/MC/MCAsmInfo.h"
>> @@ -47,9 +53,13 @@
>> #include "llvm/Support/raw_ostream.h"
>> 
>> #include <algorithm>
>> +#include <cstdint>
>> +#include <cstdlib>
>> +#include <map>
>> +#include <memory>
>> #include <set>
>> -#include <stdio.h>
>> #include <string>
>> +#include <tuple>
>> #include <utility>
>> #include <vector>
>> 
>> @@ -83,28 +93,28 @@ cl::opt<ActionType> Action(
>>                           "Print coverage statistics."),
>>                clEnumValEnd));
>> 
>> -static cl::list<std::string>
>> +cl::list<std::string>
>>     ClInputFiles(cl::Positional, cl::OneOrMore,
>>                  cl::desc("(<binary file>|<.sancov file>)..."));
>> 
>> -static cl::opt<bool> ClDemangle("demangle", cl::init(true),
>> -                                cl::desc("Print demangled function name."));
>> +cl::opt<bool> ClDemangle("demangle", cl::init(true),
>> +                         cl::desc("Print demangled function name."));
>> 
>> -static cl::opt<std::string> ClStripPathPrefix(
>> +cl::opt<std::string> ClStripPathPrefix(
>>     "strip_path_prefix", cl::init(""),
>>     cl::desc("Strip this prefix from file paths in reports."));
>> 
>> -static cl::opt<std::string>
>> +cl::opt<std::string>
>>     ClBlacklist("blacklist", cl::init(""),
>>                 cl::desc("Blacklist file (sanitizer blacklist format)."));
>> 
>> -static cl::opt<bool> ClUseDefaultBlacklist(
>> +cl::opt<bool> ClUseDefaultBlacklist(
>>     "use_default_blacklist", cl::init(true), cl::Hidden,
>>     cl::desc("Controls if default blacklist should be used."));
>> 
>> -static const char *const DefaultBlacklistStr = "fun:__sanitizer_.*\n"
>> -                                               "src:/usr/include/.*\n"
>> -                                               "src:.*/libc\\+\\+/.*\n";
>> +const char *const DefaultBlacklistStr = "fun:__sanitizer_.*\n"
>> +                                        "src:/usr/include/.*\n"
>> +                                        "src:.*/libc\\+\\+/.*\n";
>> 
>> // --------- FORMAT SPECIFICATION ---------
>> 
>> @@ -113,37 +123,37 @@ struct FileHeader {
>>   uint32_t Magic;
>> };
>> 
>> -static const uint32_t BinCoverageMagic = 0xC0BFFFFF;
>> -static const uint32_t Bitness32 = 0xFFFFFF32;
>> -static const uint32_t Bitness64 = 0xFFFFFF64;
>> +const uint32_t BinCoverageMagic = 0xC0BFFFFF;
>> +const uint32_t Bitness32 = 0xFFFFFF32;
>> +const uint32_t Bitness64 = 0xFFFFFF64;
>> 
>> // --------- ERROR HANDLING ---------
>> 
>> -static void Fail(const llvm::Twine &E) {
>> +void Fail(const llvm::Twine &E) {
>>   errs() << "Error: " << E << "\n";
>>   exit(1);
>> }
>> 
>> -static void FailIfError(std::error_code Error) {
>> +void FailIfError(std::error_code Error) {
>>   if (!Error)
>>     return;
>>   errs() << "Error: " << Error.message() << "(" << Error.value() << ")\n";
>>   exit(1);
>> }
>> 
>> -template <typename T> static void FailIfError(const ErrorOr<T> &E) {
>> +template <typename T>
>> +void FailIfError(const ErrorOr<T> &E) {
>>   FailIfError(E.getError());
>> }
>> 
>> -static void FailIfNotEmpty(const llvm::Twine &E) {
>> +void FailIfNotEmpty(const llvm::Twine &E) {
>>   if (E.str().empty())
>>     return;
>>   Fail(E);
>> }
>> 
>> template <typename T>
>> -static void FailIfEmpty(const std::unique_ptr<T> &Ptr,
>> -                        const std::string &Message) {
>> +void FailIfEmpty(const std::unique_ptr<T> &Ptr, const std::string &Message) {
>>   if (Ptr.get())
>>     return;
>>   Fail(Message);
>> @@ -154,7 +164,7 @@ static void FailIfEmpty(const std::uniqu
>> // Produces std::map<K, std::vector<E>> grouping input
>> // elements by FuncTy result.
>> template <class RangeTy, class FuncTy>
>> -static inline auto group_by(const RangeTy &R, FuncTy F)
>> +inline auto group_by(const RangeTy &R, FuncTy F)
>>     -> std::map<typename std::decay<decltype(F(*R.begin()))>::type,
>>                 std::vector<typename std::decay<decltype(*R.begin())>::type>> {
>>   std::map<typename std::decay<decltype(F(*R.begin()))>::type,
>> @@ -167,8 +177,7 @@ static inline auto group_by(const RangeT
>> }
>> 
>> template <typename T>
>> -static void readInts(const char *Start, const char *End,
>> -                     std::set<uint64_t> *Ints) {
>> +void readInts(const char *Start, const char *End, std::set<uint64_t> *Ints) {
>>   const T *S = reinterpret_cast<const T *>(Start);
>>   const T *E = reinterpret_cast<const T *>(End);
>>   std::copy(S, E, std::inserter(*Ints, Ints->end()));
>> @@ -211,7 +220,7 @@ std::string stripPathPrefix(std::string
>>   return Path.substr(Pos + ClStripPathPrefix.size());
>> }
>> 
>> -static std::unique_ptr<symbolize::LLVMSymbolizer> createSymbolizer() {
>> +std::unique_ptr<symbolize::LLVMSymbolizer> createSymbolizer() {
>>   symbolize::LLVMSymbolizer::Options SymbolizerOptions;
>>   SymbolizerOptions.Demangle = ClDemangle;
>>   SymbolizerOptions.UseSymbolTable = true;
>> @@ -276,9 +285,9 @@ private:
>> };
>> 
>> // Collect all debug info for given addresses.
>> -static std::vector<AddrInfo> getAddrInfo(std::string ObjectFile,
>> -                                         const std::set<uint64_t> &Addrs,
>> -                                         bool InlinedCode) {
>> +std::vector<AddrInfo> getAddrInfo(std::string ObjectFile,
>> +                                  const std::set<uint64_t> &Addrs,
>> +                                  bool InlinedCode) {
>>   std::vector<AddrInfo> Result;
>>   auto Symbolizer(createSymbolizer());
>>   Blacklists B;
>> @@ -306,7 +315,7 @@ static std::vector<AddrInfo> getAddrInfo
>> 
>> // Locate __sanitizer_cov* function addresses that are used for coverage
>> // reporting.
>> -static std::set<uint64_t>
>> +std::set<uint64_t>
>> findSanitizerCovFunctions(const object::ObjectFile &O) {
>>   std::set<uint64_t> Result;
>> 
>> @@ -331,8 +340,8 @@ findSanitizerCovFunctions(const object::
>> // Locate addresses of all coverage points in a file. Coverage point
>> // is defined as the 'address of instruction following __sanitizer_cov
>> // call - 1'.
>> -static void getObjectCoveragePoints(const object::ObjectFile &O,
>> -                                    std::set<uint64_t> *Addrs) {
>> +void getObjectCoveragePoints(const object::ObjectFile &O,
>> +                             std::set<uint64_t> *Addrs) {
>>   Triple TheTriple("unknown-unknown-unknown");
>>   TheTriple.setArch(Triple::ArchType(O.getArch()));
>>   auto TripleName = TheTriple.getTriple();
>> @@ -404,7 +413,7 @@ static void getObjectCoveragePoints(cons
>>   }
>> }
>> 
>> -static void
>> +void
>> visitObjectFiles(const object::Archive &A,
>>                  std::function<void(const object::ObjectFile &)> Fn) {
>>   for (auto &ErrorOrChild : A.children()) {
>> @@ -419,7 +428,7 @@ visitObjectFiles(const object::Archive &
>>   }
>> }
>> 
>> -static void
>> +void
>> visitObjectFiles(std::string FileName,
>>                  std::function<void(const object::ObjectFile &)> Fn) {
>>   ErrorOr<object::OwningBinary<object::Binary>> BinaryOrErr =
>> @@ -455,7 +464,7 @@ std::set<uint64_t> getCoveragePoints(std
>>   return Result;
>> }
>> 
>> -static void printCovPoints(std::string ObjFile, raw_ostream &OS) {
>> +void printCovPoints(std::string ObjFile, raw_ostream &OS) {
>>   for (uint64_t Addr : getCoveragePoints(ObjFile)) {
>>     OS << "0x";
>>     OS.write_hex(Addr);
>> @@ -463,7 +472,7 @@ static void printCovPoints(std::string O
>>   }
>> }
>> 
>> -static std::string escapeHtml(const std::string &S) {
>> +std::string escapeHtml(const std::string &S) {
>>   std::string Result;
>>   Result.reserve(S.size());
>>   for (char Ch : S) {
>> @@ -493,7 +502,7 @@ static std::string escapeHtml(const std:
>> 
>> // Adds leading zeroes wrapped in 'lz' style.
>> // Leading zeroes help locate 000% coverage.
>> -static std::string formatHtmlPct(size_t Pct) {
>> +std::string formatHtmlPct(size_t Pct) {
>>   Pct = std::max(std::size_t{0}, std::min(std::size_t{100}, Pct));
>> 
>>   std::string Num = std::to_string(Pct);
>> @@ -504,7 +513,7 @@ static std::string formatHtmlPct(size_t
>>   return Zeroes + Num;
>> }
>> 
>> -static std::string anchorName(std::string Anchor) {
>> +std::string anchorName(std::string Anchor) {
>>   llvm::MD5 Hasher;
>>   llvm::MD5::MD5Result Hash;
>>   Hasher.update(Anchor);
>> @@ -515,7 +524,7 @@ static std::string anchorName(std::strin
>>   return HexString.str().str();
>> }
>> 
>> -static ErrorOr<bool> isCoverageFile(std::string FileName) {
>> +ErrorOr<bool> isCoverageFile(std::string FileName) {
>>   ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =
>>       MemoryBuffer::getFile(FileName);
>>   if (!BufOrErr) {
>> @@ -542,7 +551,7 @@ struct CoverageStats {
>>   size_t CovFns;
>> };
>> 
>> -static raw_ostream &operator<<(raw_ostream &OS, const CoverageStats &Stats) {
>> +raw_ostream &operator<<(raw_ostream &OS, const CoverageStats &Stats) {
>>   OS << "all-edges: " << Stats.AllPoints << "\n";
>>   OS << "cov-edges: " << Stats.CovPoints << "\n";
>>   OS << "all-functions: " << Stats.AllFns << "\n";
>> @@ -822,8 +831,8 @@ private:
>>   std::vector<AddrInfo> CovAddrInfo;
>> };
>> 
>> -static void printFunctionLocs(const SourceCoverageData::FunctionLocs &FnLocs,
>> -                              raw_ostream &OS) {
>> +void printFunctionLocs(const SourceCoverageData::FunctionLocs &FnLocs,
>> +                       raw_ostream &OS) {
>>   for (const auto &Fns : FnLocs) {
>>     for (const auto &Fn : Fns.second) {
>>       OS << stripPathPrefix(Fns.first.FileName) << ":" << Fns.first.Line << " "
>> @@ -1182,7 +1191,7 @@ private:
>>   const std::set<std::string> CoverageFiles;
>> };
>> 
>> -} // namespace
>> +} // end anonymous namespace
>> 
>> int main(int argc, char **argv) {
>>   // Print stack trace if we signal out.
>> 
>> Modified: llvm/trunk/tools/sanstats/sanstats.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/sanstats/sanstats.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/sanstats/sanstats.cpp (original)
>> +++ llvm/trunk/tools/sanstats/sanstats.cpp Tue Apr  5 15:19:49 2016
>> @@ -12,20 +12,26 @@
>> //
>> //===----------------------------------------------------------------------===//
>> 
>> +#include "llvm/ADT/StringRef.h"
>> #include "llvm/DebugInfo/Symbolize/Symbolize.h"
>> #include "llvm/Support/CommandLine.h"
>> #include "llvm/Support/ErrorOr.h"
>> #include "llvm/Support/MemoryBuffer.h"
>> #include "llvm/Transforms/Utils/SanitizerStats.h"
>> -#include <stdint.h>
>> +#include <cassert>
>> +#include <cstdint>
>> +#include <memory>
>> +#include <string>
>> 
>> using namespace llvm;
>> 
>> -static cl::opt<std::string> ClInputFile(cl::Positional, cl::Required,
>> -                                        cl::desc("<filename>"));
>> +namespace {
>> 
>> -static cl::opt<bool> ClDemangle("demangle", cl::init(false),
>> -                                cl::desc("Print demangled function name."));
>> +cl::opt<std::string> ClInputFile(cl::Positional, cl::Required,
>> +                                 cl::desc("<filename>"));
>> +
>> +cl::opt<bool> ClDemangle("demangle", cl::init(false),
>> +                         cl::desc("Print demangled function name."));
>> 
>> inline uint64_t KindFromData(uint64_t Data, char SizeofPtr) {
>>   return Data >> (SizeofPtr * 8 - kSanitizerStatKindBits);
>> @@ -63,7 +69,7 @@ const char *ReadModule(char SizeofPtr, c
>>   SymbolizerOptions.UseSymbolTable = true;
>>   symbolize::LLVMSymbolizer Symbolizer(SymbolizerOptions);
>> 
>> -  while (1) {
>> +  while (true) {
>>     uint64_t Addr = ReadLE(SizeofPtr, Begin, End);
>>     Begin += SizeofPtr;
>>     uint64_t Data = ReadLE(SizeofPtr, Begin, End);
>> @@ -109,6 +115,8 @@ const char *ReadModule(char SizeofPtr, c
>>   }
>> }
>> 
>> +} // end anonymous namespace
>> +
>> int main(int argc, char **argv) {
>>   cl::ParseCommandLineOptions(argc, argv,
>>                               "Sanitizer Statistics Processing Tool");
>> 
>> Modified: llvm/trunk/unittests/ADT/SCCIteratorTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/SCCIteratorTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/ADT/SCCIteratorTest.cpp (original)
>> +++ llvm/trunk/unittests/ADT/SCCIteratorTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -10,7 +10,10 @@
>> #include "llvm/ADT/SCCIterator.h"
>> #include "llvm/ADT/GraphTraits.h"
>> #include "gtest/gtest.h"
>> -#include <limits.h>
>> +#include <cassert>
>> +#include <climits>
>> +#include <utility>
>> +#include <vector>
>> 
>> using namespace llvm;
>> 
>> @@ -27,13 +30,14 @@ private:
>>   static void ValidateIndex(unsigned Idx) {
>>     assert(Idx < N && "Invalid node index!");
>>   }
>> -public:
>> 
>> +public:
>>   /// NodeSubset - A subset of the graph's nodes.
>>   class NodeSubset {
>>     typedef unsigned char BitVector; // Where the limitation N <= 8 comes from.
>>     BitVector Elements;
>>     NodeSubset(BitVector e) : Elements(e) {}
>> +
>>   public:
>>     /// NodeSubset - Default constructor, creates an empty subset.
>>     NodeSubset() : Elements(0) {
>> @@ -98,8 +102,8 @@ public:
>> private:
>>   /// Nodes - The list of nodes for this graph.
>>   NodeType Nodes[N];
>> -public:
>> 
>> +public:
>>   /// Graph - Default constructor.  Creates an empty graph.
>>   Graph() {
>>     // Let each node know which node it is.  This allows us to find the start of
>> @@ -166,6 +170,7 @@ public:
>>     NodeSubset Children;
>> 
>>     ChildIterator(); // Disable default constructor.
>> +
>>   protected:
>>     ChildIterator(NodeType *F, NodeSubset C) : FirstNode(F), Children(C) {}
>> 
>> @@ -341,4 +346,4 @@ TEST(SCCIteratorTest, AllSmallGraphs) {
>>   }
>> }
>> 
>> -}
>> +} // end namespace llvm
>> 
>> Modified: llvm/trunk/unittests/ADT/SmallStringTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/SmallStringTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/ADT/SmallStringTest.cpp (original)
>> +++ llvm/trunk/unittests/ADT/SmallStringTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -12,10 +12,9 @@
>> //===----------------------------------------------------------------------===//
>> 
>> #include "llvm/ADT/SmallString.h"
>> +#include "llvm/ADT/SmallVector.h"
>> +#include "llvm/ADT/StringRef.h"
>> #include "gtest/gtest.h"
>> -#include <climits>
>> -#include <cstring>
>> -#include <stdarg.h>
>> 
>> using namespace llvm;
>> 
>> @@ -204,4 +203,4 @@ TEST(StringRefTest, Comparisons) {
>>   EXPECT_EQ( 1, SmallString<10>("V8_q0").compare_numeric("V1_q0"));
>> }
>> 
>> -}
>> +} // end anonymous namespace
>> 
>> Modified: llvm/trunk/unittests/ADT/SmallVectorTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/SmallVectorTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/ADT/SmallVectorTest.cpp (original)
>> +++ llvm/trunk/unittests/ADT/SmallVectorTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -15,8 +15,10 @@
>> #include "llvm/ADT/SmallVector.h"
>> #include "llvm/Support/Compiler.h"
>> #include "gtest/gtest.h"
>> +#include <cstdarg>
>> +#include <cstdlib>
>> #include <list>
>> -#include <stdarg.h>
>> +#include <utility>
>> 
>> using namespace llvm;
>> 
>> @@ -141,9 +143,10 @@ int Constructable::numCopyAssignmentCall
>> int Constructable::numMoveAssignmentCalls;
>> 
>> struct NonCopyable {
>> -  NonCopyable() {}
>> -  NonCopyable(NonCopyable &&) {}
>> +  NonCopyable() = default;
>> +  NonCopyable(NonCopyable &&) = default;
>>   NonCopyable &operator=(NonCopyable &&) { return *this; }
>> +
>> private:
>>   NonCopyable(const NonCopyable &) = delete;
>>   NonCopyable &operator=(const NonCopyable &) = delete;
>> @@ -200,7 +203,6 @@ protected:
>>   VectorT otherVector;
>> };
>> 
>> -
>> typedef ::testing::Types<SmallVector<Constructable, 0>,
>>                          SmallVector<Constructable, 1>,
>>                          SmallVector<Constructable, 2>,
>> @@ -522,7 +524,6 @@ TYPED_TEST(SmallVectorTest, InsertRepeat
>>   this->assertValuesInOrder(this->theVector, 6u, 1, 16, 16, 2, 3, 4);
>> }
>> 
>> -
>> TYPED_TEST(SmallVectorTest, InsertRepeatedAtEndTest) {
>>   SCOPED_TRACE("InsertRepeatedTest");
>> 
>> @@ -581,7 +582,6 @@ TYPED_TEST(SmallVectorTest, InsertRangeT
>>   this->assertValuesInOrder(this->theVector, 6u, 1, 77, 77, 77, 2, 3);
>> }
>> 
>> -
>> TYPED_TEST(SmallVectorTest, InsertRangeAtEndTest) {
>>   SCOPED_TRACE("InsertRangeTest");
>> 
>> @@ -748,11 +748,14 @@ TEST(SmallVectorCustomTest, NoAssignTest
>> 
>> struct MovedFrom {
>>   bool hasValue;
>> +
>>   MovedFrom() : hasValue(true) {
>>   }
>> +
>>   MovedFrom(MovedFrom&& m) : hasValue(m.hasValue) {
>>     m.hasValue = false;
>>   }
>> +
>>   MovedFrom &operator=(MovedFrom&& m) {
>>     hasValue = m.hasValue;
>>     m.hasValue = false;
>> @@ -775,6 +778,7 @@ enum EmplaceableArgState {
>>   EAS_RValue,
>>   EAS_Failure
>> };
>> +
>> template <int I> struct EmplaceableArg {
>>   EmplaceableArgState State;
>>   EmplaceableArg() : State(EAS_Defaulted) {}
>> @@ -924,4 +928,4 @@ TEST(SmallVectorTest, InitializerList) {
>>   EXPECT_TRUE(makeArrayRef(V2).equals({4, 5, 3, 2}));
>> }
>> 
>> -} // end namespace
>> +} // end anonymous namespace
>> 
>> Modified: llvm/trunk/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp (original)
>> +++ llvm/trunk/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp Tue Apr  5 15:19:49 2016
>> @@ -13,10 +13,10 @@
>> #include "llvm-c/OrcBindings.h"
>> #include "llvm-c/Target.h"
>> #include "llvm-c/TargetMachine.h"
>> +#include "llvm/ADT/Triple.h"
>> 
>> -#include <stdio.h>
>> -#include <stdlib.h>
>> -#include <string.h>
>> +#include <cstring>
>> +#include <memory>
>> 
>> namespace llvm {
>> 
>> @@ -157,4 +157,4 @@ TEST_F(OrcCAPIExecutionTest, TestDirectC
>>   LLVMOrcDisposeInstance(JIT);
>> }
>> 
>> -} // namespace llvm
>> +} // end namespace llvm
>> 
>> Modified: llvm/trunk/unittests/Support/CommandLineTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/CommandLineTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/Support/CommandLineTest.cpp (original)
>> +++ llvm/trunk/unittests/Support/CommandLineTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -7,12 +7,17 @@
>> //
>> //===----------------------------------------------------------------------===//
>> 
>> +#include "llvm/ADT/ArrayRef.h"
>> #include "llvm/ADT/STLExtras.h"
>> +#include "llvm/ADT/SmallVector.h"
>> +#include "llvm/ADT/StringMap.h"
>> +#include "llvm/ADT/StringRef.h"
>> #include "llvm/Config/config.h"
>> +#include "llvm/Support/Allocator.h"
>> #include "llvm/Support/CommandLine.h"
>> #include "llvm/Support/StringSaver.h"
>> #include "gtest/gtest.h"
>> -#include <stdlib.h>
>> +#include <cstdlib>
>> #include <string>
>> 
>> using namespace llvm;
>> @@ -20,7 +25,7 @@ using namespace llvm;
>> namespace {
>> 
>> class TempEnvVar {
>> - public:
>> +public:
>>   TempEnvVar(const char *name, const char *value)
>>       : name(name) {
>>     const char *old_value = getenv(name);
>> @@ -41,13 +46,14 @@ class TempEnvVar {
>> #endif
>>   }
>> 
>> - private:
>> +private:
>>   const char *const name;
>> };
>> 
>> template <typename T>
>> class StackOption : public cl::opt<T> {
>>   typedef cl::opt<T> Base;
>> +
>> public:
>>   // One option...
>>   template<class M0t>
>> @@ -69,7 +75,6 @@ public:
>>   ~StackOption() override { this->removeArgument(); }
>> };
>> 
>> -
>> cl::OptionCategory TestCategory("Test Options", "Description");
>> TEST(CommandLineTest, ModifyExisitingOption) {
>>   StackOption<int> TestOption("test-option", cl::desc("old description"));
>> @@ -265,4 +270,4 @@ TEST(CommandLineTest, HideUnrelatedOptio
>>       << "Hid default option that should be visable.";
>> }
>> 
>> -}  // anonymous namespace
>> +} // end anonymous namespace
>> 
>> Modified: llvm/trunk/unittests/Support/ProgramTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/ProgramTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/Support/ProgramTest.cpp (original)
>> +++ llvm/trunk/unittests/Support/ProgramTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -7,13 +7,19 @@
>> //
>> //===----------------------------------------------------------------------===//
>> 
>> +#include "llvm/ADT/SmallString.h"
>> +#include "llvm/ADT/StringRef.h"
>> #include "llvm/Support/ConvertUTF.h"
>> #include "llvm/Support/CommandLine.h"
>> #include "llvm/Support/FileSystem.h"
>> #include "llvm/Support/Path.h"
>> #include "llvm/Support/Program.h"
>> +#include "llvm/Support/raw_ostream.h"
>> #include "gtest/gtest.h"
>> -#include <stdlib.h>
>> +#include <cstdlib>
>> +#include <cstring>
>> +#include <string>
>> +#include <vector>
>> #if defined(__APPLE__)
>> # include <crt_externs.h>
>> #elif !defined(_MSC_VER)
>> @@ -45,6 +51,7 @@ void sleep_for(unsigned int seconds) {
>>     GTEST_FATAL_FAILURE_(MessageStorage.c_str());                              \
>>   } else {                                                                     \
>>   }
>> +
>> // From TestMain.cpp.
>> extern const char *TestMainArgv0;
>> 
>> @@ -53,9 +60,9 @@ namespace {
>> using namespace llvm;
>> using namespace sys;
>> 
>> -static cl::opt<std::string>
>> +cl::opt<std::string>
>> ProgramTestStringArg1("program-test-string-arg1");
>> -static cl::opt<std::string>
>> +cl::opt<std::string>
>> ProgramTestStringArg2("program-test-string-arg2");
>> 
>> class ProgramEnvTest : public testing::Test {
>> @@ -309,7 +316,6 @@ TEST(ProgramTest, TestExecuteNegative) {
>>     ASSERT_TRUE(ExecutionFailed);
>>     ASSERT_FALSE(Error.empty());
>>   }
>> -
>> }
>> 
>> #ifdef LLVM_ON_WIN32
>> 
>> Modified: llvm/trunk/unittests/Support/StreamingMemoryObjectTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/StreamingMemoryObjectTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/Support/StreamingMemoryObjectTest.cpp (original)
>> +++ llvm/trunk/unittests/Support/StreamingMemoryObjectTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -11,7 +11,7 @@
>> #include "llvm/ADT/StringRef.h"
>> #include "llvm/Support/StreamingMemoryObject.h"
>> #include "gtest/gtest.h"
>> -#include <string.h>
>> +#include <cstring>
>> 
>> using namespace llvm;
>> 
>> @@ -65,4 +65,4 @@ TEST(StreamingMemoryObjectTest, getPoint
>>   EXPECT_TRUE(std::equal(InputBuffer, InputBuffer + 8, O.getPointer(0, 20)));
>> }
>> 
>> -} // end namespace
>> +} // end anonymous namespace
>> 
>> Modified: llvm/trunk/unittests/Support/TimeValueTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/TimeValueTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/Support/TimeValueTest.cpp (original)
>> +++ llvm/trunk/unittests/Support/TimeValueTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -9,9 +9,12 @@
>> 
>> #include "gtest/gtest.h"
>> #include "llvm/Support/TimeValue.h"
>> -#include <time.h>
>> +#include <cstdint>
>> +#include <cstdlib>
>> +#include <ctime>
>> 
>> using namespace llvm;
>> +
>> namespace {
>> 
>> TEST(TimeValue, time_t) {
>> @@ -37,4 +40,4 @@ TEST(TimeValue, Win32FILETIME) {
>>   EXPECT_EQ(ft1970, epoch.toWin32Time());
>> }
>> 
>> -}
>> +} // end anonymous namespace
>> 
>> Modified: llvm/trunk/unittests/Support/TimerTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/TimerTest.cpp?rev=265454&r1=265453&r2=265454&view=diff
>> ==============================================================================
>> --- llvm/trunk/unittests/Support/TimerTest.cpp (original)
>> +++ llvm/trunk/unittests/Support/TimerTest.cpp Tue Apr  5 15:19:49 2016
>> @@ -13,7 +13,7 @@
>> #if LLVM_ON_WIN32
>> #include <windows.h>
>> #else
>> -#include <time.h>
>> +#include <ctime>
>> #endif
>> 
>> using namespace llvm;
>> @@ -62,4 +62,4 @@ TEST(Timer, CheckIfTriggered) {
>>   EXPECT_FALSE(T1.hasTriggered());
>> }
>> 
>> -} // end anon namespace
>> +} // end anonymous namespace
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list