Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
e7881e8e
Commit
e7881e8e
authored
Jun 05, 2012
by
liujisi@google.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update atomicops to support new platforms where intptr_t = long.
Fix license headers.
parent
aabd7cf8
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
242 additions
and
153 deletions
+242
-153
Makefile.am
src/Makefile.am
+1
-1
atomicops.h
src/google/protobuf/stubs/atomicops.h
+48
-23
atomicops_internals_arm_gcc.h
src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
+9
-6
atomicops_internals_atomicword_compat.h
...le/protobuf/stubs/atomicops_internals_atomicword_compat.h
+122
-0
atomicops_internals_macosx.h
src/google/protobuf/stubs/atomicops_internals_macosx.h
+12
-92
atomicops_internals_mips_gcc.h
src/google/protobuf/stubs/atomicops_internals_mips_gcc.h
+9
-6
atomicops_internals_x86_gcc.cc
src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
+1
-1
atomicops_internals_x86_gcc.h
src/google/protobuf/stubs/atomicops_internals_x86_gcc.h
+9
-6
atomicops_internals_x86_msvc.cc
src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc
+9
-6
atomicops_internals_x86_msvc.h
src/google/protobuf/stubs/atomicops_internals_x86_msvc.h
+9
-6
platform_macros.h
src/google/protobuf/stubs/platform_macros.h
+13
-6
No files found.
src/Makefile.am
View file @
e7881e8e
...
...
@@ -40,9 +40,9 @@ MAINTAINERCLEANFILES = \
nobase_include_HEADERS
=
\
google/protobuf/stubs/atomicops.h
\
google/protobuf/stubs/atomicops_internals_arm_gcc.h
\
google/protobuf/stubs/atomicops_internals_macosx.h
\
google/protobuf/stubs/atomicops_internals_mips_gcc.h
\
google/protobuf/stubs/atomicops_internals_x86_gcc.h
\
google/protobuf/stubs/atomicops_internals_x86_macosx.h
\
google/protobuf/stubs/atomicops_internals_x86_msvc.h
\
google/protobuf/stubs/common.h
\
google/protobuf/stubs/platform_macros.h
\
...
...
src/google/protobuf/stubs/atomicops.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
@@ -154,26 +157,48 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
}
// namespace google
// Include our platform specific implementation.
#if defined(_MSC_VER) && \
(defined(GOOGLE_PROTOBUF_HOST_ARCH_IA32) || \
defined(GOOGLE_PROTOBUF_HOST_ARCH_X64))
#include "atomicops_internals_x86_msvc.h"
#elif defined(__APPLE__) && \
(defined(GOOGLE_PROTOBUF_HOST_ARCH_IA32) || \
defined(GOOGLE_PROTOBUF_HOST_ARCH_X64))
#include "atomicops_internals_x86_macosx.h"
#elif defined(__GNUC__) && \
(defined(GOOGLE_PROTOBUF_HOST_ARCH_IA32) || \
defined(GOOGLE_PROTOBUF_HOST_ARCH_X64))
#include "atomicops_internals_x86_gcc.h"
#elif defined(__GNUC__) && defined(GOOGLE_PROTOBUF_HOST_ARCH_ARM)
#include "atomicops_internals_arm_gcc.h"
#elif defined(__GNUC__) && defined(GOOGLE_PROTOBUF_HOST_ARCH_MIPS)
#include "atomicops_internals_mips_gcc.h"
#else
#define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \
#error "Atomic operations are not supported on your platform"
// MSVC.
#if defined(_MSC_VER)
#if defined(GOOGLE_PROTOBUF_HOST_ARCH_IA32) || \
defined(GOOGLE_PROTOBUF_HOST_ARCH_X64)
#include <google/protobuf/stubs/atomicops_internals_x86_msvc.h>
#else
GOOGLE_PROTOBUF_ATOMICOPS_ERROR
#endif
// Apple.
#elif defined(GOOGLE_PROTOBUF_OS_APPLE)
#include <google/protobuf/stubs/atomicops_internals_macosx.h>
// GCC.
#elif defined(__GNUC__)
#if defined(GOOGLE_PROTOBUF_HOST_ARCH_IA32) || \
defined(GOOGLE_PROTOBUF_HOST_ARCH_X64)
#include <google/protobuf/stubs/atomicops_internals_x86_gcc.h>
#elif defined(GOOGLE_PROTOBUF_HOST_ARCH_ARM)
#include <google/protobuf/stubs/atomicops_internals_arm_gcc.h>
#elif defined(GOOGLE_PROTOBUF_HOST_ARCH_MIPS)
#include <google/protobuf/stubs/atomicops_internals_mips_gcc.h>
#else
GOOGLE_PROTOBUF_ATOMICOPS_ERROR
#endif
// Unknown.
#else
GOOGLE_PROTOBUF_ATOMICOPS_ERROR
#endif
// On some platforms we need additional declarations to make AtomicWord
// compatible with our other Atomic* types.
#if defined(GOOGLE_PROTOBUF_OS_APPLE)
#include <google/protobuf/stubs/atomicops_internals_atomicword_compat.h>
#endif
#undef GOOGLE_PROTOBUF_ATOMICOPS_ERROR
#endif // GOOGLE_PROTOBUF_NO_THREADSAFETY
#endif // GOOGLE_PROTOBUF_ATOMICOPS_H_
src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h
0 → 100644
View file @
e7881e8e
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// This file is an internal atomic implementation, use atomicops.h instead.
#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
// AtomicWord is a synonym for intptr_t, and Atomic32 is a synonym for int32,
// which in turn means int. On some LP32 platforms, intptr_t is an int, but
// on others, it's a long. When AtomicWord and Atomic32 are based on different
// fundamental types, their pointers are incompatible.
//
// This file defines function overloads to allow both AtomicWord and Atomic32
// data to be used with this interface.
//
// On LP64 platforms, AtomicWord and Atomic64 are both always long,
// so this problem doesn't occur.
#if !defined(GOOGLE_PROTOBUF_HOST_ARCH_64_BIT)
namespace
google
{
namespace
protobuf
{
namespace
internal
{
inline
AtomicWord
NoBarrier_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
NoBarrier_CompareAndSwap
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
old_value
,
new_value
);
}
inline
AtomicWord
NoBarrier_AtomicExchange
(
volatile
AtomicWord
*
ptr
,
AtomicWord
new_value
)
{
return
NoBarrier_AtomicExchange
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
new_value
);
}
inline
AtomicWord
NoBarrier_AtomicIncrement
(
volatile
AtomicWord
*
ptr
,
AtomicWord
increment
)
{
return
NoBarrier_AtomicIncrement
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
increment
);
}
inline
AtomicWord
Barrier_AtomicIncrement
(
volatile
AtomicWord
*
ptr
,
AtomicWord
increment
)
{
return
Barrier_AtomicIncrement
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
increment
);
}
inline
AtomicWord
Acquire_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
Acquire_CompareAndSwap
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
old_value
,
new_value
);
}
inline
AtomicWord
Release_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
Release_CompareAndSwap
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
old_value
,
new_value
);
}
inline
void
NoBarrier_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
NoBarrier_Store
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
value
);
}
inline
void
Acquire_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
return
Acquire_Store
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
value
);
}
inline
void
Release_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
return
Release_Store
(
reinterpret_cast
<
volatile
Atomic32
*>
(
ptr
),
value
);
}
inline
AtomicWord
NoBarrier_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
NoBarrier_Load
(
reinterpret_cast
<
volatile
const
Atomic32
*>
(
ptr
));
}
inline
AtomicWord
Acquire_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
Acquire_Load
(
reinterpret_cast
<
volatile
const
Atomic32
*>
(
ptr
));
}
inline
AtomicWord
Release_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
Release_Load
(
reinterpret_cast
<
volatile
const
Atomic32
*>
(
ptr
));
}
}
// namespace internal
}
// namespace protobuf
}
// namespace google
#endif // !defined(GOOGLE_PROTOBUF_HOST_ARCH_64_BIT)
#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_
src/google/protobuf/stubs/atomicops_internals_
x86_
macosx.h
→
src/google/protobuf/stubs/atomicops_internals_macosx.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
@@ -27,8 +30,8 @@
// This file is an internal atomic implementation, use atomicops.h instead.
#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_
X86_
MACOSX_H_
#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_
X86_
MACOSX_H_
#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_
#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_
#include <libkern/OSAtomic.h>
...
...
@@ -214,91 +217,8 @@ inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
#endif // defined(__LP64__)
// MacOS uses long for intptr_t, AtomicWord and Atomic32 are always different
// on the Mac, even when they are the same size. We need to explicitly cast
// from AtomicWord to Atomic32/64 to implement the AtomicWord interface.
#ifdef __LP64__
#define AtomicWordCastType Atomic64
#else
#define AtomicWordCastType Atomic32
#endif
inline
AtomicWord
NoBarrier_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
NoBarrier_CompareAndSwap
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
old_value
,
new_value
);
}
inline
AtomicWord
NoBarrier_AtomicExchange
(
volatile
AtomicWord
*
ptr
,
AtomicWord
new_value
)
{
return
NoBarrier_AtomicExchange
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
new_value
);
}
inline
AtomicWord
NoBarrier_AtomicIncrement
(
volatile
AtomicWord
*
ptr
,
AtomicWord
increment
)
{
return
NoBarrier_AtomicIncrement
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
increment
);
}
inline
AtomicWord
Barrier_AtomicIncrement
(
volatile
AtomicWord
*
ptr
,
AtomicWord
increment
)
{
return
Barrier_AtomicIncrement
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
increment
);
}
inline
AtomicWord
Acquire_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
Acquire_CompareAndSwap
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
old_value
,
new_value
);
}
inline
AtomicWord
Release_CompareAndSwap
(
volatile
AtomicWord
*
ptr
,
AtomicWord
old_value
,
AtomicWord
new_value
)
{
return
Release_CompareAndSwap
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
old_value
,
new_value
);
}
inline
void
NoBarrier_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
NoBarrier_Store
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
value
);
}
inline
void
Acquire_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
return
Acquire_Store
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
value
);
}
inline
void
Release_Store
(
volatile
AtomicWord
*
ptr
,
AtomicWord
value
)
{
return
Release_Store
(
reinterpret_cast
<
volatile
AtomicWordCastType
*>
(
ptr
),
value
);
}
inline
AtomicWord
NoBarrier_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
NoBarrier_Load
(
reinterpret_cast
<
volatile
const
AtomicWordCastType
*>
(
ptr
));
}
inline
AtomicWord
Acquire_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
Acquire_Load
(
reinterpret_cast
<
volatile
const
AtomicWordCastType
*>
(
ptr
));
}
inline
AtomicWord
Release_Load
(
volatile
const
AtomicWord
*
ptr
)
{
return
Release_Load
(
reinterpret_cast
<
volatile
const
AtomicWordCastType
*>
(
ptr
));
}
#undef AtomicWordCastType
}
// namespace internal
}
// namespace protobuf
}
// namespace google
#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_
X86_
MACOSX_H_
#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_
src/google/protobuf/stubs/atomicops_internals_mips_gcc.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc
View file @
e7881e8e
// Protocol Buffers - Google's data interchange format
// Copyright 20
08
Google Inc. All rights reserved.
// Copyright 20
12
Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
...
...
src/google/protobuf/stubs/atomicops_internals_x86_gcc.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
src/google/protobuf/stubs/atomicops_internals_x86_msvc.h
View file @
e7881e8e
// Copyright 2010 the V8 project authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
src/google/protobuf/stubs/platform_macros.h
View file @
e7881e8e
// Copyright 2011 the V8 authors. All rights reserved.
// Protocol Buffers - Google's data interchange format
// Copyright 2012 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
...
...
@@ -6,12 +9,12 @@
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following
//
disclaimer in the documentation and/or other materials provided
//
with the
distribution.
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
//
contributors may be used to endorse or promote products derived
//
from
this software without specific prior written permission.
//
contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
@@ -119,4 +122,8 @@
#define GOOGLE_PROTOBUF_USING_BSD_ABI
#endif
#if defined(__APPLE__)
#define GOOGLE_PROTOBUF_OS_APPLE
#endif
#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment