On 1/9/2018 1:50 PM, Richard Hipp wrote:
On 1/9/18, The Tick <the.t...@gmx.com> wrote:

Fossil 666fc089b8 compiles successfully although there are still a few
warnings for shell.c. Thank you.


What about the later 9a33a240 check-in.  Does it fix all the warnings for you?


Fossil 9a33a240 compiles >much< cleaner -- there are no warnings for shell.c

$ Fossil-9a33a240/fossil.exe version -v
  This is fossil version 2.5 [9a33a240a2] 2018-01-09 14:29:29 UTC
  Compiled on Jan  9 2018 13:44:57 using mingw32 (64-bit)
  Schema version 2015-01-24
  zlib 1.2.11, loaded 1.2.11
  hardened-SHA1 by Marc Stevens and Dan Shumow
  SSL (OpenSSL 1.1.0f  25 May 2017)
  FOSSIL_ENABLE_LEGACY_MV_RM
  FOSSIL_ENABLE_EXEC_REL_PATHS
  FOSSIL_ENABLE_TH1_DOCS
  FOSSIL_ENABLE_TH1_HOOKS
  TCL (Tcl 8.6.6, loaded TH_OK: 8.6.8)
  USE_TCL_STUBS
  FOSSIL_TCL_STUBS
  FOSSIL_ENABLE_TCL_PRIVATE_STUBS
  JSON (API 20120713)
  MBCS_COMMAND_LINE
  FOSSIL_STATIC_BUILD
  SQLite 3.22.0 2018-01-09 14:27:58 a7446d3217
  SQLITE_DEFAULT_FILE_FORMAT=4
  SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
  SQLITE_ENABLE_DBSTAT_VTAB
  SQLITE_ENABLE_FTS3_PARENTHESIS
  SQLITE_ENABLE_FTS4
  SQLITE_ENABLE_FTS5
  SQLITE_ENABLE_JSON1
  SQLITE_ENABLE_LOCKING_STYLE=0
  SQLITE_ENABLE_STMTVTAB
  SQLITE_LIKE_DOESNT_MATCH_BLOBS
  SQLITE_MAX_EXPR_DEPTH=0
  SQLITE_OMIT_DECLTYPE
  SQLITE_OMIT_DEPRECATED
  SQLITE_OMIT_GET_TABLE
  SQLITE_OMIT_LOAD_EXTENSION
  SQLITE_OMIT_PROGRESS_CALLBACK
  SQLITE_OMIT_SHARED_CACHE
  SQLITE_THREADSAFE=0
  SQLITE_USE_ALLOCA

The only warnings I get are:

gcc -Wall -Wdeclaration-after-statement -Os -Lsrc/../compat/zlib -Isrc/../compat/zlib -Lsrc/../compat/openssl-1.1.0f -Isrc/../compat/openssl-1.1.0f/include -Lsrc/../compat/Tcl8.6.6srcdir/win -Isrc/../compat/Tcl8.6.6srcdir/generic -Isrc/../compat/Tcl8.6.6srcdir/win -DBROKEN_MINGW_CMDLINE=1 -DFOSSIL_ENABLE_SSL=1 -DFOSSIL_ENABLE_EXEC_REL_PATHS=1 -DFOSSIL_ENABLE_LEGACY_MV_RM=1 -DFOSSIL_ENABLE_TH1_DOCS=1 -DFOSSIL_ENABLE_TH1_HOOKS=1 -DFOSSIL_ENABLE_TCL=1 -DFOSSIL_ENABLE_TCL_STUBS=1 -DUSE_TCL_STUBS -DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1 -DFOSSIL_ENABLE_JSON=1 -I. -Isrc -c src/cson_amalgamation.c -o wbld/cson_amalgamation.o
  src/cson_amalgamation.c: In function 'cson_str_to_json':
src/cson_amalgamation.c:3888:51: warning: '%04x' directive writing 4 bytes into a region of size between 3 and 5 [-Wformat-overflow=]
                       rc = sprintf(ubuf, "\\u%04x\\u%04x",
                                                     ^~~~
src/cson_amalgamation.c:3888:40: note: directive argument in the range [56320, 57343]
                       rc = sprintf(ubuf, "\\u%04x\\u%04x",
                                          ^~~~~~~~~~~~~~~~
src/cson_amalgamation.c:3888:24: note: 'sprintf' output between 13 and 15 bytes into a destination of size 13
                       rc = sprintf(ubuf, "\\u%04x\\u%04x",
                       ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    (0xd800 | (ch>>10)),
                                    ~~~~~~~~~~~~~~~~~~~~
                                    (0xdc00 | (ch & 0x3ff)));
                                    ~~~~~~~~~~~~~~~~~~~~~~~~


GCC has the following that can remove "bogus" warnings:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-overflow"

  :
  :

#pragma GCC diagnostic pop


I have no idea if other compilers have a method to avoid warning messages in particular circumstances.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to