Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1243008

compiler strangely complains about certain array dimensions

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P3
    • None
    • unknown
    • tools
    • sparc
    • solaris_2.4

    Description

      Following test case uses array of doubles with length 65.
      When compiled with javac , compiler gives following error messages.

      The strange thing to notice is, the compiler compiles the testcase if I change
      the array dimension to 93 or 96. But it does not like arrays of length 94 and 95.

      $ javac t95.java
      t95.java:6: Statement not reached.
      for ( int i=0; i < arr.length; i++ ) {
      ^
      t95.java:7: Variable max_value may not have been initialized.
      if ( arr[i] > max_value )
                    ^
      t95.java:8: Statement not reached.
      max_value = arr[i] ;
      ^
      t95.java:10: Variable max_value may not have been initialized.
      return max_value ;
             ^
      4 errors

      $ cat t95.java
      // test for arrays of double and function calls that return double
      public class t95 {
      public static double max ( double val0, double val1, double val2, double val3, double val4, double val5, double val6, double val7, double val8, double val9, double val10, double val11, double val12, double val13, double val14, double val15, double val16, double val17, double val18, double val19, double val20, double val21, double val22, double val23, double val24, double val25, double val26, double val27, double val28, double val29, double val30, double val31, double val32, double val33, double val34, double val35, double val36, double val37, double val38, double val39, double val40, double val41, double val42, double val43, double val44, double val45, double val46, double val47, double val48, double val49, double val50, double val51, double val52, double val53, double val54, double val55, double val56, double val57, double val58, double val59, double val60, double val61, double val62, double val63, double val64, double val65, double val66, double val67, double val68, double val69, double val70, double val71, double val72, double val73, double val74, double val75, double val76, double val77, double val78, double val79, double val80, double val81, double val82, double val83, double val84, double val85, double val86, double val87, double val88, double val89, double val90, double val91, double val92, double val93 , double val94) {
      double arr[] = { val0, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12, val13, val14, val15, val16, val17, val18, val19, val20, val21, val22, val23, val24, val25, val26, val27, val28, val29, val30, val31, val32, val33, val34, val35, val36, val37, val38, val39, val40, val41, val42, val43, val44, val45, val46, val47, val48, val49, val50, val51, val52, val53, val54, val55, val56, val57, val58, val59, val60, val61, val62, val63, val64, val65, val66, val67, val68, val69, val70, val71, val72, val73, val74, val75, val76, val77, val78, val79, val80, val81, val82, val83, val84, val85, val86, val87, val88, val89, val90, val91, val92, val93 , val94} ;
      double max_value = arr[0] ;
      for ( int i=0; i < arr.length; i++ ) {
      if ( arr[i] > max_value )
      max_value = arr[i] ;
      }
      return max_value ;
      }

      public static void main(String argv[]) {
      double arr [] = { 0.0182753, 0.805326, 0.132989, 0.69735, 0.917442, 0.367528, 0.330729, 0.944153, 0.751429, 0.176508, 0.475757, 0.747609, 0.104801, 0.808441, 0.0816012, 0.159014, 0.475771, 0.47908, 0.481501, 0.0201901, 0.994218, 0.210765, 0.0618297, 0.697163, 0.968381, 0.446269, 0.201158, 0.6689, 0.57663, 0.488393, 0.356341, 0.474987, 0.270728, 0.394203, 0.98705, 0.776159, 0.706984, 0.202836, 0.26015, 0.531595, 0.271704, 0.625756, 0.72533, 0.546878, 0.517354, 0.57839, 0.40339, 0.896523, 0.0758229, 0.182036, 0.978597, 0.974995, 0.865217, 0.114953, 0.0365034, 0.180098, 0.656569, 0.441541, 0.538657, 0.482667, 0.316881, 0.298513, 0.975579, 0.386452, 0.294905, 0.0669681, 0.889445, 0.0321115, 0.166066, 0.909277, 0.707855, 0.449205, 0.302935, 0.799674, 0.0801047, 0.210117, 0.987653, 0.427469, 0.157374, 0.98979, 0.532724, 0.601796, 0.508218, 0.785197, 0.226574, 0.0367752, 0.610794, 0.798442, 0.170276, 0.646032, 0.113199, 0.237406, 0.321871, 0.725448 , 0.1 } ;

      System.out.println("Unsorted arr:");
      for (int i=0; i<arr.length; i++)
      System.out.print(arr[i] + " ");
      System.out.println();
      double max_value = max ( 0.0182753, 0.805326, 0.132989, 0.69735, 0.917442, 0.367528, 0.330729, 0.944153, 0.751429, 0.176508, 0.475757, 0.747609, 0.104801, 0.808441, 0.0816012, 0.159014, 0.475771, 0.47908, 0.481501, 0.0201901, 0.994218, 0.210765, 0.0618297, 0.697163, 0.968381, 0.446269, 0.201158, 0.6689, 0.57663, 0.488393, 0.356341, 0.474987, 0.270728, 0.394203, 0.98705, 0.776159, 0.706984, 0.202836, 0.26015, 0.531595, 0.271704, 0.625756, 0.72533, 0.546878, 0.517354, 0.57839, 0.40339, 0.896523, 0.0758229, 0.182036, 0.978597, 0.974995, 0.865217, 0.114953, 0.0365034, 0.180098, 0.656569, 0.441541, 0.538657, 0.482667, 0.316881, 0.298513, 0.975579, 0.386452, 0.294905, 0.0669681, 0.889445, 0.0321115, 0.166066, 0.909277, 0.707855, 0.449205, 0.302935, 0.799674, 0.0801047, 0.210117, 0.987653, 0.427469, 0.157374, 0.98979, 0.532724, 0.601796, 0.508218, 0.785197, 0.226574, 0.0367752, 0.610794, 0.798442, 0.170276, 0.646032, 0.113199, 0.237406, 0.321871, 0.725448 , 0.1) ;
      System.out.println("max value=" + max_value);
      }
      }

      Attachments

        Issue Links

          Activity

            People

              fyellinsunw Frank Yellin (Inactive)
              duke J. Duke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: