Project

General

Profile

Design #1225

Move to C++14 (skipping C++11)

Added by John Abbott over 5 years ago. Updated about 2 months ago.

Status:
In Progress
Priority:
High
Assignee:
-
Category:
Portability
Target version:
Start date:
06 Sep 2018
Due date:
% Done:

30%

Estimated time:
Spent time:

Description

Revise the source to use C++14 (and avoid "deprecated" features).


Related issues

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

Related to CoCoALib - Design #891: Replace auto_ptr in preparation for C++11?Closed2016-06-17

Related to CoCoA-5 - Support #1240: John's visit Feb 2019Closed2019-02-08

Related to CoCoALib - Bug #1256: RingID: different values in test-output on different platformsClosed2019-03-15

Related to CoCoALib - Design #1257: C++14: use nullptrClosed2019-03-18

Related to CoCoALib - Design #1259: ThreadsafeCounter is now obsolete?Closed2019-03-25

Related to CoCoALib - Design #710: Update normaliz interface?In Progress2015-05-17

Related to CoCoALib - Feature #1218: 32-bit or 64-bit preprocessor macro?Closed2018-08-08

Related to CoCoALib - Design #581: C++14: MachineIntClosed2014-07-04

Related to CoCoA-5 - Feature #1305: Create a directoryNew2019-09-02

Related to CoCoALib - Design #1242: C++14: Use type auto where appropriateIn Progress2019-02-08

Related to CoCoALib - Design #1346: C++14: use the new for loop syntax where appropriate (like cocoa's foreach)In Progress2019-10-21

Related to CoCoALib - Feature #142: Improve threadsafetyIn Progress2012-04-30

Related to CoCoALib - Design #1446: Start using C++14 "move" capabilityIn Progress2020-03-12

Related to CoCoALib - Design #1511: Use C++14 constexprClosed2020-10-14

Related to CoCoA-5 - Design #1519: Interpreter fn Value::from can use std::move?New2020-10-26

Related to CoCoA-5 - Design #1520: Replace BOOST_FOREACH by new C++14 range for syntaxClosed2020-10-26

Related to CoCoALib - Design #894: strict enum types: C++11 extensionIn Progress2016-06-21

Related to CoCoALib - Design #1572: Use noexceptResolved2021-01-29

Related to CoCoALib - Design #1625: Use new C++ keyword overrideClosed2021-10-25

Related to CoCoALib - Design #1627: Use keyword "delete" for deleted functionsClosed2021-10-29

Related to CoCoALib - Feature #1702: Use C++ attributesIn Progress2022-10-18

History

#1 Updated by John Abbott over 5 years ago

Maintaining backward compatibility with pre-2011 C++ is probably fairly pointless, and is causing problems with users who want to use more recent versions of C++. Gereon reports that auto_ptr has been removed from C++17.

#2 Updated by John Abbott over 5 years ago

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

#3 Updated by John Abbott over 5 years ago

Here is a list of "upgrades" to make to our source:
  • make appropriate changes so that std::move can be used
  • (related to "move" above) change void fns which return single values via an OUT arg
  • [DONE] use atomic counters instead of ThreadsafeCounter (see #1259)
  • use auto type for some local variables (see issue #1242)
  • [DELEGATED] there is a new syntax for for loops with iterators (see issue #1346)
  • there are new machine integer types (investigate!)
  • other???
  • [DONE] replace auto_ptr by unique_ptr (or whatever is appropriate)
  • [DONE] modify configure script, and replace auxiliary script cxx03.sh by cxx14.sh
  • [DONE] use nullptr instead of NULL or 0 (see #1257)

Note: add new entries as we think of them (then tick them off)

#4 Updated by John Abbott over 5 years ago

  • Related to Design #891: Replace auto_ptr in preparation for C++11? added

#5 Updated by John Abbott about 5 years ago

Check that the new configuration system works on several different platforms (incl. Microsoft???)

#6 Updated by Anna Maria Bigatti about 5 years ago

#7 Updated by John Abbott about 5 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20
So far I have done the following:
  • revised and renamed script cxx03.sh into cxx14.sh
  • revised configure script accordingly
  • replaced auto_ptr by unique_ptr (somewhat blindly)
  • so far everything works fine on Anna's computer

#8 Updated by John Abbott about 5 years ago

  • % Done changed from 20 to 30

JAA has checked in latest changes. Hope they work for Anna!

#9 Updated by Anna Maria Bigatti about 5 years ago

John Abbott wrote:

JAA has checked in latest changes. Hope they work for Anna!

whateve that was, it compiles and run the tests!

#10 Updated by John Abbott about 5 years ago

  • Related to Bug #1256: RingID: different values in test-output on different platforms added

#11 Updated by John Abbott about 5 years ago

#12 Updated by John Abbott about 5 years ago

  • Related to Design #1259: ThreadsafeCounter is now obsolete? added

#13 Updated by John Abbott about 5 years ago

  • Related to Design #710: Update normaliz interface? added

#14 Updated by John Abbott about 5 years ago

  • Related to Feature #1218: 32-bit or 64-bit preprocessor macro? added

#15 Updated by John Abbott about 5 years ago

#16 Updated by Anna Maria Bigatti over 4 years ago

#17 Updated by John Abbott over 4 years ago

  • Related to Design #1242: C++14: Use type auto where appropriate added

#18 Updated by John Abbott over 4 years ago

  • Related to Design #1346: C++14: use the new for loop syntax where appropriate (like cocoa's foreach) added

#19 Updated by John Abbott over 4 years ago

#20 Updated by John Abbott about 4 years ago

  • Target version changed from CoCoALib-1.0 to CoCoALib-0.99850

#21 Updated by John Abbott about 4 years ago

  • Related to Design #1446: Start using C++14 "move" capability added

#22 Updated by John Abbott over 3 years ago

#23 Updated by John Abbott over 3 years ago

  • Related to Design #1519: Interpreter fn Value::from can use std::move? added

#24 Updated by John Abbott over 3 years ago

  • Related to Design #1520: Replace BOOST_FOREACH by new C++14 range for syntax added

#25 Updated by John Abbott over 3 years ago

  • Related to Design #894: strict enum types: C++11 extension added

#26 Updated by John Abbott about 3 years ago

#27 Updated by John Abbott over 2 years ago

  • Related to Design #1625: Use new C++ keyword override added

#28 Updated by John Abbott over 2 years ago

  • Related to Design #1627: Use keyword "delete" for deleted functions added

#29 Updated by John Abbott over 1 year ago

#30 Updated by John Abbott about 2 months ago

  • Target version changed from CoCoALib-0.99850 to CoCoALib-0.99900

Also available in: Atom PDF