File: export_marked_symbols_thin_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 (18 lines) | stat: -rw-r--r-- 500 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Tests that mismatching symbol visibilities between declarations and definitions
// work with thin LTO.

// REQUIRES: LTO

// RUN: %ldc %S/inputs/export_marked_symbols_lib.d -c -fvisibility=hidden -flto=thin -of=%t_lib%obj
// RUN: %ldc %s -I%S/inputs -flto=thin -of=%t%exe %t_lib%obj

import export_marked_symbols_lib;

void main()
{
    exportedGlobal = 1;
    normalGlobal = 2; // declared in this module with default visibility, defined as hidden

    exportedFoo();
    normalFoo(); // ditto
}