diff --git a/absl/numeric/BUILD.bazel b/absl/numeric/BUILD.bazel index a86b8d8d4fd1d75e8123eab3b65334399bd0c96e..c118d013c958e33d27872988f57caa11030617f2 100644 --- a/absl/numeric/BUILD.bazel +++ b/absl/numeric/BUILD.bazel @@ -10,7 +10,11 @@ licenses(["notice"]) # Apache 2.0 cc_library( name = "int128", - srcs = ["int128.cc"], + srcs = [ + "int128.cc", + "int128_have_intrinsic.inc", + "int128_no_intrinsic.inc", + ], hdrs = ["int128.h"], copts = ABSL_DEFAULT_COPTS, deps = [ diff --git a/absl/numeric/int128.h b/absl/numeric/int128.h index ecd6b371f7ead2d8f60a5e0f002b89d8425a6489..a2ca29a03ad9a4c7df328f502313f5dd024cc564 100644 --- a/absl/numeric/int128.h +++ b/absl/numeric/int128.h @@ -625,6 +625,12 @@ inline uint128& uint128::operator--() { return *this; } +#if defined(ABSL_HAVE_INTRINSIC_INT128) +#include "absl/numeric/int128_have_intrinsic.inc" +#else // ABSL_HAVE_INTRINSIC_INT128 +#include "absl/numeric/int128_no_intrinsic.inc" +#endif // ABSL_HAVE_INTRINSIC_INT128 + } // namespace absl #endif // ABSL_NUMERIC_INT128_H_ diff --git a/absl/numeric/int128_have_intrinsic.inc b/absl/numeric/int128_have_intrinsic.inc index bb6491e178abbcee2996319d5fad4daa32dbc513..49bde07678709bfbf92942ad2aeb43ff6624c08c 100644 --- a/absl/numeric/int128_have_intrinsic.inc +++ b/absl/numeric/int128_have_intrinsic.inc @@ -1,3 +1,3 @@ // This file will contain :int128 implementation details that depend on internal // representation when ABSL_HAVE_INTRINSIC_INT128 is defined. This file will be -// included by int128.h. \ No newline at end of file +// included by int128.h.