From 845205f12d5aeb0275a59259b5c658104a7d9197 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Fri, 12 Jun 2020 12:13:12 -0400 Subject: userdata structures need to exist for lifetime of hooks. Apparently earlier compilers took our `const structs` and put them into const data for us so their lifetime was effectively equivalent to `static`. Some change/optimization in 11.4.1 has moved to that not being the case. Explicitly make the data structures `static`. --- Foundation/GTMSQLite.m | 8 ++++---- Foundation/GTMSQLiteTest.m | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'Foundation') diff --git a/Foundation/GTMSQLite.m b/Foundation/GTMSQLite.m index f5d25ba..46492d1 100644 --- a/Foundation/GTMSQLite.m +++ b/Foundation/GTMSQLite.m @@ -231,7 +231,7 @@ static CFLocaleRef gCurrentLocale = NULL; int rc = SQLITE_OK; // Install our custom functions for improved text handling // UPPER/LOWER - const struct { + static const struct { const char *sqlName; UpperLowerUserArgs userArgs; void *function; @@ -263,7 +263,7 @@ static CFLocaleRef gCurrentLocale = NULL; } // Fixed collation sequences - const struct { + static const struct { const char *sqlName; CollateUserArgs userArgs; void *function; @@ -288,7 +288,7 @@ static CFLocaleRef gCurrentLocale = NULL; } // Install handler for dynamic collation sequences - const struct { + static const struct { const char *sqlName; int numArgs; int textRep; @@ -335,7 +335,7 @@ static CFLocaleRef gCurrentLocale = NULL; } // Start GLOB just non-literal but case-sensitive (same as SQLite defaults) - const struct { + static const struct { const char *sqlName; int textRep; void *function; diff --git a/Foundation/GTMSQLiteTest.m b/Foundation/GTMSQLiteTest.m index adf687c..dda204d 100644 --- a/Foundation/GTMSQLiteTest.m +++ b/Foundation/GTMSQLiteTest.m @@ -425,7 +425,7 @@ static void TestUpperLower16Impl(sqlite3_context *context, errorCode:&err] autorelease]; - const struct { + static const struct { const char *sqlName; UpperLowerUserArgs userArgs; void *function; -- cgit v1.2.3