CDT_3: fix v2
Summary of Changes
Followup to #9089. For the moment, this one is based on main.
Release Management
- Affected package(s): CDT_3, STL_Extension
- Link to compiled documentation (obligatory for small feature) wrong link name to be changed
- License and copyright ownership:
clang: error: unknown argument: '-fexperimental-library' in CGAL-6.2-Ic-35
VC2017 has a problem in the testsuite CGAL-6.2-Ic-40 with #include <version> which is C++20. link
clang on apple reports an error concerning finite_facets_end(). Is this a missing using statement in the derived class? Why only this compiler?
There is also a warning suggesting adding braces.
The gdb stuff, can you confirm that this does not make our algorithms and data structures read or write anything in files or streams. And that it does not require anything special in user written makefiles.
The gdb stuff, can you confirm that this does not make our algorithms and data structures read or write anything in files or streams. And that it does not require anything special in user written makefiles.
auto-loaded CGAL gdb pretty-printers
The feature is implemented in CGAL/gdb_autoload.h, that is included by <CGAL/config.h> conditionally:
https://github.com/CGAL/cgal/blob/c6be43819657657dd3c96c32bbcd0bf27fbc0638/Installation/include/CGAL/config.h#L138-L140
The file CGAL/gdb_autoload.h does not do anything but with Linux (or BSD) and "gcc or clang".
In gdb, the auto-loading will display that message:
[lrineau@fernand]~/Git/cgal% gdb --quiet -n "/home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers"
Reading symbols from /home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers...
warning: File "/home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers
line to your configuration file "/home/lrineau/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/lrineau/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
In my $HOME/.gdbinit file, I have added:
set auto-load safe-path /home/lrineau/Git/cgal
Once the auto-load path is set up, then gdb displays:
[lrineau@fernand]~/Git/cgal% gdb --quiet "/home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers"
No symbol table is loaded. Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
Reading symbols from /home/lrineau/Git/cgal/build/GCC ccache/Debug/test/Kernel_23/test_gdb_pretty_printers...
CGAL pretty printers auto-loaded from /home/lrineau/Git/cgal/Installation/share/gdb/auto-load/cgal_printers.py
(gdb)
In particular the message
CGAL pretty printers auto-loaded from /home/lrineau/Git/cgal/Installation/share/gdb/auto-load/cgal_printers.py
allows to know where is the pretty-printer file, and edit it.