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.
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.
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]
23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #pragma ident "%Z%%M% %I% %E% SMI"
31 * Verify increment/decrement operator using pointers
33 * SECTION: Types, Operators, and Expressions/Increment and Decrement Operators
37 #pragma D option quiet
42 ptr_orig = &`kmem_flags;
43 ptr_pos = &`kmem_flags+1;
44 ptr_neg = &`kmem_flags-1;
46 ptr_pos_before = ++ptr_orig;
47 ptr_orig = &`kmem_flags;
48 ptr_neg_before = --ptr_orig;
50 ptr_orig = &`kmem_flags;
51 ptr_pos_after = ptr_orig++;
52 ptr_orig = &`kmem_flags;
53 ptr_neg_after = ptr_orig--;
54 ptr_orig = &`kmem_flags;
59 /ptr_pos_before == ptr_pos && ptr_neg_before == ptr_neg &&
60 ptr_pos_after == ptr_orig && ptr_pos_after == ptr_orig/
67 /ptr_pos_before != ptr_pos || ptr_neg_before != ptr_neg ||
68 ptr_pos_after != ptr_orig || ptr_pos_after != ptr_orig/