Export of internal Abseil changes.
-- 906c47420646d510edd2479d5542c56f5fa31b65 by CJ Johnson <johnsoncj@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 216573923 -- 74560d4afd2b605909e677c6fc3076049fb3010a by Eric Fiselier <ericwf@google.com>: Avoid -Wformat-pedantic in benchmark. PiperOrigin-RevId: 216523769 -- 9bcc9da8b03e6d1ea43ee78931256c5541cb9686 by Eric Fiselier <ericwf@google.com>: Delete unused CityHash functions. PiperOrigin-RevId: 216464492 -- a42563b394c89fbb4c55cb5a6a5edbf96d271eea by Abseil Team <absl-team@google.com>: Introduce new Abseil interfaces for converting between civil times and absolute times.s Deprecates absl::ConvertDateTime() and absl::FromDateTime(). PiperOrigin-RevId: 216424948 -- 088e11235124267517d7f137854fa5554679c24f by Eric Fiselier <ericwf@google.com>: Remove unneeded break statements in test. PiperOrigin-RevId: 216403321 GitOrigin-RevId: 906c47420646d510edd2479d5542c56f5fa31b65 Change-Id: Idb44420be623e369c66f5a9c92bdc9ab46d3ec92
This commit is contained in:
parent
445998d7ac
commit
f340f773ed
24 changed files with 2675 additions and 2592 deletions
|
@ -605,35 +605,21 @@ TEST_F(ParsedFormatTest, RegressionMixPositional) {
|
|||
// Some codegen thunks that we can use to easily dump the generated assembly for
|
||||
// different StrFormat calls.
|
||||
|
||||
inline std::string CodegenAbslStrFormatInt(int i) {
|
||||
std::string CodegenAbslStrFormatInt(int i) { // NOLINT
|
||||
return absl::StrFormat("%d", i);
|
||||
}
|
||||
|
||||
inline std::string CodegenAbslStrFormatIntStringInt64(int i, const std::string& s,
|
||||
int64_t i64) {
|
||||
std::string CodegenAbslStrFormatIntStringInt64(int i, const std::string& s,
|
||||
int64_t i64) { // NOLINT
|
||||
return absl::StrFormat("%d %s %d", i, s, i64);
|
||||
}
|
||||
|
||||
inline void CodegenAbslStrAppendFormatInt(std::string* out, int i) {
|
||||
void CodegenAbslStrAppendFormatInt(std::string* out, int i) { // NOLINT
|
||||
absl::StrAppendFormat(out, "%d", i);
|
||||
}
|
||||
|
||||
inline void CodegenAbslStrAppendFormatIntStringInt64(std::string* out, int i,
|
||||
void CodegenAbslStrAppendFormatIntStringInt64(std::string* out, int i,
|
||||
const std::string& s,
|
||||
int64_t i64) {
|
||||
int64_t i64) { // NOLINT
|
||||
absl::StrAppendFormat(out, "%d %s %d", i, s, i64);
|
||||
}
|
||||
|
||||
auto absl_internal_str_format_force_codegen_funcs = std::make_tuple(
|
||||
CodegenAbslStrFormatInt, CodegenAbslStrFormatIntStringInt64,
|
||||
CodegenAbslStrAppendFormatInt, CodegenAbslStrAppendFormatIntStringInt64);
|
||||
|
||||
bool absl_internal_str_format_force_codegen_always_false;
|
||||
// Force the compiler to generate the functions by making it look like we
|
||||
// escape the function pointers.
|
||||
// It can't statically know that
|
||||
// absl_internal_str_format_force_codegen_always_false is not changed by someone
|
||||
// else.
|
||||
bool absl_internal_str_format_force_codegen =
|
||||
absl_internal_str_format_force_codegen_always_false &&
|
||||
printf("%p", &absl_internal_str_format_force_codegen_funcs) == 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue