[all-commits] [llvm/llvm-project] 9cf98d: PR46637: Fix handling of placeholder types in trai...

Richard Smith via All-commits all-commits at lists.llvm.org
Tue Jul 28 15:54:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9cf98d26e7b1204478cc13ae3df44a6843965c11
      https://github.com/llvm/llvm-project/commit/9cf98d26e7b1204478cc13ae3df44a6843965c11
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-07-28 (Tue, 28 Jul 2020)

  Changed paths:
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/auto-type-from-cxx.cpp
    M clang/test/SemaCXX/cxx1y-deduced-return-type.cpp
    M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
    M clang/test/SemaCXX/trailing-return-0x.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp

  Log Message:
  -----------
  PR46637: Fix handling of placeholder types in trailing-return-types.

Only permit a placeholder type in a trailing-return-type if it would
also have been permitted in the decl-specifier sequence of a
corresponding declaration with no trailing-return-type. The standard
doesn't actually say this, but this is the only thing that makes sense.

Also fix handling of an 'auto' in a trailing-return-type in a parameter
of a generic lambda. We used to crash if we saw such a thing.




More information about the All-commits mailing list