File: attr_weak_lto.d

package info (click to toggle)
ldc 1%3A1.40.0-5
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 63,308 kB
  • sloc: cpp: 85,368; ansic: 21,877; makefile: 1,705; sh: 1,018; asm: 584; objc: 135; exp: 48; python: 12
file content (22 lines) | stat: -rw-r--r-- 680 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Test importing a @weak function with LTO

// REQUIRES: LTO

// RUN: %ldc -c %S/inputs/attr_weak_external_input.d -of=%t.external.thin%obj -flto=thin
// RUN: %ldc -I%S -of=%t.thin%exe -flto=thin %s %t.external.thin%obj
// RUN: %t.thin%exe

// RUN: %ldc -c %S/inputs/attr_weak_external_input.d -of=%t.external.full%obj -flto=full
// RUN: %ldc -I%S -of=%t.full%exe -flto=full %s %t.external.full%obj
// RUN: %t.full%exe

import inputs.attr_weak_external_input: weak_definition_seven;

// Forward declaration intentionally without `@weak`
extern(C) int weak_definition_four();

void main()
{
    assert(&weak_definition_four != null);
    assert(&weak_definition_seven != null);
}