David, On Fri, Jan 27, 2017 at 12:51 PM, David Empson <demp...@emptech.co.nz> wrote: > >> On 27/01/2017, at 9:09 PM, Kim Gräsman <kim.gras...@gmail.com> wrote: >> >> On Thu, Jan 26, 2017 at 10:08 PM, David Empson <demp...@emptech.co.nz >> <mailto:demp...@emptech.co.nz>> wrote: >>> >>>> On 26/01/2017, at 8:46 PM, Clemens Ladisch <clem...@ladisch.de> wrote: >>>> >>>>> … >>>>> {"icu_load_collation", 2, SQLITE_UTF8, (void*)db, icuLoadCollation}, >>>>> }; >>> >>> The ANSI/ISO C 1990 standard states this in section 6.5.7, under >>> Constraints: >>> >>> “All the expressions in an initializer for an object that has static >>> storage duration or in an initializer list for an object that has aggregate >>> or union type shall be constant expressions.” >> >> But this object doesn't have static storage duration, does it? >> `scalars` is just a local variable in a function: >> https://sourcecodebrowser.com/sqlite3/3.6.21/icu_8c_source.html#l00449 >> <https://sourcecodebrowser.com/sqlite3/3.6.21/icu_8c_source.html#l00449> >> >> unless I'm looking at the wrong version. > > That version does have the text quoted above. > > The problem is that ANSI/ISO C 1990 stipulates that an initializer for any > object of aggregate type, whether or not it is static, must be constant.
Ah, misread the part about aggregate types in general. Sorry about the noise! - Kim _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users