ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium/*
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium *
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * This code is free software; you can redistribute it and/or modify it
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * under the terms of the GNU General Public License version 2 only, as
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * published by the Free Software Foundation.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium *
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * This code is distributed in the hope that it will be useful, but WITHOUT
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d1d80aa282938c61786ad1655ca26d9342a6fd3daurium * version 2 for more details (a copy is included in the LICENSE file that
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * accompanied this code).
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium *
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * You should have received a copy of the GNU General Public License version
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * 2 along with this work; if not, write to the Free Software Foundation,
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium *
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * or visit www.oracle.com if you need additional information or have any
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * questions.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium */
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium/*
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @test
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @bug 4022932
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @summary NegativeArraySizeException should not be optimized away.
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @author turnidge
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium *
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @compile IllegallyOptimizedException.java
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium * @run main IllegallyOptimizedException
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium */
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34auriumpublic class IllegallyOptimizedException {
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium static int i = 0;
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium public static void main (String argv[]) {
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium try{
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium int m[] = new int[-2];
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium }
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium catch(NegativeArraySizeException n) { i = 1;}
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium if (i != 1) {
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium throw new Error();
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium }
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium }
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium}
ab0e73f2e0afb240fc4be439c7c6de26d4f05f34aurium