New issue
Advanced search Search tips

Issue 593057 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

ClangToTLinux(dbg) bot compile broken in harfbuzz

Project Member Reported by thakis@chromium.org, Mar 8 2016

Issue description

https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinux%20%28dbg%29/builds/2857/steps/compile/logs/stdio

Probably triggered by changes to [[clang::fallthrough]] here: http://llvm.org/viewvc/llvm-project?rev=262881&view=rev


FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-shape-complex-indic.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=262929 -DCOMPONENT_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN -DHB_NO_MT -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../../third_party/harfbuzz-ng/src -I../../third_party/icu/source/common -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -pipe -fPIC -fcolor-diagnostics -B/b/build/slave/ClangToTLinux__dbg_/build/src/third_party/binutils/Linux_x64/Release/bin -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-unused-value -Wno-unused-local-typedef -Wno-unused-variable -I/b/build/slave/ClangToTLinux__dbg_/build/src/build/linux/debian_wheezy_amd64-sysroot/usr/include/freetype2 -pthread -I/b/build/slave/ClangToTLinux__dbg_/build/src/build/linux/debian_wheezy_amd64-sysroot/usr/include/glib-2.0 -I/b/build/slave/ClangToTLinux__dbg_/build/src/build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -m64 -march=x86-64 --sysroot=/b/build/slave/ClangToTLinux__dbg_/build/src/build/linux/debian_wheezy_amd64-sysroot -O0 -g -funwind-tables -gsplit-dwarf -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-deprecated  -c ../../third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc -o obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-shape-complex-indic.o
../../third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc:747:2: error: fallthrough annotation in unreachable code [-Werror,-Wimplicit-fallthrough]
        HB_FALLTHROUGH;
        ^
../../third_party/harfbuzz-ng/src/hb-private.hh:140:26: note: expanded from macro 'HB_FALLTHROUGH'
#  define HB_FALLTHROUGH [[clang::fallthrough]]
                         ^


Behdad, is this easy to fix on the harfbuzz side?
 
Sounds like this warning being enabled by default is considered a bug, so maybe you don't need to do anything here.
The code in question is this:

      default:
        assert (false);
        HB_FALLTHROUGH;

      case BASE_POS_LAST:

We added HB_FALLTHROUGH, to fix warnings clang was producing in Firefox.  Now it's complaining that if assert() is not disabled, this code is unreachable.  The default is there to silence gcc warnings that I personally like to enable to begin with.  This whole game of chasing clang warning fixes is becoming quite frustrating...

I removed the whole default section upstream.

Comment 3 by behdad@chromium.org, Mar 17 2016

Owner: drott@chromium.org
This is fixed in harfbuzz-1.2.4 which I just released.  Assigning to drott@ to do the roll some time.

Comment 4 by thakis@chromium.org, Mar 21 2016

Oh sorry, I failed to follow-up here. The clang warning was tamed in clang r263138 (as hinted at in comment 1), so there's nothing to do for harfbuzz here. If you want, you can undo whatever you did.
Status: WontFix (was: Untriaged)
(see comment 4)

Sign in to add a comment