[all-commits] [llvm/llvm-project] 7eee2a: [IR] Don't allow DLL storage-class and local linkage

bd1976bris via All-commits all-commits at lists.llvm.org
Thu Sep 29 16:26:23 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7eee2a2d4401813cd485ae708e8cb0f94469e037
      https://github.com/llvm/llvm-project/commit/7eee2a2d4401813cd485ae708e8cb0f94469e037
  Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
  Date:   2022-09-30 (Fri, 30 Sep 2022)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    A llvm/test/Assembler/dll-storage-class-local-linkage.ll
    M llvm/test/Transforms/GlobalOpt/alias-used-section.ll

  Log Message:
  -----------
  [IR] Don't allow DLL storage-class and local linkage

Disallow this meaningless combination. Doing so simplifies analysis
of LLVM code w.r.t t DLL storage-class, and prevents mistakes with
DLL storage class.

- Change the assembler to reject DLL storage class on symbols with
  local linkage.
- Change the bitcode reader to clear the DLL Storage class when the
  linkage is local for auto-upgrading
- Update LangRef.

There is an existing restriction on non-default visibility and local
linkage which this is modelled on.

Differential Review: https://reviews.llvm.org/D134784




More information about the All-commits mailing list