components/desktop/firefox/patches/firefox-51-new-atomicophs.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Mon, 05 Sep 2016 05:00:46 -0700
branchs11u3-sru
changeset 7035 4c2f26e9d5ab
permissions -rw-r--r--
24361911 Upgrade Firefox to version 45.4.0 ESR 23033044 firefox needs to be built with "--with-intl-api" option 24708365 problem in FIREFOX/BROWSER 24708614 problem in FIREFOX/BROWSER
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7035
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
Fixes issues in atomic operations.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
Will not send upstream.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
--- a/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h	2015-11-03 11:34:16.000000000 +0100
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
+++ b/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h	2015-11-10 04:19:53.044083000 +0100
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
@@ -1,5 +1,4 @@
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
-// Copyright 2014 Google Inc. All rights reserved.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
-// https://developers.google.com/protocol-buffers/
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
+// Copyright 2013 Red Hat Inc.  All rights reserved.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
 //
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
 // Redistribution and use in source and binary forms, with or without
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
 // modification, are permitted provided that the following conditions are
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
@@ -11,7 +10,7 @@
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
 // copyright notice, this list of conditions and the following disclaimer
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
 // in the documentation and/or other materials provided with the
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
 // distribution.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
-//     * Neither the name of Google Inc. nor the names of its
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
+//     * Neither the name of Red Hat Inc. nor the names of its
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
 // contributors may be used to endorse or promote products derived from
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
 // this software without specific prior written permission.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    21
 //
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    22
@@ -29,10 +28,8 @@
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    23
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    24
 // This file is an internal atomic implementation, use atomicops.h instead.
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    25
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    26
-#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    27
-#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    28
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    29
-#include <atomic.h>
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    30
+#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    31
+#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    32
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    33
 namespace google {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    34
 namespace protobuf {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    35
@@ -41,148 +38,100 @@
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    36
 inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    37
                                          Atomic32 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    38
                                          Atomic32 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    39
-  return (Atomic32)atomic_cas_32((volatile uint32_t*)ptr, (uint32_t)old_value, (uint32_t)new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    40
+  __atomic_compare_exchange_n(ptr, &old_value, new_value, true,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    41
+                              __ATOMIC_RELAXED, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    42
+  return old_value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    43
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    44
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    45
 inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    46
                                          Atomic32 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    47
-  return (Atomic32)atomic_swap_32((volatile uint32_t*)ptr, (uint32_t)new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    48
+  return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    49
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    50
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    51
 inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    52
                                           Atomic32 increment) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    53
-  return (Atomic32)atomic_add_32_nv((volatile uint32_t*)ptr, (uint32_t)increment);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    54
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    55
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    56
-inline void MemoryBarrier(void) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    57
-	membar_producer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    58
-	membar_consumer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    59
+  return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    60
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    61
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    62
 inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    63
                                         Atomic32 increment) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    64
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    65
-  Atomic32 ret = NoBarrier_AtomicIncrement(ptr, increment);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    66
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    67
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    68
-  return ret;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    69
+  return __atomic_add_fetch(ptr, increment, __ATOMIC_SEQ_CST);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    70
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    71
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    72
 inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    73
                                        Atomic32 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    74
                                        Atomic32 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    75
-  Atomic32 ret = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    76
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    77
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    78
-  return ret;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    79
+  __atomic_compare_exchange(ptr, &old_value, &new_value, true,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    80
+                            __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    81
+  return old_value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    82
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    83
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    84
 inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    85
                                        Atomic32 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    86
                                        Atomic32 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    87
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    88
-  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    89
+  __atomic_compare_exchange_n(ptr, &old_value, new_value, true,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    90
+                              __ATOMIC_RELEASE, __ATOMIC_ACQUIRE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    91
+  return old_value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    92
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    93
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    94
 inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    95
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    96
+  __atomic_store_n(ptr, value, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    97
+}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    98
+
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    99
+inline void MemoryBarrier() {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   100
+  __sync_synchronize();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   101
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   102
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   103
 inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   104
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   105
-  membar_producer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   106
+  __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   107
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   108
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   109
 inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   110
-  membar_consumer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   111
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   112
+  __atomic_store_n(ptr, value, __ATOMIC_RELEASE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   113
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   114
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   115
 inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   116
-  return *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   117
+  return __atomic_load_n(ptr, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   118
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   119
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   120
 inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   121
-  Atomic32 val = *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   122
-  membar_consumer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   123
-  return val;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   124
+  return __atomic_load_n(ptr, __ATOMIC_ACQUIRE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   125
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   126
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   127
 inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   128
-  membar_producer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   129
-  return *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   130
+  return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   131
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   132
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   133
-#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   134
-inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   135
-                                         Atomic64 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   136
-                                         Atomic64 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   137
-  return atomic_cas_64((volatile uint64_t*)ptr, (uint64_t)old_value, (uint64_t)new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   138
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   139
+#ifdef __LP64__
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   140
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   141
-inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, Atomic64 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   142
-  return atomic_swap_64((volatile uint64_t*)ptr, (uint64_t)new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   143
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   144
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   145
-inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   146
-  return atomic_add_64_nv((volatile uint64_t*)ptr, increment);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   147
+inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   148
+  __atomic_store_n(ptr, value, __ATOMIC_RELEASE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   149
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   150
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   151
-inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   152
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   153
-  Atomic64 ret = atomic_add_64_nv((volatile uint64_t*)ptr, increment);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   154
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   155
-  return ret;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   156
+inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   157
+  return __atomic_load_n(ptr, __ATOMIC_ACQUIRE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   158
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   159
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   160
 inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   161
                                        Atomic64 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   162
                                        Atomic64 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   163
-  Atomic64 ret = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   164
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   165
-  return ret;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   166
+  __atomic_compare_exchange_n(ptr, &old_value, new_value, true,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   167
+                              __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   168
+  return old_value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   169
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   170
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   171
-inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   172
+inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   173
                                        Atomic64 old_value,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   174
                                        Atomic64 new_value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   175
-  MemoryBarrier();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   176
-  return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   177
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   178
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   179
-inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   180
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   181
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   182
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   183
-inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   184
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   185
-  membar_producer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   186
+  __atomic_compare_exchange_n(ptr, &old_value, new_value, true,
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   187
+                              __ATOMIC_RELAXED, __ATOMIC_RELAXED);
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   188
+  return old_value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   189
 }
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   190
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   191
-inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   192
-  membar_consumer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   193
-  *ptr = value;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   194
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   195
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   196
-inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   197
-  return *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   198
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   199
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   200
-inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   201
-  Atomic64 ret = *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   202
-  membar_consumer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   203
-  return ret;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   204
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   205
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   206
-inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   207
-  membar_producer();
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   208
-  return *ptr;
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   209
-}
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   210
-#endif
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   211
+#endif // defined(__LP64__)
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   212
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   213
 }  // namespace internal
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   214
 }  // namespace protobuf
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   215
 }  // namespace google
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   216
 
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   217
-#endif  // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   218
-
4c2f26e9d5ab 24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
   219
+#endif  // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_