Project

General

Profile

Feature #1010

C++11: Mario's Hilbert scheme code

Added by John Abbott about 7 years ago. Updated about 7 years ago.

Status:
New
Priority:
Urgent
Assignee:
-
Category:
Portability
Target version:
Start date:
20 Feb 2017
Due date:
% Done:

0%

Estimated time:
Spent time:

Description

Mario would like to incorporate his Hilbert scheme code, but to do so he must compile with c++11 (because he uses several c++11 features).

How to do this while maintaining backward compatibility?


Related issues

Related to CoCoALib - Design #999: configuration: include -std=c++03 by default?Closed2017-01-18

Related to CoCoALib - Feature #82: C++11 compatibility questionsClosed2012-01-26

Related to CoCoA-5 - Design #83: C++11 compatibility questionsIn Progress2012-01-26

History

#1 Updated by John Abbott about 7 years ago

  • Priority changed from Normal to Urgent

Mario makes essential use of various C++11 featues (e.g. auto variable declarations).

The problem is that CoCoALib continues to use std::auto_ptr which triggers numerous, annoying compiler warnings.
Issue #999 tackled the problem by setting a compiler flag -std=c++03. This correctly suppressed the warnings, but does not solve Mario's problem.

Possibilities are:
  • enforce -std=c++11 and set the g++ flag -Wno-deprecated-declarations (but how portable to other compilers?)
  • replace use of std::auto_ptr by std::_unique_ptr (or whatever is most appropriate); this means CoCoALib would no longer be C++03 compatible.

Comments? Other ideas?

#2 Updated by John Abbott about 7 years ago

  • Related to Design #999: configuration: include -std=c++03 by default? added

#3 Updated by John Abbott about 7 years ago

  • Related to Feature #82: C++11 compatibility questions added

#4 Updated by John Abbott about 7 years ago

  • Related to Design #83: C++11 compatibility questions added

Also available in: Atom PDF