diff --git a/lib/atc/Function.cpp b/lib/atc/Function.cpp index fb615e7befa05a59f7723f844e56e893a37818b9..6004937a018ffe58fcc6f4c0ace6cf916b881f83 100644 --- a/lib/atc/Function.cpp +++ b/lib/atc/Function.cpp @@ -1,4 +1,6 @@ +#ifndef _WIN32 #include <alloca.h> +#endif #include "Function.h" #include "ATC_Error.h" #include "LammpsInterface.h" @@ -59,7 +61,11 @@ namespace ATC { { string type = args[0]; int narg = nargs -1; +#ifdef _WIN32 + double *dargs = (double *) _alloca(sizeof(double) * narg); +#endif double *dargs = (double *) alloca(sizeof(double) * narg); +#endif for (int i = 0; i < narg; ++i) dargs[i] = atof(args[i+1]); return function(type, narg, dargs); @@ -193,7 +199,11 @@ XT_Function_Mgr * XT_Function_Mgr::myInstance_ = NULL; { string type = args[0]; int narg = nargs -1; +#ifdef _WIN32 + double *dargs = (double *) _alloca(sizeof(double) * narg); +#else double *dargs = (double *) alloca(sizeof(double) * narg); +#endif for (int i = 0; i < narg; ++i) dargs[i] = atof(args[i+1]); return function(type, narg, dargs);