diff --git a/third_party/llvm-10.0/llvm/lib/Support/PrettyStackTrace.cpp b/third_party/llvm-10.0/llvm/lib/Support/PrettyStackTrace.cpp
index bfb238c..5531ad6 100644
--- a/third_party/llvm-10.0/llvm/lib/Support/PrettyStackTrace.cpp
+++ b/third_party/llvm-10.0/llvm/lib/Support/PrettyStackTrace.cpp
@@ -55,8 +55,7 @@
 // the current thread". If the user happens to overflow an 'unsigned' with
 // SIGINFO requests, it's possible that some threads will stop responding to it,
 // but the program won't crash.
-static volatile std::atomic<unsigned> GlobalSigInfoGenerationCounter =
-    ATOMIC_VAR_INIT(1);
+static volatile std::atomic<unsigned> GlobalSigInfoGenerationCounter{1};
 static LLVM_THREAD_LOCAL unsigned ThreadLocalSigInfoGenerationCounter = 0;
 
 namespace llvm {
diff --git a/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc b/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
index f68374d..b9a4fa4 100644
--- a/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
+++ b/third_party/llvm-10.0/llvm/lib/Support/Unix/Signals.inc
@@ -84,13 +84,11 @@
 
 using SignalHandlerFunctionType = void (*)();
 /// The function to call if ctrl-c is pressed.
-static std::atomic<SignalHandlerFunctionType> InterruptFunction =
-    ATOMIC_VAR_INIT(nullptr);
-static std::atomic<SignalHandlerFunctionType> InfoSignalFunction =
-    ATOMIC_VAR_INIT(nullptr);
+static std::atomic<SignalHandlerFunctionType> InterruptFunction{nullptr};
+static std::atomic<SignalHandlerFunctionType> InfoSignalFunction{nullptr};
 /// The function to call on SIGPIPE (one-time use only).
-static std::atomic<SignalHandlerFunctionType> OneShotPipeSignalFunction =
-    ATOMIC_VAR_INIT(nullptr);
+static std::atomic<SignalHandlerFunctionType> OneShotPipeSignalFunction{
+    nullptr};
 
 namespace {
 /// Signal-safe removal of files.
@@ -98,8 +96,8 @@
 /// themselves is signal-safe. Memory is freed when the head is freed, deletion
 /// is therefore not signal-safe either.
 class FileToRemoveList {
-  std::atomic<char *> Filename = ATOMIC_VAR_INIT(nullptr);
-  std::atomic<FileToRemoveList *> Next = ATOMIC_VAR_INIT(nullptr);
+  std::atomic<char *> Filename{nullptr};
+  std::atomic<FileToRemoveList *> Next{nullptr};
 
   FileToRemoveList() = default;
   // Not signal-safe.
@@ -188,7 +186,7 @@
     Head.exchange(OldHead);
   }
 };
-static std::atomic<FileToRemoveList *> FilesToRemove = ATOMIC_VAR_INIT(nullptr);
+static std::atomic<FileToRemoveList *> FilesToRemove{nullptr};
 
 /// Clean up the list in a signal-friendly manner.
 /// Recall that signals can fire during llvm_shutdown. If this occurs we should
@@ -243,7 +241,7 @@
     array_lengthof(InfoSigs) + 1 /* SIGPIPE */;
 
 
-static std::atomic<unsigned> NumRegisteredSignals = ATOMIC_VAR_INIT(0);
+static std::atomic<unsigned> NumRegisteredSignals{0};
 static struct {
   struct sigaction SA;
   int SigNo;
