# git rev-parse -q --verify 194dc870a5890e855ecffb30f3b80ba7c88f96d6^{commit} 194dc870a5890e855ecffb30f3b80ba7c88f96d6 already have revision, skipping fetch # git checkout -q -f -B kisskb 194dc870a5890e855ecffb30f3b80ba7c88f96d6 # git clean -qxdf # git log -1 commit 194dc870a5890e855ecffb30f3b80ba7c88f96d6 Author: Linus Torvalds Date: Wed Jul 27 20:03:31 2016 -0700 Add braces to avoid "ambiguous ‘else’" compiler warnings Some of our "for_each_xyz()" macro constructs make gcc unhappy about lack of braces around if-statements inside or outside the loop, because the loop construct itself has a "if-then-else" statement inside of it. The resulting warnings look something like this: drivers/gpu/drm/i915/i915_debugfs.c: In function ‘i915_dump_lrc’: drivers/gpu/drm/i915/i915_debugfs.c:2103:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses] if (ctx != dev_priv->kernel_context) ^ even if the code itself is fine. Since the warning is fairly easy to avoid by adding a braces around the if-statement near the for_each_xyz() construct, do so, rather than disabling the otherwise potentially useful warning. (The if-then-else statements used in the "for_each_xyz()" constructs are designed to be inherently safe even with no braces, but in this case it's quite understandable that gcc isn't really able to tell that). This finally leaves the standard "allmodconfig" build with just a handful of remaining warnings, so new and valid warnings hopefully will stand out. Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc --version # < git log --format=%s --max-count=1 194dc870a5890e855ecffb30f3b80ba7c88f96d6 # < make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_arm-randconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- randconfig KCONFIG_SEED=0x741E57A0 # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # yes \n | make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_arm-randconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- oldconfig yes: standard output: Broken pipe yes: write error # make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_arm-randconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- make[1]: Entering directory '/home/kisskb/slave/build/linus_arm-randconfig_arm' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler /home/kisskb/slave/src/Makefile:1056: recipe for target 'prepare-compiler-check' failed make[1]: *** [prepare-compiler-check] Error 1 make[1]: *** Waiting for unfinished jobs.... UPD include/config/kernel.release make[1]: *** wait: No child processes. Stop. Makefile:150: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=arm O=/home/kisskb/slave/build/linus_arm-randconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_arm-randconfig_arm # Build took: 0:00:03.597148