From 46595e390555adf63a6d2e6c6476c4bdd2172cf2 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Tue, 18 Aug 2020 19:36:56 +0000 Subject: Issue #457 - Silence SQLite compiler warning Our use of SQLite explicitly avoids using MSVC's _msize which the lib would notrmally use. This was set up this way in BZ bug 719579 for legitimate reasons (because _msize would end up using the system symbol, which would crash trying to get the size information from jemalloc allocations). Since we build the SQLite lib separately there is no easy way to avoid this warning as it's not directly linked against mozglue.dll which has the jemalloc functions it wants for _msize when not using the system allocator. It is implicitly assuming the function is an extern returning an int (with the call specifically casting to int) which is correct (well, correct _enough_, anyway) so the warning can safely be ignored for our specific use as it all lines up at link time. --- db/sqlite3/src/moz.build | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'db') diff --git a/db/sqlite3/src/moz.build b/db/sqlite3/src/moz.build index eba8633b59..09a02206a5 100644 --- a/db/sqlite3/src/moz.build +++ b/db/sqlite3/src/moz.build @@ -65,9 +65,13 @@ if CONFIG['MOZ_DEBUG']: # Force using malloc_usable_size when building with jemalloc because _msize # causes assertions on Win64. See bug 719579. +# This causes a known warning due to the way mozjemalloc is linked and the +# malloc_usable_size function not being available at compile time on MSVC +# so we suppress that particular warning (C4013) if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['MOZ_MEMORY']: DEFINES['HAVE_MALLOC_USABLE_SIZE'] = True DEFINES['SQLITE_WITHOUT_MSIZE'] = True + CFLAGS += ['-wd4013'] # Omit unused functions to save some library footprint. DEFINES['SQLITE_OMIT_DEPRECATED'] = True -- cgit v1.2.3