Menu

#292 advancecomp fails to build with GCC 11

other
closed-fixed
None
5
2022-04-15
2022-04-08
AnMaster
No

Advancecomp does not build properly with newer GCC that default to C++17. I get a lot of errors of the follow form (repeated across multiple files as files.h is included in many places).

In file included from pngex.h:26,
                 from mngex.h:24,
                 from mngex.cc:23:
file.h:70:43: error: ISO C++17 does not allow dynamic exception specifications
   70 | bool file_exists(const std::string& file) throw (error);
      |                                           ^~~~~
file.h:71:75: error: ISO C++17 does not allow dynamic exception specifications
   71 | void file_write(const std::string& path, const char* data, unsigned size) throw (error);
      |                                                                           ^~~~~
file.h:72:68: error: ISO C++17 does not allow dynamic exception specifications
   72 | void file_read(const std::string& path, char* data, unsigned size) throw (error);
      |                                                                    ^~~~~
file.h:73:85: error: ISO C++17 does not allow dynamic exception specifications
   73 | void file_read(const std::string& path, char* data, unsigned offset, unsigned size) throw (error);
      |                                                                                     ^~~~~
file.h:74:43: error: ISO C++17 does not allow dynamic exception specifications
   74 | time_t file_time(const std::string& path) throw (error);
      |                                           ^~~~~
file.h:75:54: error: ISO C++17 does not allow dynamic exception specifications
   75 | void file_utime(const std::string& path, time_t tod) throw (error);
      |                                                      ^~~~~
file.h:76:45: error: ISO C++17 does not allow dynamic exception specifications
   76 | unsigned file_size(const std::string& path) throw (error);
      |                                             ^~~~~
file.h:77:41: error: ISO C++17 does not allow dynamic exception specifications
   77 | crc_t file_crc(const std::string& path) throw (error);
      |                                         ^~~~~
file.h:78:68: error: ISO C++17 does not allow dynamic exception specifications
   78 | void file_copy(const std::string& path1, const std::string& path2) throw (error);
      |                                                                    ^~~~~
file.h:79:68: error: ISO C++17 does not allow dynamic exception specifications
   79 | void file_move(const std::string& path1, const std::string& path2) throw (error);
      |                                                                    ^~~~~
file.h:80:44: error: ISO C++17 does not allow dynamic exception specifications
   80 | void file_remove(const std::string& path1) throw (error);
      |                                            ^~~~~
file.h:81:44: error: ISO C++17 does not allow dynamic exception specifications
   81 | void file_mktree(const std::string& path1) throw (error);
      |                                            ^~~~~

Discussion

  • Andrea Mazzoleni

    Just made a v2.3 release to fix this.

    Ciao,
    Andrea

     
  • Andrea Mazzoleni

    • status: open --> closed-fixed
    • assigned_to: Andrea Mazzoleni
     

Log in to post a comment.