xref: /illumos-gate/usr/src/cmd/dtrace/test/tst/common/translators/tst.EmptyTransDecl.d (revision 2a295025ab352ac2f6469a947d5b5e2f9379f943)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 
22 /*
23  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 /*
28  * ASSERTION:
29  * Test the empty declaration of a translator
30  *
31  * SECTION: Translators/ Translator Declarations
32  * SECTION: Translators/ Translate Operator
33  *
34  */
35 
36 #pragma D option quiet
37 
38 struct input_struct {
39 	int i;
40 	char c;
41 } *uvar;
42 
43 struct output_struct {
44 	int myi;
45 	char myc;
46 };
47 
48 translator struct output_struct < struct input_struct uvar >
49 {
50 };
51 
52 struct input_struct in;
53 struct output_struct ou;
54 
55 BEGIN
56 {
57 	in.i = 10;
58 	in.c = 'c';
59 
60 	ou = xlate < struct output_struct > (in);
61 
62 	printf("ou.myi: %d\tou.myc: %c\n", ou.myi, ou.myc);
63 }
64 
65 BEGIN
66 /(0 != ou.myi) || (0 != ou.myc)/
67 {
68 	printf("Failed\n");
69 	exit(1);
70 }
71 
72 BEGIN
73 /(0 == ou.myi) || (0 == ou.myc)/
74 {
75 	printf("Passed\n");
76 	exit(0);
77 }
78