[all-commits] [llvm/llvm-project] 4a983b: [MC][DWARF] Corrected handling of is_stmt flag in ...

dpreobra via All-commits all-commits at lists.llvm.org
Mon Apr 20 04:00:24 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a983b25bf224b47cd56a53a5f4cbe139dc7a648
      https://github.com/llvm/llvm-project/commit/4a983b25bf224b47cd56a53a5f4cbe139dc7a648
  Author: Dmitry Preobrazhensky <dmitry.preobrazhensky at amd.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    A llvm/test/MC/AsmParser/directive_loc_2.s

  Log Message:
  -----------
  [MC][DWARF] Corrected handling of is_stmt flag in .loc directives

According to DWARF standard, is_stmt is a global flag; when set or cleared it should affect subsequent .loc directives.

However llvm assembler handled is_stmt differently: it forced all locations to have is_stmt=1 unless is_stmt was specified explicitly as 0.

The fix utilizes current DWARF state flags to compute correct is_stmt values.

See https://bugs.llvm.org/show_bug.cgi?id=45529 for a detailed issue description.

Reviewers: arsenm, probinson, enderby

Differential Revision: https://reviews.llvm.org/D78102




More information about the All-commits mailing list