Nautilus does not compile with clang because of a warning
Steps to reproduce
- Build nautilus with clang.
Reproducible in:
- git master branch.
Current behavior
[139/224] Compiling C object 'src/25a6634@@nautilus@sta/nautilus-file.c.o'.
FAILED: src/25a6634@@nautilus@sta/nautilus-file.c.o
clang -B/usr/local/bin -Isrc/25a6634@@nautilus@sta -Isrc -I../../source/nautilus/src -I. -I../../source/nautilus/ -Ilibnautilus-extension -I../../source/nautilus/libnautilus-extension -Isubprojects/libgd -I../../source/nautilus/subprojects/libgd -I/home/lantw44/gnome/devinstall/include/glib-2.0 -I/home/lantw44/gnome/devinstall/lib/glib-2.0/include -I/home/lantw44/gnome/devinstall/include/gtk-3.0 -I/home/lantw44/gnome/devinstall/include/pango-1.0 -I/usr/local/lib/libffi-3.2.1/include -I/home/lantw44/gnome/devinstall/include/fribidi -I/home/lantw44/gnome/devinstall/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/home/lantw44/gnome/devinstall/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/libdrm -I/home/lantw44/gnome/devinstall/include/gdk-pixbuf-2.0 -I/home/lantw44/gnome/devinstall/include/gio-unix-2.0 -I/home/lantw44/gnome/devinstall/include/atk-1.0 -I/home/lantw44/gnome/devinstall/include/at-spi2-atk/2.0 -I/home/lantw44/gnome/devinstall/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/home/lantw44/gnome/devinstall/include/gnome-autoar-0 -I/home/lantw44/gnome/devinstall/include/gsettings-desktop-schemas -I/home/lantw44/gnome/devinstall/include/tracker-2.0 -I/home/lantw44/gnome/devinstall/include/tracker-2.0/libtracker-sparql -I/usr/local/include/libxml2 -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -O2 -g -Wall -Werror=declaration-after-statement -Werror=empty-body -Werror=format=2 -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -Werror=sequence-point -Werror=shadow -Werror=strict-prototypes -Werror=undef -Werror=uninitialized -D_GNU_SOURCE -march=corei7-avx -B/usr/local/bin -g -O3 -gz -fPIC -pthread -DLIBGD_GTK_HACKS=1 -DLIBGD__VIEW_COMMON=1 -DLIBGD_MAIN_ICON_VIEW=1 -DLIBGD_MAIN_LIST_VIEW=1 -DLIBGD_MAIN_VIEW=1 -DLIBGD_TAGGED_ENTRY=1 -D_THREAD_SAFE -MD -MQ 'src/25a6634@@nautilus@sta/nautilus-file.c.o' -MF 'src/25a6634@@nautilus@sta/nautilus-file.c.o.d' -o 'src/25a6634@@nautilus@sta/nautilus-file.c.o' -c ../../source/nautilus/src/nautilus-file.c
../../source/nautilus/src/nautilus-file.c:8853:18: error: variable 'retval' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
else if (is_search)
^~~~~~~~~
../../source/nautilus/src/nautilus-file.c:8874:12: note: uninitialized use occurs here
return retval;
^~~~~~
../../source/nautilus/src/nautilus-file.c:8853:14: note: remove the 'if' if its condition is always true
else if (is_search)
^~~~~~~~~~~~~~
../../source/nautilus/src/nautilus-file.c:8833:5: note: variable 'retval' is declared here
NautilusFileSortType retval;
^
../../source/nautilus/src/nautilus-file.c:9233:5: warning: 'g_type_class_add_private' is deprecated [-Wdeprecated-declarations]
g_type_class_add_private (class, sizeof (NautilusFileDetails));
^
/home/lantw44/gnome/devinstall/include/glib-2.0/gobject/gtype.h:1302:1: note: 'g_type_class_add_private' has been explicitly marked deprecated here
GLIB_DEPRECATED_IN_2_58
^
/home/lantw44/gnome/devinstall/include/glib-2.0/glib/gversionmacros.h:534:49: note: expanded from macro 'GLIB_DEPRECATED_IN_2_58'
# define GLIB_DEPRECATED_IN_2_58 GLIB_DEPRECATED
^
/home/lantw44/gnome/devinstall/include/glib-2.0/glib/gmacros.h:481:25: note: expanded from macro 'GLIB_DEPRECATED'
#define GLIB_DEPRECATED G_DEPRECATED _GLIB_EXTERN
^
/home/lantw44/gnome/devinstall/include/glib-2.0/glib/gmacros.h:443:37: note: expanded from macro 'G_DEPRECATED'
#define G_DEPRECATED __attribute__((__deprecated__))
^
1 warning and 1 error generated.
[144/224] Compiling C object 'src/25a6634@@nautilus@sta/nautilus-file-operations.c.o'.
../../source/nautilus/src/nautilus-file-operations.c:733:36: warning: invalid conversion specifier ''' [-Wformat-invalid-specifier]
if (sscanf (tag, _(" (%'d"), count) == 1)
~~~^
/home/lantw44/gnome/devinstall/include/glib-2.0/glib/gi18n.h:26:29: note: expanded from macro '_'
#define _(String) gettext (String)
^
1 warning generated.
ninja: build stopped: subcommand failed.
Expected behavior
There should be no Werror warnings which fail to build.
Additional information
This is Clang 6.0.0 on FreeBSD 11.2.