• Nick Desaulniers's avatar
    perf diff: Fix undefined string comparision spotted by clang's -Wstring-compare · cfd3bc75
    Nick Desaulniers authored
    clang warns:
    
      util/block-info.c:298:18: error: result of comparison against a string
      literal is unspecified (use an explicit string comparison function
      instead) [-Werror,-Wstring-compare]
              if ((start_line != SRCLINE_UNKNOWN) && (end_line != SRCLINE_UNKNOWN)) {
                              ^  ~~~~~~~~~~~~~~~
      util/block-info.c:298:51: error: result of comparison against a string
      literal is unspecified (use an explicit string comparison function
      instead) [-Werror,-Wstring-compare]
              if ((start_line != SRCLINE_UNKNOWN) && (end_line != SRCLINE_UNKNOWN)) {
                                                               ^  ~~~~~~~~~~~~~~~
      util/block-info.c:298:18: error: result of comparison against a string
      literal is unspecified (use an explicit string
      comparison function instead) [-Werror,-Wstring-compare]
              if ((start_line != SRCLINE_UNKNOWN) && (end_line != SRCLINE_UNKNOWN)) {
                              ^  ~~~~~~~~~~~~~~~
      util/block-info.c:298:51: error: result of comparison against a string
      literal is unspecified (use an explicit string comparison function
      instead) [-Werror,-Wstring-compare]
              if ((start_line != SRCLINE_UNKNOWN) && (end_line != SRCLINE_UNKNOWN)) {
                                                               ^  ~~~~~~~~~~~~~~~
      util/map.c:434:15: error: result of comparison against a string literal
      is unspecified (use an explicit string comparison function instead)
      [-Werror,-Wstring-compare]
                      if (srcline != SRCLINE_UNKNOWN)
                                  ^  ~~~~~~~~~~~~~~~
    
    Reviewer Notes:
    
    Looks good to me. Some more context:
    https://clang.llvm.org/docs/DiagnosticsReference.html#wstring-compare
    The spec says:
    J.1 Unspecified behavior
    The following are unspecified:
    .. Whether two string literals result in distinct arrays (6.4.5).
    Signed-off-by: default avatarNick Desaulniers <nick.desaulniers@gmail.com>
    Reviewed-by: default avatarIan Rogers <irogers@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Changbin Du <changbin.du@intel.com>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Keeping <john@metanate.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Song Liu <songliubraving@fb.com>
    Cc: clang-built-linux@googlegroups.com
    Link: https://github.com/ClangBuiltLinux/linux/issues/900
    Link: http://lore.kernel.org/lkml/20200223193456.25291-1-nick.desaulniers@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    cfd3bc75
block-info.c 11.9 KB