[all-commits] [llvm/llvm-project] f38254: [clang-cl] Handle some pragma alloc_text corner ca...

Stephen Long via All-commits all-commits at lists.llvm.org
Wed Jun 29 06:46:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f382545b2ba8a39435f7efa02dadc722c429d2cd
      https://github.com/llvm/llvm-project/commit/f382545b2ba8a39435f7efa02dadc722c429d2cd
  Author: Stephen Long <steplong at quicinc.com>
  Date:   2022-06-29 (Wed, 29 Jun 2022)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/Sema/pragma-ms-alloc-text.c
    M clang/test/Sema/pragma-ms-alloc-text.cpp

  Log Message:
  -----------
  [clang-cl] Handle some pragma alloc_text corner cases handled by MSVC

MSVC's pragma alloc_text accepts a function that was redeclared in
a non extern-C context if the previous declaration was in an extern-C
context. i.e.

```
extern "C" { static void f(); }
static void f();
```

MSVC's pragma alloc_text also rejects non-functions.

Reviewed By: hans

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




More information about the All-commits mailing list