summaryrefslogtreecommitdiff
path: root/absl/base
diff options
context:
space:
mode:
Diffstat (limited to 'absl/base')
-rw-r--r--absl/base/BUILD.bazel18
-rw-r--r--absl/base/config.h15
2 files changed, 31 insertions, 2 deletions
diff --git a/absl/base/BUILD.bazel b/absl/base/BUILD.bazel
index 23439a09..d68448da 100644
--- a/absl/base/BUILD.bazel
+++ b/absl/base/BUILD.bazel
@@ -25,8 +25,6 @@ package(default_visibility = ["//visibility:public"])
licenses(["notice"]) # Apache 2.0
-exports_files(["thread_annotations.h"])
-
cc_library(
name = "spinlock_wait",
srcs = [
@@ -39,6 +37,9 @@ cc_library(
"internal/spinlock_wait.h",
],
copts = ABSL_DEFAULT_COPTS,
+ visibility = [
+ "//absl/base:__pkg__",
+ ],
deps = [":core_headers"],
)
@@ -83,6 +84,9 @@ cc_library(
"internal/malloc_extension_c.h",
],
copts = ABSL_DEFAULT_COPTS,
+ visibility = [
+ "//absl:__subpackages__",
+ ],
deps = [
":core_headers",
":dynamic_annotations",
@@ -108,6 +112,9 @@ cc_library(
textual_hdrs = [
"internal/malloc_hook_invoke.h",
],
+ visibility = [
+ "//absl:__subpackages__",
+ ],
deps = [
":base",
":config",
@@ -124,6 +131,9 @@ cc_library(
"internal/invoke.h",
],
copts = ABSL_DEFAULT_COPTS,
+ visibility = [
+ "//absl:__subpackages__",
+ ],
)
cc_library(
@@ -183,6 +193,9 @@ cc_library(
features = [
"-use_header_modules",
],
+ visibility = [
+ "//absl:__subpackages__",
+ ],
deps = [
":base",
":config",
@@ -205,6 +218,7 @@ cc_library(
testonly = 1,
hdrs = ["internal/exception_testing.h"],
copts = ABSL_TEST_COPTS,
+ visibility = ["//absl:__subpackages__"],
deps = [
":config",
"@com_google_googletest//:gtest",
diff --git a/absl/base/config.h b/absl/base/config.h
index 5f0dd04c..495811bd 100644
--- a/absl/base/config.h
+++ b/absl/base/config.h
@@ -372,4 +372,19 @@
#endif
#endif
+// For MSVC, `__has_include` is supported in VS 2017 15.3, which is later than
+// the support for <optional>, <any>, <string_view>. So we use _MSC_VER to check
+// whether we have VS 2017 RTM (when <optional>, <any>, <string_view> is
+// implemented) or higher.
+// Also, `__cplusplus` is not correctly set by MSVC, so we use `_MSVC_LANG` to
+// check the language version.
+// TODO(zhangxy): fix tests before enabling aliasing for `std::any`,
+// `std::string_view`.
+#if defined(_MSC_VER) && _MSC_VER >= 1910 && \
+ ((defined(_MSVC_LANG) && _MSVC_LANG > 201402) || __cplusplus > 201402)
+// #define ABSL_HAVE_STD_ANY 1
+#define ABSL_HAVE_STD_OPTIONAL 1
+// #define ABSL_HAVE_STD_STRING_VIEW 1
+#endif
+
#endif // ABSL_BASE_CONFIG_H_