[all-commits] [llvm/llvm-project] b2b993: [pseudo] Eliminate multiple-specified-types ambigu...

Sam McCall via All-commits all-commits at lists.llvm.org
Mon Jul 25 03:57:54 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b2b993a6ae675955b1112473c035ae6b4e3932a0
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2022-07-25 (Mon, 25 Jul 2022)

  Changed paths:
    M clang-tools-extra/pseudo/lib/cxx/CXX.cpp
    M clang-tools-extra/pseudo/lib/cxx/cxx.bnf
    A clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
    M clang-tools-extra/pseudo/test/fuzzer.cpp

  Log Message:
  [pseudo] Eliminate multiple-specified-types ambiguities using guards

Motivating case: `foo bar;` is not a declaration of nothing with `foo` and `bar`
both types.

This is a common and critical ambiguity, clangd/AST.cpp has 20% fewer
ambiguous nodes (1674->1332) after this change.

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

More information about the All-commits mailing list