File: export_marked_symbols1.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 (24 lines) | stat: -rw-r--r-- 868 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
23
24
// Tests -fvisibility={default,hidden} for function definitions and
// (non-extern) globals on non-Windows targets.

// UNSUPPORTED: Windows

// RUN: %ldc %s -betterC -shared -fvisibility=default -of=lib%t_default%so
// RUN: nm -g lib%t_default%so | FileCheck -check-prefix=DEFAULT %s

// RUN: %ldc %s -betterC -shared -fvisibility=hidden -of=lib%t_hidden%so
// RUN: nm -g lib%t_hidden%so | FileCheck -check-prefix=HIDDEN %s

extern(C) export int test__exportedFun() { return 42; }
// DEFAULT: test__exportedFun
// HIDDEN: test__exportedFun
extern(C) export int test__exportedVar;
// DEFAULT: test__exportedVar
// HIDDEN: test__exportedVar

extern(C) int test__nonExportedFun() { return 101; }
// DEFAULT: test__nonExportedFun
// HIDDEN-NOT: test__nonExportedFun
extern(C) int test__nonExportedVar;
// DEFAULT: test__nonExportedVar
// HIDDEN-NOT: test__nonExportedVar