libocca / occa

Portable and vendor neutral framework for parallel programming on heterogeneous platforms.
https://libocca.org
MIT License
382 stars 81 forks source link

2.0.0 fails to build: `error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?` etc. #759

Open barracuda156 opened 4 weeks ago

barracuda156 commented 4 weeks ago

@kris-rowe Kris, could you please take a look?

Looks like the code from https://github.com/libocca/occa/pull/730 does not work correctly in some cases:

In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.hpp:6,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:5:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/buffer.cpp:4:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.hpp:6,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:5:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines.hpp:8,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/core/base.hpp:9,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp: In member function 'virtual occa::dim occa::opencl::kernel::maxOuterDims() const':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:67:43: error: 'CL_DEVICE_MAX_WORK_ITEM_SIZES' was not declared in this scope; did you mean 'CL_DEVICE_MAX_WORK_GROUP_SIZE'?
   67 |                                           CL_DEVICE_MAX_WORK_ITEM_SIZES,
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:89:27: note: in definition of macro 'OCCA_OPENCL_TEMPLATE_CHECK'
   89 |     cl_int _clErrorCode = expr;                                         \
      |                           ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:98:69: note: in expansion of macro 'OCCA_OPENCL_ERROR3'
   98 | #define OCCA_OPENCL_ERROR2(expr, filename, function, line, message) OCCA_OPENCL_ERROR3(expr, filename, function, line, message)
      |                                                                     ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:99:42: note: in expansion of macro 'OCCA_OPENCL_ERROR2'
   99 | #define OCCA_OPENCL_ERROR(message, expr) OCCA_OPENCL_ERROR2(expr, __FILE__, __PRETTY_FUNCTION__, __LINE__, message)
      |                                          ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:65:9: note: in expansion of macro 'OCCA_OPENCL_ERROR'
   65 |         OCCA_OPENCL_ERROR("Kernel: Max Outer Dims",
      |         ^~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:71:43: error: 'CL_DEVICE_MAX_WORK_ITEM_SIZES' was not declared in this scope; did you mean 'CL_DEVICE_MAX_WORK_GROUP_SIZE'?
   71 |                                           CL_DEVICE_MAX_WORK_ITEM_SIZES,
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:89:27: note: in definition of macro 'OCCA_OPENCL_TEMPLATE_CHECK'
   89 |     cl_int _clErrorCode = expr;                                         \
      |                           ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:98:69: note: in expansion of macro 'OCCA_OPENCL_ERROR3'
   98 | #define OCCA_OPENCL_ERROR2(expr, filename, function, line, message) OCCA_OPENCL_ERROR3(expr, filename, function, line, message)
      |                                                                     ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:99:42: note: in expansion of macro 'OCCA_OPENCL_ERROR2'
   99 | #define OCCA_OPENCL_ERROR(message, expr) OCCA_OPENCL_ERROR2(expr, __FILE__, __PRETTY_FUNCTION__, __LINE__, message)
      |                                          ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:69:9: note: in expansion of macro 'OCCA_OPENCL_ERROR'
   69 |         OCCA_OPENCL_ERROR("Kernel: Max Outer Dims",
      |         ^~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp: In member function 'virtual void occa::opencl::kernel::deviceRun() const':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:107:18: warning: narrowing conversion of 'fullDims.occa::dim::x' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  107 |         fullDims.x, fullDims.y, fullDims.z
      |         ~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:107:30: warning: narrowing conversion of 'fullDims.occa::dim::y' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  107 |         fullDims.x, fullDims.y, fullDims.z
      |                     ~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:107:42: warning: narrowing conversion of 'fullDims.occa::dim::z' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  107 |         fullDims.x, fullDims.y, fullDims.z
      |                                 ~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:110:19: warning: narrowing conversion of '(occa::udim_t)((const occa::opencl::kernel*)this)->occa::opencl::kernel::<anonymous>.occa::launchedModeKernel_t::<anonymous>.occa::modeKernel_t::innerDims.occa::dim::x' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  110 |         innerDims.x, innerDims.y, innerDims.z
      |         ~~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:110:32: warning: narrowing conversion of '(occa::udim_t)((const occa::opencl::kernel*)this)->occa::opencl::kernel::<anonymous>.occa::launchedModeKernel_t::<anonymous>.occa::modeKernel_t::innerDims.occa::dim::y' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  110 |         innerDims.x, innerDims.y, innerDims.z
      |                      ~~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/kernel.cpp:110:45: warning: narrowing conversion of '(occa::udim_t)((const occa::opencl::kernel*)this)->occa::opencl::kernel::<anonymous>.occa::launchedModeKernel_t::<anonymous>.occa::modeKernel_t::innerDims.occa::dim::z' from 'occa::udim_t' {aka 'long long unsigned int'} to 'size_t' {aka 'long unsigned int'} [-Wnarrowing]
  110 |         innerDims.x, innerDims.y, innerDims.z
      |                                   ~~~~~~~~~~^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp: In member function 'virtual occa::hash_t occa::opencl::device::hash() const':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:71:9: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   71 |         cl_platform_id platform_id = getPlatformFromDevice(clDevice);
      |         ^~~~~~~~~~~~~~
      |         cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:73:60: error: 'platform_id' was not declared in this scope; did you mean 'platformName'?
   73 |         ss << "platform name: "    << opencl::platformName(platform_id)
      |                                                            ^~~~~~~~~~~
      |                                                            platformName
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines.hpp:8,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/core/base.hpp:9,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp: In member function 'virtual occa::streamTag occa::opencl::device::tagStream()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:136:41: error: too many arguments to function 'cl_int clEnqueueBarrier(cl_command_queue)'
  136 |                         clEnqueueBarrier(getCommandQueue(),
      |                         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
  137 |                                         &clEvent));
      |                                         ~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:89:27: note: in definition of macro 'OCCA_OPENCL_TEMPLATE_CHECK'
   89 |     cl_int _clErrorCode = expr;                                         \
      |                           ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:98:69: note: in expansion of macro 'OCCA_OPENCL_ERROR3'
   98 | #define OCCA_OPENCL_ERROR2(expr, filename, function, line, message) OCCA_OPENCL_ERROR3(expr, filename, function, line, message)
      |                                                                     ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:99:42: note: in expansion of macro 'OCCA_OPENCL_ERROR2'
   99 | #define OCCA_OPENCL_ERROR(message, expr) OCCA_OPENCL_ERROR2(expr, __FILE__, __PRETTY_FUNCTION__, __LINE__, message)
      |                                          ^~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:135:7: note: in expansion of macro 'OCCA_OPENCL_ERROR'
  135 |       OCCA_OPENCL_ERROR("Device: Tagging Stream",
      |       ^~~~~~~~~~~~~~~~~
In file included from /System/Library/Frameworks/OpenCL.framework/Headers/opencl.h:15,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/polyfill.hpp:17,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.hpp:5,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/device.cpp:4:
/System/Library/Frameworks/OpenCL.framework/Headers/cl.h:822:1: note: declared here
  822 | clEnqueueBarrier(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0;
      | ^~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:4:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/buffer.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp: In constructor 'occa::opencl::memory::memory(occa::opencl::buffer*, occa::udim_t, occa::dim_t)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:18:9: error: 'cl_buffer_region' was not declared in this scope
   18 |         cl_buffer_region info;
      |         ^~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:19:9: error: 'info' was not declared in this scope; did you mean 'info_t'?
   19 |         info.origin = offset;
      |         ^~~~
      |         info_t
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/kernel.cpp.o] Error 1
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:25:35: error: 'CL_BUFFER_CREATE_TYPE_REGION' was not declared in this scope
   25 |                                   CL_BUFFER_CREATE_TYPE_REGION,
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:23:17: error: 'clCreateSubBuffer' was not declared in this scope; did you mean 'clCreateBuffer'?
   23 |         clMem = clCreateSubBuffer(b->clMem,
      |                 ^~~~~~~~~~~~~~~~~
      |                 clCreateBuffer
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp: In constructor 'occa::opencl::memory::memory(occa::opencl::memoryPool*, occa::udim_t, occa::dim_t)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:45:9: error: 'cl_buffer_region' was not declared in this scope
   45 |         cl_buffer_region info;
      |         ^~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:46:9: error: 'info' was not declared in this scope; did you mean 'info_t'?
   46 |         info.origin = offset;
      |         ^~~~
      |         info_t
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:52:35: error: 'CL_BUFFER_CREATE_TYPE_REGION' was not declared in this scope
   52 |                                   CL_BUFFER_CREATE_TYPE_REGION,
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memory.cpp:50:17: error: 'clCreateSubBuffer' was not declared in this scope; did you mean 'clCreateBuffer'?
   50 |         clMem = clCreateSubBuffer(b->clMem,
      |                 ^~~~~~~~~~~~~~~~~
      |                 clCreateBuffer
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/device.cpp.o] Error 1
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp:5:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp: In member function 'virtual void occa::opencl::memoryPool::setPtr(occa::modeMemory_t*, occa::modeBuffer_t*, occa::dim_t)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp:35:9: error: 'cl_buffer_region' was not declared in this scope
   35 |         cl_buffer_region info;
      |         ^~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp:36:9: error: 'info' was not declared in this scope; did you mean 'info_t'?
   36 |         info.origin = offset;
      |         ^~~~
      |         info_t
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp:42:38: error: 'CL_BUFFER_CREATE_TYPE_REGION' was not declared in this scope
   42 |                                      CL_BUFFER_CREATE_TYPE_REGION,
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:3:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:17: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                 ^~~~~~~~~~~~~~
      |                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 1 is invalid
   27 |     std::vector<cl_platform_id> getPlatforms(cl_device_type device_type = default_device_type);
      |                               ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:27:31: error: template argument 2 is invalid
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:28:5: error: 'cl_platform_id' does not name a type; did you mean 'cl_platform_info'?
   28 |     cl_platform_id getPlatformFromDevice(cl_device_id device_id);
      |     ^~~~~~~~~~~~~~
      |     cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/memoryPool.cpp:40:20: error: 'clCreateSubBuffer' was not declared in this scope; did you mean 'clCreateBuffer'?
   40 |         m->clMem = clCreateSubBuffer(b->clMem,
      |                    ^~~~~~~~~~~~~~~~~
      |                    clCreateBuffer
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:30:72: error: expected primary-expression before 'clInfo'
   30 |     std::string platformStrInfo(cl_platform_id clPID, cl_platform_info clInfo);
      |                                                                        ^~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:32:30: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   32 |     std::string platformName(cl_platform_id platform_id);
      |                              ^~~~~~~~~~~~~~
      |                              cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:33:32: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   33 |     std::string platformVendor(cl_platform_id platform_id);
      |                                ^~~~~~~~~~~~~~
      |                                cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:34:33: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   34 |     std::string platformVersion(cl_platform_id platform_id);
      |                                 ^~~~~~~~~~~~~~
      |                                 cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:34: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                  ^~~~~~~~~~~~~~
      |                                  cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:65: error: expected primary-expression before 'device_type'
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                 ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:37:98: error: expression list treated as compound expression in initializer [-fpermissive]
   37 |     int getDeviceCountInPlatform(cl_platform_id, cl_device_type device_type = default_device_type);
      |                                                                                                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:52: error: 'cl_platform_id' was not declared in this scope; did you mean 'cl_platform_info'?
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                    ^~~~~~~~~~~~~~
      |                                                    cl_platform_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/utils.hpp:39:95: error: expected primary-expression before 'device_type'
   39 |     std::vector<cl_device_id> getDevicesInPlatform(cl_platform_id platform_id, cl_device_type device_type = default_device_type);
      |                                                                                               ^~~~~~~~~~~
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/memory.cpp.o] Error 1
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/memoryPool.cpp.o] Error 1
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp: In member function 'virtual occa::styling::section& occa::opencl::openclMode::getDescription()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:24:24: error: 'begin' was not declared in this scope; did you mean 'std::begin'?
   24 |         for (auto& p : platform_list) {
      |                        ^~~~~~~~~~~~~
      |                        std::begin
In file included from /opt/local/include/gcc13/c++/string:53,
                 from /opt/local/include/gcc13/c++/bits/locale_classes.h:40,
                 from /opt/local/include/gcc13/c++/bits/ios_base.h:41,
                 from /opt/local/include/gcc13/c++/ios:44,
                 from /opt/local/include/gcc13/c++/ostream:40,
                 from /opt/local/include/gcc13/c++/iostream:41,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/utils/string.hpp:4,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:2:
/opt/local/include/gcc13/c++/bits/range_access.h:114:37: note: 'std::begin' declared here
  114 |   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
      |                                     ^~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:24:24: error: 'end' was not declared in this scope; did you mean 'std::end'?
   24 |         for (auto& p : platform_list) {
      |                        ^~~~~~~~~~~~~
      |                        std::end
/opt/local/include/gcc13/c++/bits/range_access.h:116:37: note: 'std::end' declared here
  116 |   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
      |                                     ^~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines.hpp:8,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp: In member function 'virtual occa::modeDevice_t* occa::opencl::openclMode::newDevice(const occa::json&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:83:55: error: request for member 'size' in 'platforms', which is of non-class type 'int'
   83 |         (static_cast<size_t>(platform_id) < platforms.size()));
      |                                                       ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:13:31: note: in definition of macro 'OCCA_TEMPLATE_CHECK_'
   13 |     const bool isOk = (bool) (expr);                                    \
      |                               ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:27:62: note: in expansion of macro 'OCCA_TEMPLATE_CHECK'
   27 | #define OCCA_ERROR3(expr, filename, function, line, message) OCCA_TEMPLATE_CHECK(occa::error, expr, filename, function, line, message)
      |                                                              ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:28:62: note: in expansion of macro 'OCCA_ERROR3'
   28 | #define OCCA_ERROR2(expr, filename, function, line, message) OCCA_ERROR3(expr, filename, function, line, message)
      |                                                              ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:29:62: note: in expansion of macro 'OCCA_ERROR2'
   29 | #define OCCA_ERROR(message, expr)                            OCCA_ERROR2(expr, __FILE__, __PRETTY_FUNCTION__, __LINE__, message)
      |                                                              ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:82:7: note: in expansion of macro 'OCCA_ERROR'
   82 |       OCCA_ERROR("Invalid platform number (" + toString(platform_id) + ")",
      |       ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:84:33: error: invalid types 'int[int]' for array subscript
   84 |       auto& platform = platforms[platform_id];
      |                                 ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp: In member function 'virtual int occa::opencl::openclMode::getDeviceCount(const occa::json&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:106:55: error: request for member 'size' in 'platforms', which is of non-class type 'int'
  106 |         (static_cast<size_t>(platform_id) < platforms.size()));
      |                                                       ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:13:31: note: in definition of macro 'OCCA_TEMPLATE_CHECK_'
   13 |     const bool isOk = (bool) (expr);                                    \
      |                               ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:27:62: note: in expansion of macro 'OCCA_TEMPLATE_CHECK'
   27 | #define OCCA_ERROR3(expr, filename, function, line, message) OCCA_TEMPLATE_CHECK(occa::error, expr, filename, function, line, message)
      |                                                              ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:28:62: note: in expansion of macro 'OCCA_ERROR3'
   28 | #define OCCA_ERROR2(expr, filename, function, line, message) OCCA_ERROR3(expr, filename, function, line, message)
      |                                                              ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/include/occa/defines/errors.hpp:29:62: note: in expansion of macro 'OCCA_ERROR2'
   29 | #define OCCA_ERROR(message, expr)                            OCCA_ERROR2(expr, __FILE__, __PRETTY_FUNCTION__, __LINE__, message)
      |                                                              ^~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:105:7: note: in expansion of macro 'OCCA_ERROR'
  105 |       OCCA_ERROR("Invalid platform number (" + toString(platform_id) + ")",
      |       ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:107:33: error: invalid types 'int[int]' for array subscript
  107 |       auto& platform = platforms[platform_id];
      |                                 ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/occa-2.0.0/src/occa/internal/modes/opencl/registration.cpp:109:38: error: 'occa::opencl::getDeviceCountInPlatform' cannot be used as a function
  109 |       return getDeviceCountInPlatform(platform);
      |              ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
make[2]: *** [CMakeFiles/libocca.dir/src/occa/internal/modes/opencl/registration.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/build'
make[1]: *** [CMakeFiles/libocca.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libocca/libocca/work/build'
make: *** [all] Error 2
barracuda156 commented 4 weeks ago

@kris-rowe The earlier version compiled fine on the same system, so it should be fixable. (In the worst case maybe just add a configure option to disable OpenCL when it is not supported?)