[llvm] r265454 - Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes.
Quentin Colombet via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 5 13:32:55 PDT 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160405/881b1d4e/attachment-0001.html>
More information about the llvm-commits
mailing list