mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
As defined in LangRef, aliases do not have sections. However, LLVM's GlobalAlias class inherits from GlobalValue, which means we can read and set its section. We should probably ban that as a separate change, since it doesn't make much sense for an alias to have a section that differs from its aliasee. Fixes PR18757, where the section was being lost on the global in code from Clang like: extern "C" { __attribute__((used, section("CUSTOM"))) static int in_custom_section; } Reviewers: rafael.espindola Differential Revision: http://llvm-reviews.chandlerc.com/D2758 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201286 91177308-0d34-0410-b5e6-96231b3b80d8
9 lines
376 B
LLVM
9 lines
376 B
LLVM
; RUN: opt -S -globalopt < %s | FileCheck %s
|
|
|
|
@_Z17in_custom_section = internal global i8 42, section "CUSTOM"
|
|
@in_custom_section = protected dllexport alias internal i8* @_Z17in_custom_section
|
|
|
|
; CHECK: @in_custom_section = internal protected dllexport global i8 42, section "CUSTOM"
|
|
|
|
@llvm.used = appending global [1 x i8*] [i8* @in_custom_section], section "llvm.metadata"
|