[all-commits] [llvm/llvm-project] 98322d: Complete the implementation of P2361 Unevaluated s...

cor3ntin via All-commits all-commits at lists.llvm.org
Tue Aug 15 05:13:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98322d3eb43168a6a64c1a15a1e754e15c04aa2f
      https://github.com/llvm/llvm-project/commit/98322d3eb43168a6a64c1a15a1e754e15c04aa2f
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2023-08-15 (Tue, 15 Aug 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Parser/MicrosoftExtensions.cpp
    M clang/test/Parser/c2x-attributes.c
    M clang/test/Parser/cxx-attributes.cpp
    M clang/test/Parser/cxx0x-attributes.cpp
    M clang/test/Sema/MicrosoftExtensions.c
    M clang/test/Sema/annotate-type.c
    M clang/test/Sema/annotate.c
    M clang/test/Sema/attr-assume.c
    M clang/test/Sema/attr-btf_tag.c
    M clang/test/Sema/attr-btf_type_tag.c
    M clang/test/Sema/attr-capabilities.c
    M clang/test/Sema/attr-enforce-tcb-errors.cpp
    M clang/test/Sema/attr-enforce-tcb-errors.m
    M clang/test/Sema/attr-error.c
    M clang/test/Sema/attr-handles.cpp
    M clang/test/Sema/attr-section.c
    M clang/test/Sema/attr-tls_model.c
    M clang/test/Sema/attr-unavailable-message.c
    M clang/test/Sema/attr-warning.c
    M clang/test/Sema/diagnose_if.c
    M clang/test/Sema/enable_if.c
    M clang/test/SemaCXX/attr-deprecated-replacement-error.cpp
    M clang/test/SemaCXX/attr-no-sanitize.cpp
    M clang/test/SemaCXX/attr-section.cpp
    M clang/test/SemaCXX/attr-weakref.cpp
    M clang/test/SemaCXX/suppress.cpp
    M clang/test/SemaObjC/attr-swift_bridge.m
    M clang/test/SemaObjC/objc-asm-attribute-neg-test.m
    M clang/test/SemaObjC/validate-attr-swift_attr.m
    M clang/test/SemaTemplate/attributes.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Complete the implementation of P2361 Unevaluated string literals

The attributes changes were left out of Clang 17.
Attributes that used to take a string literal now accept an unevaluated
string literal instead, which means they reject numeric escape sequences
and strings literal with an encoding prefix - but the later was already
ill-formed in most cases.

We need to know that we are going to parse an unevaluated string literal
before we do - so we can reject numeric escape sequence,
so we derive from Attrs.td which attributes parameters are expected
to be string literals.

Reviewed By: aaron.ballman

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




More information about the All-commits mailing list