diff --git a/quic/core/chlo_extractor.h b/quic/core/chlo_extractor.h
index 4562d84..7d6d17d 100644
--- a/quic/core/chlo_extractor.h
+++ b/quic/core/chlo_extractor.h
@@ -12,9 +12,9 @@
 
 // A utility for extracting QUIC Client Hello messages from packets,
 // without needs to spin up a full QuicSession.
-class QUIC_EXPORT_PRIVATE ChloExtractor {
+class /*QUIC_EXPORT_PRIVATE*/ ChloExtractor {
  public:
-  class QUIC_EXPORT_PRIVATE Delegate {
+  class /*QUIC_EXPORT_PRIVATE*/ Delegate {
    public:
     virtual ~Delegate() {}
 
diff --git a/quic/core/http/quic_spdy_client_session.h b/quic/core/http/quic_spdy_client_session.h
index dde3e5d..cf2bad9 100644
--- a/quic/core/http/quic_spdy_client_session.h
+++ b/quic/core/http/quic_spdy_client_session.h
@@ -20,7 +20,7 @@
 class QuicConnection;
 class QuicServerId;
 
-class QUIC_EXPORT_PRIVATE QuicSpdyClientSession
+class /*QUIC_EXPORT_PRIVATE*/ QuicSpdyClientSession
     : public QuicSpdyClientSessionBase {
  public:
   // Takes ownership of |connection|. Caller retains ownership of
diff --git a/quic/core/http/quic_spdy_client_stream.h b/quic/core/http/quic_spdy_client_stream.h
index 2ebf8b0..d914506 100644
--- a/quic/core/http/quic_spdy_client_stream.h
+++ b/quic/core/http/quic_spdy_client_stream.h
@@ -19,7 +19,7 @@
 
 // All this does right now is send an SPDY request, and aggregate the
 // SPDY response.
-class QUIC_EXPORT_PRIVATE QuicSpdyClientStream : public QuicSpdyStream {
+class /*QUIC_EXPORT_PRIVATE*/ QuicSpdyClientStream : public QuicSpdyStream {
  public:
   QuicSpdyClientStream(QuicStreamId id,
                        QuicSpdyClientSession* session,
diff --git a/quic/core/http/quic_spdy_server_stream_base.h b/quic/core/http/quic_spdy_server_stream_base.h
index 24d0f13..9d79bca 100644
--- a/quic/core/http/quic_spdy_server_stream_base.h
+++ b/quic/core/http/quic_spdy_server_stream_base.h
@@ -9,7 +9,7 @@
 
 namespace quic {
 
-class QUIC_EXPORT_PRIVATE QuicSpdyServerStreamBase : public QuicSpdyStream {
+class /*QUIC_EXPORT_PRIVATE*/ QuicSpdyServerStreamBase : public QuicSpdyStream {
  public:
   QuicSpdyServerStreamBase(QuicStreamId id,
                            QuicSpdySession* session,
diff --git a/quic/core/packet_number_indexed_queue.h b/quic/core/packet_number_indexed_queue.h
index 83e3d88..823d9b7 100644
--- a/quic/core/packet_number_indexed_queue.h
+++ b/quic/core/packet_number_indexed_queue.h
@@ -35,7 +35,7 @@
 // Because of that, it is not a general-purpose container and should not be used
 // as one.
 template <typename T>
-class QUIC_EXPORT_PRIVATE PacketNumberIndexedQueue {
+class /*QUIC_EXPORT_PRIVATE*/ PacketNumberIndexedQueue {
  public:
   PacketNumberIndexedQueue() : number_of_present_entries_(0) {}
 
@@ -86,7 +86,7 @@
 
  private:
   // Wrapper around T used to mark whether the entry is actually in the map.
-  struct QUIC_EXPORT_PRIVATE EntryWrapper : T {
+  struct /*QUIC_EXPORT_PRIVATE*/ EntryWrapper : T {
     bool present;
 
     EntryWrapper() : present(false) {}
diff --git a/quic/core/qpack/offline/qpack_offline_decoder.h b/quic/core/qpack/offline/qpack_offline_decoder.h
index ecaebc8..10598ce 100644
--- a/quic/core/qpack/offline/qpack_offline_decoder.h
+++ b/quic/core/qpack/offline/qpack_offline_decoder.h
@@ -19,7 +19,7 @@
 // a list of expected header lists read from another file.  File format is
 // described at
 // https://github.com/quicwg/base-drafts/wiki/QPACK-Offline-Interop.
-class QUIC_EXPORT_PRIVATE QpackOfflineDecoder
+class /*QUIC_EXPORT_PRIVATE*/ QpackOfflineDecoder
     : public QpackDecoder::EncoderStreamErrorDelegate {
  public:
   QpackOfflineDecoder();
@@ -40,7 +40,7 @@
   // Data structure to hold TestHeadersHandler and QpackProgressiveDecoder until
   // decoding of a header header block (and all preceding header blocks) is
   // complete.
-  struct QUIC_EXPORT_PRIVATE Decoder {
+  struct /*QUIC_EXPORT_PRIVATE*/ Decoder {
     std::unique_ptr<test::TestHeadersHandler> headers_handler;
     std::unique_ptr<QpackProgressiveDecoder> progressive_decoder;
     uint64_t stream_id;
diff --git a/quic/core/qpack/qpack_test_utils.h b/quic/core/qpack/qpack_test_utils.h
index 7011e88..b898f9b 100644
--- a/quic/core/qpack/qpack_test_utils.h
+++ b/quic/core/qpack/qpack_test_utils.h
@@ -27,7 +27,7 @@
     FragmentMode fragment_mode);
 
 // Mock QpackUnidirectionalStreamSenderDelegate implementation.
-class QUIC_EXPORT_PRIVATE MockQpackStreamSenderDelegate
+class /*QUIC_EXPORT_PRIVATE*/ MockQpackStreamSenderDelegate
     : public QpackStreamSenderDelegate {
  public:
   ~MockQpackStreamSenderDelegate() override = default;
diff --git a/quic/core/quic_arena_scoped_ptr.h b/quic/core/quic_arena_scoped_ptr.h
index bb55752..938ae71 100644
--- a/quic/core/quic_arena_scoped_ptr.h
+++ b/quic/core/quic_arena_scoped_ptr.h
@@ -20,7 +20,7 @@
 namespace quic {
 
 template <typename T>
-class QUIC_EXPORT_PRIVATE QuicArenaScopedPtr {
+class /*QUIC_EXPORT_PRIVATE*/ QuicArenaScopedPtr {
   static_assert(QUIC_ALIGN_OF(T*) > 1,
                 "QuicArenaScopedPtr can only store objects that are aligned to "
                 "greater than 1 byte.");
diff --git a/quic/core/quic_dispatcher.h b/quic/core/quic_dispatcher.h
index 528d6cf..4c52c5c 100644
--- a/quic/core/quic_dispatcher.h
+++ b/quic/core/quic_dispatcher.h
@@ -34,7 +34,7 @@
 class QuicConfig;
 class QuicCryptoServerConfig;
 
-class QUIC_EXPORT_PRIVATE QuicDispatcher
+class /*QUIC_EXPORT_PRIVATE*/ QuicDispatcher
     : public QuicTimeWaitListManager::Visitor,
       public ProcessPacketInterface,
       public QuicBufferedPacketStore::VisitorInterface {
diff --git a/quic/core/quic_interval.h b/quic/core/quic_interval.h
index 272c43d..c2e9033 100644
--- a/quic/core/quic_interval.h
+++ b/quic/core/quic_interval.h
@@ -68,14 +68,14 @@
 namespace quic {
 
 template <typename T>
-class QUIC_EXPORT_PRIVATE QuicInterval {
+class /*QUIC_EXPORT_PRIVATE*/ QuicInterval {
  private:
   // Type trait for deriving the return type for QuicInterval::Length.  If
   // operator-() is not defined for T, then the return type is void.  This makes
   // the signature for Length compile so that the class can be used for such T,
   // but code that calls Length would still generate a compilation error.
   template <typename U>
-  class QUIC_EXPORT_PRIVATE DiffTypeOrVoid {
+  class /*QUIC_EXPORT_PRIVATE*/ DiffTypeOrVoid {
    private:
     template <typename V>
     static auto f(const V* v) -> decltype(*v - *v);
diff --git a/quic/core/quic_interval_set.h b/quic/core/quic_interval_set.h
index 98ee894..ea28367 100644
--- a/quic/core/quic_interval_set.h
+++ b/quic/core/quic_interval_set.h
@@ -65,12 +65,12 @@
 namespace quic {
 
 template <typename T>
-class QUIC_EXPORT_PRIVATE QuicIntervalSet {
+class /*QUIC_EXPORT_PRIVATE*/ QuicIntervalSet {
  public:
   typedef QuicInterval<T> value_type;
 
  private:
-  struct QUIC_EXPORT_PRIVATE IntervalLess {
+  struct /*QUIC_EXPORT_PRIVATE*/ IntervalLess {
     bool operator()(const value_type& a, const value_type& b) const;
   };
   typedef std::set<value_type, IntervalLess> Set;
@@ -320,7 +320,7 @@
 
  private:
   // Simple member-wise equality, since all intervals are non-empty.
-  struct QUIC_EXPORT_PRIVATE NonemptyIntervalEq {
+  struct /*QUIC_EXPORT_PRIVATE*/ NonemptyIntervalEq {
     bool operator()(const value_type& a, const value_type& b) const {
       return a.min() == b.min() && a.max() == b.max();
     }
diff --git a/quic/core/quic_lru_cache.h b/quic/core/quic_lru_cache.h
index 4972f9c..a5a9e1a 100644
--- a/quic/core/quic_lru_cache.h
+++ b/quic/core/quic_lru_cache.h
@@ -19,7 +19,7 @@
 // Value* returned by Lookup() can be invalid if the entry is evicted by other
 // threads.
 template <class K, class V>
-class QUIC_EXPORT_PRIVATE QuicLRUCache {
+class /*QUIC_EXPORT_PRIVATE*/ QuicLRUCache {
  public:
   explicit QuicLRUCache(size_t capacity) : capacity_(capacity) {}
   QuicLRUCache(const QuicLRUCache&) = delete;
diff --git a/quic/core/quic_packet_writer_wrapper.h b/quic/core/quic_packet_writer_wrapper.h
index 23a737f..dd437f1 100644
--- a/quic/core/quic_packet_writer_wrapper.h
+++ b/quic/core/quic_packet_writer_wrapper.h
@@ -15,7 +15,8 @@
 // Wraps a writer object to allow dynamically extending functionality. Use
 // cases: replace writer while dispatcher and connections hold on to the
 // wrapper; mix in monitoring; mix in mocks in unit tests.
-class QUIC_EXPORT_PRIVATE QuicPacketWriterWrapper : public QuicPacketWriter {
+class /*QUIC_EXPORT_PRIVATE*/ QuicPacketWriterWrapper
+    : public QuicPacketWriter {
  public:
   QuicPacketWriterWrapper();
   QuicPacketWriterWrapper(const QuicPacketWriterWrapper&) = delete;
diff --git a/quic/core/quic_process_packet_interface.h b/quic/core/quic_process_packet_interface.h
index 1d92a2d..6bfc85d 100644
--- a/quic/core/quic_process_packet_interface.h
+++ b/quic/core/quic_process_packet_interface.h
@@ -11,7 +11,7 @@
 namespace quic {
 
 // A class to process each incoming packet.
-class QUIC_EXPORT_PRIVATE ProcessPacketInterface {
+class /*QUIC_EXPORT_PRIVATE*/ ProcessPacketInterface {
  public:
   virtual ~ProcessPacketInterface() {}
   virtual void ProcessPacket(const QuicSocketAddress& self_address,
diff --git a/quic/core/quic_stream_send_buffer.h b/quic/core/quic_stream_send_buffer.h
index f3b799c..1bccd0f 100644
--- a/quic/core/quic_stream_send_buffer.h
+++ b/quic/core/quic_stream_send_buffer.h
@@ -50,8 +50,7 @@
   // Length of this pending retransmission.
   QuicByteCount length;
 
-  QUIC_EXPORT_PRIVATE bool operator==(
-      const StreamPendingRetransmission& other) const;
+  bool operator==(const StreamPendingRetransmission& other) const;
 };
 
 // QuicStreamSendBuffer contains a list of QuicStreamDataSlices. New data slices
diff --git a/quic/core/quic_time_wait_list_manager.h b/quic/core/quic_time_wait_list_manager.h
index 74289ed..0221f99 100644
--- a/quic/core/quic_time_wait_list_manager.h
+++ b/quic/core/quic_time_wait_list_manager.h
@@ -35,7 +35,7 @@
 // wait state.  After the connection_id expires its time wait period, a new
 // connection/session will be created if a packet is received for this
 // connection_id.
-class QUIC_EXPORT_PRIVATE QuicTimeWaitListManager
+class /*QUIC_EXPORT_PRIVATE*/ QuicTimeWaitListManager
     : public QuicBlockedWriterInterface {
  public:
   // Specifies what the time wait list manager should do when processing packets
@@ -50,7 +50,7 @@
     DO_NOTHING,
   };
 
-  class QUIC_EXPORT_PRIVATE Visitor : public QuicSession::Visitor {
+  class /*QUIC_EXPORT_PRIVATE*/ Visitor : public QuicSession::Visitor {
    public:
     // Called after the given connection is added to the time-wait list.
     virtual void OnConnectionAddedToTimeWaitList(
@@ -160,7 +160,7 @@
       QuicConnectionId connection_id) const;
 
   // Internal structure to store pending termination packets.
-  class QUIC_EXPORT_PRIVATE QueuedPacket {
+  class /*QUIC_EXPORT_PRIVATE*/ QueuedPacket {
    public:
     QueuedPacket(const QuicSocketAddress& self_address,
                  const QuicSocketAddress& peer_address,
@@ -230,7 +230,7 @@
   // A map from a recently closed connection_id to the number of packets
   // received after the termination of the connection bound to the
   // connection_id.
-  struct QUIC_EXPORT_PRIVATE ConnectionIdData {
+  struct /*QUIC_EXPORT_PRIVATE*/ ConnectionIdData {
     ConnectionIdData(int num_packets,
                      bool ietf_quic,
                      QuicTime time_added,
diff --git a/quic/core/quic_trace_visitor.h b/quic/core/quic_trace_visitor.h
index 29f9b03..4adc93c 100644
--- a/quic/core/quic_trace_visitor.h
+++ b/quic/core/quic_trace_visitor.h
@@ -14,7 +14,8 @@
 // Records a QUIC trace protocol buffer for a QuicConnection.  It's the
 // responsibility of the user of this visitor to process or store the resulting
 // trace, which can be accessed via trace().
-class QUIC_EXPORT_PRIVATE QuicTraceVisitor : public QuicConnectionDebugVisitor {
+class /*QUIC_EXPORT_PRIVATE*/ QuicTraceVisitor
+    : public QuicConnectionDebugVisitor {
  public:
   explicit QuicTraceVisitor(const QuicConnection* connection);
 
diff --git a/quic/platform/api/quic_reference_counted.h b/quic/platform/api/quic_reference_counted.h
index 40f92d5..9e5a1e0 100644
--- a/quic/platform/api/quic_reference_counted.h
+++ b/quic/platform/api/quic_reference_counted.h
@@ -51,7 +51,7 @@
 // QuicReferenceCountedPointer<T> r_ptr_b = std::move(r_ptr_a);
 
 template <class T>
-class QUIC_EXPORT_PRIVATE QuicReferenceCountedPointer {
+class /*QUIC_EXPORT_PRIVATE*/ QuicReferenceCountedPointer {
  public:
   QuicReferenceCountedPointer() = default;
 
diff --git a/quic/platform/api/quic_test_mem_slice_vector.h b/quic/platform/api/quic_test_mem_slice_vector.h
index ed416b7..d06a8ac 100644
--- a/quic/platform/api/quic_test_mem_slice_vector.h
+++ b/quic/platform/api/quic_test_mem_slice_vector.h
@@ -18,7 +18,7 @@
 // Tests using QuicTestMemSliceVector need to make sure the actual data buffers
 // outlive QuicTestMemSliceVector, and QuicTestMemSliceVector outlive the
 // returned QuicMemSliceSpan.
-class QUIC_EXPORT_PRIVATE QuicTestMemSliceVector {
+class /*QUIC_EXPORT_PRIVATE*/ QuicTestMemSliceVector {
  public:
   explicit QuicTestMemSliceVector(std::vector<std::pair<char*, size_t>> buffers)
       : impl_(std::move(buffers)) {}
