aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java')
-rw-r--r--gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java b/gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java
new file mode 100644
index 000000000..f9e95b635
--- /dev/null
+++ b/gcc-4.4.0/libjava/testsuite/libjava.lang/err5.java
@@ -0,0 +1,35 @@
+/*--------------------------------------------------------------------------*/
+/* file_name : err5.java */
+/* : */
+/* Cause : Evaluation order of method argument is not correct. */
+/* : */
+/* Message : NG */
+/* : a:[1]-->[2] */
+/* : b:[3]-->[3] */
+/* : c:[2]-->[2] */
+/* : */
+/* Note : JLS 15.6 Evaluation Order */
+/* S15.6.4 Argument Lists are Evaluated Left-to-Right(p309) */
+/* [Each argument expression appears to be fully evaluated */
+/* before any part of any argument expression to its right.] */
+/*--------------------------------------------------------------------------*/
+
+public class err5 {
+ public static void main(String[] args) {
+ int x = 1;
+
+ err5 obj = new err5();
+ obj.print(x, x = 3, x = 2);
+ }
+
+ void print(int a, int b, int c) {
+ if ( a == 1 && b == 3 && c == 2 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG");
+ System.out.println("a:[1]-->["+a+"]");
+ System.out.println("b:[3]-->["+b+"]");
+ System.out.println("c:[2]-->["+c+"]");
+ }
+ }
+}