Functions

main.cpp File Reference

Main application file. More...

#include "options.hpp"
#include "clew.h"
#include "clpp.hpp"
#include "clinfo.hpp"
#include "output.hpp"
#include <boost/algorithm/string.hpp>
#include <boost/exception/all.hpp>
#include <boost/format.hpp>
#include <boost/spirit/include/classic.hpp>
#include <fstream>
#include <iostream>

Functions

void create_platform_contexts (const cl::driver &cldriver, const options &options, vector< cl::platform > &build_platforms, vector< cl::shared_context > &build_contexts, vector< vector< cl_device_id > > &build_device_ids)
void handle_build_failure (const vector< cl_device_id > &device_ids, cl::shared_program prg, const vector< string > &input_files)
void save_to_file (const std::string &filename, const vector< cl::platform > &build_platforms, const vector< vector< cl_device_id > > &build_device_ids, const vector< cl::shared_program > &build_programs, const bool add_headers)
int main (int argc, char *argv[])
 Main entry point.

Detailed Description

Main application file.


Function Documentation

void create_platform_contexts ( const cl::driver cldriver,
const options options,
vector< cl::platform > &  build_platforms,
vector< cl::shared_context > &  build_contexts,
vector< vector< cl_device_id > > &  build_device_ids 
)

Note:
Workaround: on VS2008 with Boost 1.46.1 we get an error when testing result.empty() in Debug due to iterator checking So that's why the strings are first put into plain old const char*'s
Workaround: on VS2008 with Boost 1.46.1 we get an error when testing result.empty() in Debug due to iterator checking So that's why the strings are first put into plain old const char*'s

void handle_build_failure ( const vector< cl_device_id > &  device_ids,
cl::shared_program  prg,
const vector< string > &  input_files 
)

Todo:
Convert line-number substitution code to a run-time switch. But in order to do that, I will need some more outputs from various drivers to determine what the variants are and what the switch variable must be.

int main ( int  argc,
char *  argv[] 
)

Main entry point.

Todo:
Handle possible errors which might arise from compilation or other errors more gracefully i.e. give the user more info about the error and possible solutions