Index: IntegerProgramming/IP_algorithms.cc
===================================================================
--- IntegerProgramming/IP_algorithms.cc	(revision d375c5079da5763797fc505eb2996c7792ff9375)
+++ IntegerProgramming/IP_algorithms.cc	(revision 2a94d39001fd31dc8aa5ef872819d2b2b64cb0fd)
@@ -3081,5 +3081,5 @@
     }
 
-    Integer right_hand[weighted_variables+elimination_variables];
+    Integer *right_hand=new Integer[weighted_variables+elimination_variables];
 
     for(short k=0;k<instances;k++)
@@ -3102,4 +3102,5 @@
             "first input \nfile, "
             "this and all following right hand vectors will be ignored"<<endl;
+          delete[] right_hand;
           return 0;
         }
@@ -3170,4 +3171,5 @@
       output<<"computation time"<<endl;
       output<<setw(6)<<setprecision(2)<<elapsed<<" sec"<<endl<<endl;
+      delete[] right_hand;
     }
   }
@@ -3187,5 +3189,5 @@
       }
 
-      Integer right_hand[weighted_variables+elimination_variables];
+      Integer *right_hand=new Integer[weighted_variables+elimination_variables];
       BOOLEAN error=FALSE;    // to test legality of right hand vectors
 
@@ -3209,4 +3211,5 @@
               "first input \nfile, this and all following right hand vectors "
               "will be ignored"<<endl;
+            delete[] right_hand;
             return 0;
           }
@@ -3277,4 +3280,5 @@
         output<<"computation time"<<endl;
         output<<setw(6)<<setprecision(2)<<elapsed<<" sec"<<endl<<endl;
+        delete[] right_hand;
       }
     }
@@ -3309,4 +3313,5 @@
               "first input \nfile, this and all following right hand vectors "
               "will be ignored"<<endl;
+            delete[] right_hand;
             return 0;
           }
@@ -3349,4 +3354,5 @@
     }
 
+  delete[] right_hand;
   return 1;
 
Index: IntegerProgramming/ideal.cc
===================================================================
--- IntegerProgramming/ideal.cc	(revision d375c5079da5763797fc505eb2996c7792ff9375)
+++ IntegerProgramming/ideal.cc	(revision 2a94d39001fd31dc8aa5ef872819d2b2b64cb0fd)
@@ -128,5 +128,5 @@
   // size
 
-  Integer generator[A.columns+A.rows+1];
+  Integer *generator=new Integer[A.columns+A.rows+1];
   // A.columns + A.rows +1 is the number of variables for the Conti-Traverso
   // algorithm with "inversion variable".
@@ -165,4 +165,5 @@
   add_generator(*bin);
 
+  delete[] generator;
   return *this;
 }
@@ -181,5 +182,5 @@
   // size
 
-  Integer generator[A.columns+A.rows];
+  Integer *generator=new Integer[A.columns+A.rows];
   // A.columns + A.rows is the number of variables for the Conti-Traverso
   // algorithm without "inversion variable".
@@ -206,5 +207,5 @@
     add_generator(*bin);
   }
-
+  delete[] generator;
   return *this;
 }
@@ -232,5 +233,5 @@
   }
 
-  Integer generator[A.columns+1];
+  Integer *generator=new Integer[A.columns+1];
   // This is the number of variables needed for Pottier's algorithm.
 
@@ -257,4 +258,5 @@
           "basic data type short."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -271,4 +273,5 @@
           "basic data type int."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -285,4 +288,5 @@
           "basic data type long."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -326,4 +330,5 @@
 
   delete[] sat_var;
+  delete[] generator;
 
   return *this;
@@ -355,5 +360,5 @@
   }
 
-  Integer generator[A.columns];
+  Integer * generator=new Integer[A.columns];
   // The algorithm of Hosten and Sturmfels does not need supplementary
   // variables.
@@ -380,4 +385,5 @@
           "into the used basic data type short."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -393,4 +399,5 @@
           "into the used basic data type int."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -406,4 +413,5 @@
           "into the used basic data type long."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -424,4 +432,5 @@
   }
 
+  delete[] generator;
   return *this;
 }
@@ -478,5 +487,5 @@
       "term_ordering&):\nargument term ordering might be inappropriate"<<endl;
 
-  Integer generator[A.columns];
+  Integer *generator=new Integer[A.columns];
   // The algorithm of DiBiase and Urbanke does not need supplementary
   // variables.
@@ -502,4 +511,5 @@
           "into the used basic data type short."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -515,4 +525,5 @@
           "into the used basic data type int."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -528,4 +539,5 @@
           "into the used basic data type long."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -543,4 +555,5 @@
   }
   delete[] F;
+  delete[] generator;
   return *this;
 }
@@ -589,5 +602,5 @@
   // one supplementary variable used to saturate the ideal
 
-  Integer generator[A.columns+1];
+  Integer *generator=new Integer[A.columns+1];
   // The algorithm of Bigatti, LaScala and Robbiano needs one supplementary
   // weighted variable.
@@ -623,4 +636,5 @@
           "not fit into the used basic data type short."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -636,4 +650,5 @@
           "not fit into the used basic data type int."<<endl;
         size=-3;
+        delete[] generator;
         return *this;
       }
@@ -669,4 +684,5 @@
     // insert generator
   }
+  delete[] generator;
   return *this;
 }
@@ -874,5 +890,5 @@
   short number_of_variables=
     w.number_of_elimination_variables()+w.number_of_weighted_variables();
-  Integer generator[number_of_variables];
+  Integer* generator=new Integer[number_of_variables];
 
   for(long i=0;i<number_of_generators;i++)
@@ -888,4 +904,5 @@
           "const short&): \ninput failure when reading generator "<<i<<endl;
         size=-2;
+        delete[] generator;
         return;
       }
@@ -896,4 +913,5 @@
   size=number_of_generators;
   number_of_new_binomials=size;
+  delete[] generator;
 }
 
