From cf1db73d2ad969f0ebbe6f5ed42678517e493da2 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 24 Jan 2018 11:58:42 -0800 Subject: Changes imported from Abseil "staging" branch: - 0320844dcd8219965647f86db7c6c7296e40e41e Introduce internal macros for inline variable emulation s... by Matt Calabrese - 85197d0105805e6aab3a0a648351cb1582a61be0 Internal change. by Alex Strelnikov GitOrigin-RevId: 0320844dcd8219965647f86db7c6c7296e40e41e Change-Id: I7dce37f6839ff099462951059a9047c5c9377638 --- absl/utility/BUILD.bazel | 1 - absl/utility/CMakeLists.txt | 1 - absl/utility/utility.cc | 27 --------------------------- absl/utility/utility.h | 4 +++- 4 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 absl/utility/utility.cc (limited to 'absl/utility') diff --git a/absl/utility/BUILD.bazel b/absl/utility/BUILD.bazel index 6298462643f4..c01b49bc97dd 100644 --- a/absl/utility/BUILD.bazel +++ b/absl/utility/BUILD.bazel @@ -10,7 +10,6 @@ licenses(["notice"]) # Apache 2.0 cc_library( name = "utility", - srcs = ["utility.cc"], hdrs = ["utility.h"], copts = ABSL_DEFAULT_COPTS, deps = [ diff --git a/absl/utility/CMakeLists.txt b/absl/utility/CMakeLists.txt index daf3417859ba..50a5d5c57aa4 100644 --- a/absl/utility/CMakeLists.txt +++ b/absl/utility/CMakeLists.txt @@ -22,7 +22,6 @@ list(APPEND UTILITY_PUBLIC_HEADERS list(APPEND UTILITY_SRC - "utility.cc" ${UTILITY_PUBLIC_HEADERS} ) diff --git a/absl/utility/utility.cc b/absl/utility/utility.cc deleted file mode 100644 index fce79f5bb5b8..000000000000 --- a/absl/utility/utility.cc +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Abseil Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ----------------------------------------------------------------------------- -// File: ascii.h -// ----------------------------------------------------------------------------- -// -#include "absl/utility/utility.h" - -namespace absl { - -#ifndef ABSL_HAVE_STD_OPTIONAL -const in_place_t in_place{}; -#endif - -} // namespace absl diff --git a/absl/utility/utility.h b/absl/utility/utility.h index d37f4c301a44..1943c4acb577 100644 --- a/absl/utility/utility.h +++ b/absl/utility/utility.h @@ -45,6 +45,7 @@ #include #include "absl/base/config.h" +#include "absl/base/internal/inline_variable.h" #include "absl/base/internal/invoke.h" #include "absl/meta/type_traits.h" @@ -155,7 +156,8 @@ using std::in_place; // `absl::optional`, designed to be a drop-in replacement for C++17's // `std::in_place_t`. struct in_place_t {}; -extern const in_place_t in_place; + +ABSL_INTERNAL_INLINE_CONSTEXPR(in_place_t, in_place, {}); #endif // ABSL_HAVE_STD_OPTIONAL -- cgit 1.4.1