X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogram.cpp;h=6313043ea84361c3f7fbc543324c997eb56d5fc6;hb=47bfbdc8cf844aa079995fca34a3b906b49a4f66;hp=37d72e94191b441a1b8be1fcbbd5317db58e794f;hpb=d971f8d4848c0b3b453c626a2dafe19445e3e5a8;p=libs%2Fgl.git diff --git a/source/program.cpp b/source/program.cpp index 37d72e94..6313043e 100644 --- a/source/program.cpp +++ b/source/program.cpp @@ -28,6 +28,8 @@ Program::Program() init(); } +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" Program::Program(const ProgramBuilder::StandardFeatures &features) { init(); @@ -36,6 +38,7 @@ Program::Program(const ProgramBuilder::StandardFeatures &features) builder.add_shaders(*this); link(); } +#pragma GCC diagnostic pop Program::Program(const std::string &source) { @@ -330,10 +333,9 @@ bool Program::uniform_location_compare(const UniformInfo *uni1, const UniformInf string Program::get_info_log() const { GLsizei len = get_program_i(id, GL_INFO_LOG_LENGTH); - char *buf = new char[len+1]; - glGetProgramInfoLog(id, len+1, &len, buf); - string log(buf, len); - delete[] buf; + string log(len+1, 0); + glGetProgramInfoLog(id, len+1, &len, &log[0]); + log.erase(len); return log; } @@ -425,10 +427,13 @@ void Program::Loader::geometry_shader(const string &src) void Program::Loader::standard() { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" ProgramBuilder::StandardFeatures feat; load_sub(feat); ProgramBuilder builder(feat); builder.add_shaders(obj); +#pragma GCC diagnostic pop } void Program::Loader::vertex_shader(const string &src)