changeset 23457:21baad6b35c4

maint: Use C++11 nullptr rather than 0 or NULL when possible. * FigureWindow.h, Logger.cc, Menu.cc, MouseModeActionGroup.h, Object.h, ObjectFactory.cc, ObjectProxy.h, color-picker.h, documentation-dock-widget.h, files-dock-widget.h, find-files-dialog.h, history-dock-widget.h, file-editor-tab.cc, file-editor.cc, file-editor.h, find-dialog.h, main-window.cc, main-window.h, octave-dock-widget.h, parser.cc, parser.h, webinfo.h, resource-manager.cc, shortcut-manager.cc, shortcut-manager.h, terminal-dock-widget.h, welcome-wizard.cc, welcome-wizard.h, workspace-model.h, workspace-view.h, __magick_read__.cc, call-stack.cc, call-stack.h, cdisplay.c, display.cc, dlmread.cc, dynamic-ld.cc, ft-text-renderer.cc, gl2ps-print.cc, graphics.cc, graphics.in.h, input.h, interpreter.cc, interpreter.h, ls-hdf5.cc, mex.cc, mxarray.in.h, oct-errno.in.cc, oct-fstrm.cc, oct-iostrm.h, oct-procbuf.cc, oct-stdstrm.h, oct-stream.cc, oct-stream.h, octave-link.cc, pager.cc, pr-output.cc, profiler.h, qz.cc, sighandlers.cc, strfns.cc, symtab.cc, symtab.h, typecast.cc, urlwrite.cc, variables.cc, __eigs__.cc, __init_fltk__.cc, __ode15__.cc, colamd.cc, ov-base-int.cc, ov-base.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-builtin.cc, ov-class.cc, ov-classdef.cc, ov-complex.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-complex.cc, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc, ov-flt-re-diag.cc, ov-flt-re-mat.cc, ov-java.cc, ov-java.h, ov-lazy-idx.cc, ov-perm.cc, ov-range.cc, ov-re-diag.cc, ov-re-mat.cc, ov-re-sparse.cc, ov-str-mat.cc, ov-struct.cc, ov-usr-fcn.h, octave.cc, octave.h, bp-table.cc, jit-ir.cc, jit-ir.h, jit-typeinfo.cc, jit-typeinfo.h, lex.h, pt-arg-list.cc, pt-arg-list.h, pt-array-list.h, pt-cell.h, pt-classdef.h, pt-colon.cc, pt-decl.h, pt-eval.cc, pt-eval.h, pt-except.h, pt-idx.h, pt-jit.cc, pt-jit.h, pt-loop.h, pt-mat.h, pt-select.h, pt.h, CSparse.cc, dSparse.cc, DASPK.cc, DASRT.cc, DASSL.cc, oct-fftw.cc, oct-rand.cc, oct-spparms.cc, child-list.cc, file-ops.cc, mach-info.cc, oct-env.cc, oct-time.cc, cmd-edit.cc, cmd-hist.cc, oct-locbuf.cc, oct-shlib.cc, pathsearch.cc, singleton-cleanup.cc, unwind-prot.h, url-transfer.cc: Use C++11 nullptr rather than 0 or NULL when possible.
author Rik <rik@octave.org>
date Fri, 28 Apr 2017 13:19:12 -0700
parents a62ffdf1f432
children 0f4ed33886de
files libgui/graphics/FigureWindow.h libgui/graphics/Logger.cc libgui/graphics/Menu.cc libgui/graphics/MouseModeActionGroup.h libgui/graphics/Object.h libgui/graphics/ObjectFactory.cc libgui/graphics/ObjectProxy.h libgui/src/color-picker.h libgui/src/documentation-dock-widget.h libgui/src/files-dock-widget.h libgui/src/find-files-dialog.h libgui/src/history-dock-widget.h libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file-editor.cc libgui/src/m-editor/file-editor.h libgui/src/m-editor/find-dialog.h libgui/src/main-window.cc libgui/src/main-window.h libgui/src/octave-dock-widget.h libgui/src/qtinfo/parser.cc libgui/src/qtinfo/parser.h libgui/src/qtinfo/webinfo.h libgui/src/resource-manager.cc libgui/src/shortcut-manager.cc libgui/src/shortcut-manager.h libgui/src/terminal-dock-widget.h libgui/src/welcome-wizard.cc libgui/src/welcome-wizard.h libgui/src/workspace-model.h libgui/src/workspace-view.h libinterp/corefcn/__magick_read__.cc libinterp/corefcn/call-stack.cc libinterp/corefcn/call-stack.h libinterp/corefcn/cdisplay.c libinterp/corefcn/display.cc libinterp/corefcn/dlmread.cc libinterp/corefcn/dynamic-ld.cc libinterp/corefcn/ft-text-renderer.cc libinterp/corefcn/gl2ps-print.cc libinterp/corefcn/graphics.cc libinterp/corefcn/graphics.in.h libinterp/corefcn/input.h libinterp/corefcn/interpreter.cc libinterp/corefcn/interpreter.h libinterp/corefcn/ls-hdf5.cc libinterp/corefcn/mex.cc libinterp/corefcn/mxarray.in.h libinterp/corefcn/oct-errno.in.cc libinterp/corefcn/oct-fstrm.cc libinterp/corefcn/oct-iostrm.h libinterp/corefcn/oct-procbuf.cc libinterp/corefcn/oct-stdstrm.h libinterp/corefcn/oct-stream.cc libinterp/corefcn/oct-stream.h libinterp/corefcn/octave-link.cc libinterp/corefcn/pager.cc libinterp/corefcn/pr-output.cc libinterp/corefcn/profiler.h libinterp/corefcn/qz.cc libinterp/corefcn/sighandlers.cc libinterp/corefcn/strfns.cc libinterp/corefcn/symtab.cc libinterp/corefcn/symtab.h libinterp/corefcn/typecast.cc libinterp/corefcn/urlwrite.cc libinterp/corefcn/variables.cc libinterp/dldfcn/__eigs__.cc libinterp/dldfcn/__init_fltk__.cc libinterp/dldfcn/__ode15__.cc libinterp/dldfcn/colamd.cc libinterp/octave-value/ov-base-int.cc libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-bool-mat.cc libinterp/octave-value/ov-bool-sparse.cc libinterp/octave-value/ov-builtin.cc libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-classdef.cc libinterp/octave-value/ov-complex.cc libinterp/octave-value/ov-cx-diag.cc libinterp/octave-value/ov-cx-mat.cc libinterp/octave-value/ov-cx-sparse.cc libinterp/octave-value/ov-fcn-handle.cc libinterp/octave-value/ov-fcn-inline.cc libinterp/octave-value/ov-flt-complex.cc libinterp/octave-value/ov-flt-cx-diag.cc libinterp/octave-value/ov-flt-cx-mat.cc libinterp/octave-value/ov-flt-re-diag.cc libinterp/octave-value/ov-flt-re-mat.cc libinterp/octave-value/ov-java.cc libinterp/octave-value/ov-java.h libinterp/octave-value/ov-lazy-idx.cc libinterp/octave-value/ov-perm.cc libinterp/octave-value/ov-range.cc libinterp/octave-value/ov-re-diag.cc libinterp/octave-value/ov-re-mat.cc libinterp/octave-value/ov-re-sparse.cc libinterp/octave-value/ov-str-mat.cc libinterp/octave-value/ov-struct.cc libinterp/octave-value/ov-usr-fcn.h libinterp/octave.cc libinterp/octave.h libinterp/parse-tree/bp-table.cc libinterp/parse-tree/jit-ir.cc libinterp/parse-tree/jit-ir.h libinterp/parse-tree/jit-typeinfo.cc libinterp/parse-tree/jit-typeinfo.h libinterp/parse-tree/lex.h libinterp/parse-tree/pt-arg-list.cc libinterp/parse-tree/pt-arg-list.h libinterp/parse-tree/pt-array-list.h libinterp/parse-tree/pt-cell.h libinterp/parse-tree/pt-classdef.h libinterp/parse-tree/pt-colon.cc libinterp/parse-tree/pt-decl.h libinterp/parse-tree/pt-eval.cc libinterp/parse-tree/pt-eval.h libinterp/parse-tree/pt-except.h libinterp/parse-tree/pt-idx.h libinterp/parse-tree/pt-jit.cc libinterp/parse-tree/pt-jit.h libinterp/parse-tree/pt-loop.h libinterp/parse-tree/pt-mat.h libinterp/parse-tree/pt-select.h libinterp/parse-tree/pt.h liboctave/array/CSparse.cc liboctave/array/dSparse.cc liboctave/numeric/DASPK.cc liboctave/numeric/DASRT.cc liboctave/numeric/DASSL.cc liboctave/numeric/oct-fftw.cc liboctave/numeric/oct-rand.cc liboctave/numeric/oct-spparms.cc liboctave/system/child-list.cc liboctave/system/file-ops.cc liboctave/system/mach-info.cc liboctave/system/oct-env.cc liboctave/system/oct-time.cc liboctave/util/cmd-edit.cc liboctave/util/cmd-hist.cc liboctave/util/oct-locbuf.cc liboctave/util/oct-shlib.cc liboctave/util/pathsearch.cc liboctave/util/singleton-cleanup.cc liboctave/util/unwind-prot.h liboctave/util/url-transfer.cc
diffstat 145 files changed, 280 insertions(+), 280 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/graphics/FigureWindow.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/FigureWindow.h	Fri Apr 28 13:19:12 2017 -0700
@@ -37,7 +37,7 @@
     Q_OBJECT
 
   public:
-    FigureWindow (QWidget *parent = 0);
+    FigureWindow (QWidget *parent = nullptr);
     ~FigureWindow (void);
 
     QMenu * createPopupMenu (void);
--- a/libgui/graphics/Logger.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/Logger.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -35,8 +35,8 @@
 namespace QtHandles
 {
 
-  Logger *Logger::s_instance = 0;
-  QMutex *Logger::s_mutex = 0;
+  Logger *Logger::s_instance = nullptr;
+  QMutex *Logger::s_mutex = nullptr;
 
   Logger::Logger (void)
     : m_debugEnabled (false)
--- a/libgui/graphics/Menu.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/Menu.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -125,7 +125,7 @@
           {
 
             int count = 0;
-            QAction *before = 0;
+            QAction *before = nullptr;
 
             foreach (QAction *a, m_parent->actions ())
               {
@@ -226,7 +226,7 @@
           m_parent->removeAction (action);
 
           int pos = static_cast<int> (up.get_position ());
-          QAction *before = 0;
+          QAction *before = nullptr;
 
           if (pos > 0)
             {
--- a/libgui/graphics/MouseModeActionGroup.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/MouseModeActionGroup.h	Fri Apr 28 13:19:12 2017 -0700
@@ -38,7 +38,7 @@
     Q_OBJECT
 
   public:
-    MouseModeActionGroup (QObject *parent = 0);
+    MouseModeActionGroup (QObject *parent = nullptr);
     ~MouseModeActionGroup (void);
 
     QList<QAction*> actions (void) const { return m_actions; }
--- a/libgui/graphics/Object.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/Object.h	Fri Apr 28 13:19:12 2017 -0700
@@ -42,7 +42,7 @@
     Q_OBJECT
 
   public:
-    Object (const graphics_object& go, QObject *obj = 0);
+    Object (const graphics_object& go, QObject *obj = nullptr);
 
     virtual ~Object (void);
 
@@ -83,7 +83,7 @@
     void slotRedraw (void);
     void slotPrint (const QString& file_cmd, const QString& term);
 
-    void objectDestroyed (QObject *obj = 0);
+    void objectDestroyed (QObject *obj = nullptr);
 
   protected:
     static Object * parentObject (const graphics_object& go);
--- a/libgui/graphics/ObjectFactory.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/ObjectFactory.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -92,7 +92,7 @@
                                "create %s from thread %08x",
                                go.type ().c_str (), QThread::currentThreadId ());
 
-                Object *obj = 0;
+                Object *obj = nullptr;
 
                 if (go.isa ("figure"))
                   obj = Figure::create (go);
--- a/libgui/graphics/ObjectProxy.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/graphics/ObjectProxy.h	Fri Apr 28 13:19:12 2017 -0700
@@ -37,7 +37,7 @@
     Q_OBJECT
 
   public:
-    ObjectProxy (Object *obj = 0);
+    ObjectProxy (Object *obj = nullptr);
 
     void update (int pId);
     void finalize (void);
--- a/libgui/src/color-picker.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/color-picker.h	Fri Apr 28 13:19:12 2017 -0700
@@ -37,7 +37,7 @@
   Q_OBJECT
 
 public:
-  color_picker (QColor color = QColor (0,0,0), QWidget *parent = 0);
+  color_picker (QColor color = QColor (0,0,0), QWidget *parent = nullptr);
   QColor color () const { return _color; }
 
 private slots:
--- a/libgui/src/documentation-dock-widget.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/documentation-dock-widget.h	Fri Apr 28 13:19:12 2017 -0700
@@ -33,7 +33,7 @@
 
 public:
 
-  documentation_dock_widget (QWidget *parent = 0);
+  documentation_dock_widget (QWidget *parent = nullptr);
 
 public slots:
 
--- a/libgui/src/files-dock-widget.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/files-dock-widget.h	Fri Apr 28 13:19:12 2017 -0700
@@ -50,7 +50,7 @@
 
 public:
 
-  files_dock_widget (QWidget *parent = 0);
+  files_dock_widget (QWidget *parent = nullptr);
 
   ~files_dock_widget (void) = default;
 
--- a/libgui/src/find-files-dialog.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/find-files-dialog.h	Fri Apr 28 13:19:12 2017 -0700
@@ -38,7 +38,7 @@
 {
   Q_OBJECT
 public:
-  find_files_dialog (QWidget *parent = 0);
+  find_files_dialog (QWidget *parent = nullptr);
   virtual ~find_files_dialog ();
   void save_settings (void);
 
--- a/libgui/src/history-dock-widget.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/history-dock-widget.h	Fri Apr 28 13:19:12 2017 -0700
@@ -38,7 +38,7 @@
 
 public:
 
-  history_dock_widget (QWidget *parent = 0);
+  history_dock_widget (QWidget *parent = nullptr);
   ~history_dock_widget (void) = default;
 
 public slots:
--- a/libgui/src/m-editor/file-editor-tab.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/m-editor/file-editor-tab.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -2568,7 +2568,7 @@
       if (insert)
         {
           int editor_linenr = -1;
-          marker *bp = 0;
+          marker *bp = nullptr;
 
           // If comes back indicating a non-zero breakpoint marker,
           // reuse it if possible
--- a/libgui/src/m-editor/file-editor.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/m-editor/file-editor.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -229,7 +229,7 @@
 QWidget *
 file_editor::find_tab_widget (const QString& file) const
 {
-  QWidget *retval = 0;
+  QWidget *retval = nullptr;
 
   for (editor_tab_map_const_iterator p = editor_tab_map.begin ();
        p != editor_tab_map.end (); p++)
@@ -335,7 +335,7 @@
         }
       else
         {
-          file_editor_tab *fileEditorTab = 0;
+          file_editor_tab *fileEditorTab = nullptr;
           // Reuse <unnamed> tab if it hasn't yet been modified.
           bool reusing = false;
           tab = find_tab_widget ("");
@@ -510,7 +510,7 @@
     }
 
   QObject *saveFileObject = sender ();
-  QWidget *saveFileWidget = 0;
+  QWidget *saveFileWidget = nullptr;
 
   for (int i = 0; i < _tab_widget->count (); i++)
     {
--- a/libgui/src/m-editor/file-editor.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/m-editor/file-editor.h	Fri Apr 28 13:19:12 2017 -0700
@@ -337,7 +337,7 @@
   bool is_editor_console_tabbed ();
   void construct (void);
   void add_file_editor_tab (file_editor_tab *f, const QString& fn);
-  void save_file_as (QWidget *fetabID = 0);
+  void save_file_as (QWidget *fetabID = nullptr);
   void mru_menu_update (void);
   bool call_custom_editor (const QString& file_name = QString (), int line = -1);
 
--- a/libgui/src/m-editor/find-dialog.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/m-editor/find-dialog.h	Fri Apr 28 13:19:12 2017 -0700
@@ -77,7 +77,7 @@
   Q_OBJECT
 public:
   find_dialog (QsciScintilla *edit_area, QList<QAction *> find_actions,
-               QWidget *parent = 0);
+               QWidget *parent = nullptr);
   void init_search_text ();
 
 private slots:
--- a/libgui/src/main-window.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/main-window.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -245,7 +245,7 @@
 void
 main_window::focus_changed (QWidget *, QWidget *new_widget)
 {
-  octave_dock_widget *dock = 0;
+  octave_dock_widget *dock = nullptr;
   QWidget *w_new = new_widget;  // get a copy of new focus widget
   QWidget *start = w_new;       // Save it as start of our search
   int count = 0;                // fallback to prevent endless loop
--- a/libgui/src/main-window.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/main-window.h	Fri Apr 28 13:19:12 2017 -0700
@@ -282,7 +282,7 @@
   void construct_octave_qt_link (void);
 
   QAction * add_action (QMenu *menu, const QIcon& icon, const QString& text,
-                        const char *member, const QWidget *receiver = 0);
+                        const char *member, const QWidget *receiver = nullptr);
 
   QMenu * m_add_menu (QMenuBar *p, QString text);
   void construct_menu_bar (void);
--- a/libgui/src/octave-dock-widget.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/octave-dock-widget.h	Fri Apr 28 13:19:12 2017 -0700
@@ -36,7 +36,7 @@
 
 public:
 
-  octave_dock_widget (QWidget *p = 0);
+  octave_dock_widget (QWidget *p = nullptr);
   virtual ~octave_dock_widget (void) = default;
 
   virtual void connect_visibility_changed (void);
--- a/libgui/src/qtinfo/parser.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/qtinfo/parser.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -94,7 +94,7 @@
 QIODevice *
 parser::open_file (QFileInfo & file_info)
 {
-  QIODevice *iodevice = 0;
+  QIODevice *iodevice = nullptr;
   if (_compressors_map.contains (file_info.suffix ()))
     {
       QString command = _compressors_map.value (file_info.suffix ()).arg (
--- a/libgui/src/qtinfo/parser.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/qtinfo/parser.h	Fri Apr 28 13:19:12 2017 -0700
@@ -55,7 +55,7 @@
   Q_OBJECT
 
 public:
-  parser (QObject *parent = 0);
+  parser (QObject *parent = nullptr);
   bool set_info_path (const QString& _info_path);
   QString get_info_path ();
   QString search_node (const QString& node);
--- a/libgui/src/qtinfo/webinfo.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/qtinfo/webinfo.h	Fri Apr 28 13:19:12 2017 -0700
@@ -71,7 +71,7 @@
 
 public:
 
-  webinfo (QWidget *parent = 0);
+  webinfo (QWidget *parent = nullptr);
   bool set_info_path (const QString& info_path);
   void load_node (const QString& node_name);
   void load_ref (const QString& ref_name);
--- a/libgui/src/resource-manager.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/resource-manager.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -47,7 +47,7 @@
 #include "workspace-model.h"
 #include "resource-manager.h"
 
-resource_manager *resource_manager::instance = 0;
+resource_manager *resource_manager::instance = nullptr;
 
 static QString
 default_qt_settings_file (void)
--- a/libgui/src/shortcut-manager.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/shortcut-manager.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -42,7 +42,7 @@
 #include "resource-manager.h"
 #include "shortcut-manager.h"
 
-shortcut_manager *shortcut_manager::instance = 0;
+shortcut_manager *shortcut_manager::instance = nullptr;
 
 shortcut_manager::shortcut_manager ()
 {
--- a/libgui/src/shortcut-manager.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/shortcut-manager.h	Fri Apr 28 13:19:12 2017 -0700
@@ -35,7 +35,7 @@
   Q_OBJECT
 
 public:
-  enter_shortcut (QWidget *p = 0);
+  enter_shortcut (QWidget *p = nullptr);
   ~enter_shortcut ();
 
   virtual void keyPressEvent (QKeyEvent *e);
--- a/libgui/src/terminal-dock-widget.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/terminal-dock-widget.h	Fri Apr 28 13:19:12 2017 -0700
@@ -35,7 +35,7 @@
 
 public:
 
-  terminal_dock_widget (QWidget *parent = 0);
+  terminal_dock_widget (QWidget *parent = nullptr);
 
   ~terminal_dock_widget (void);
 
--- a/libgui/src/welcome-wizard.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/welcome-wizard.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -39,7 +39,7 @@
 #include "resource-manager.h"
 
 static QLabel *
-make_octave_logo (QWidget *p = 0, int height = 100)
+make_octave_logo (QWidget *p = nullptr, int height = 100)
 {
   QLabel *logo = new QLabel (p);
   QPixmap logo_pixmap (":/actions/icons/logo.png");
--- a/libgui/src/welcome-wizard.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/welcome-wizard.h	Fri Apr 28 13:19:12 2017 -0700
@@ -36,7 +36,7 @@
 
   typedef QWidget *(*page_creator_fptr) (welcome_wizard *wizard);
 
-  welcome_wizard (QWidget *parent = 0);
+  welcome_wizard (QWidget *parent = nullptr);
 
   ~welcome_wizard (void) = default;
 
--- a/libgui/src/workspace-model.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/workspace-model.h	Fri Apr 28 13:19:12 2017 -0700
@@ -43,7 +43,7 @@
 
 public:
 
-  workspace_model (QObject *parent = 0);
+  workspace_model (QObject *parent = nullptr);
 
   ~workspace_model (void) = default;
 
--- a/libgui/src/workspace-view.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libgui/src/workspace-view.h	Fri Apr 28 13:19:12 2017 -0700
@@ -41,7 +41,7 @@
 
 public:
 
-  workspace_view (QWidget *parent = 0);
+  workspace_view (QWidget *parent = nullptr);
 
   ~workspace_view (void) = default;
 
--- a/libinterp/corefcn/__magick_read__.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/__magick_read__.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -768,7 +768,7 @@
     {
       // Save locale as GraphicsMagick might change this (fixed in
       // GraphicsMagick since version 1.3.13 released on December 24, 2011)
-      const char *static_locale = setlocale (LC_ALL, NULL);
+      const char *static_locale = setlocale (LC_ALL, nullptr);
       const std::string locale (static_locale);
 
       const std::string program_name
--- a/libinterp/corefcn/call-stack.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/call-stack.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -41,7 +41,7 @@
 
 namespace octave
 {
-  call_stack *call_stack::instance = 0;
+  call_stack *call_stack::instance = nullptr;
 
   std::string
   call_stack::stack_frame::fcn_file_name (void) const
@@ -169,7 +169,7 @@
   octave_user_code *
   call_stack::do_caller_user_code (size_t nskip) const
   {
-    octave_user_code *retval = 0;
+    octave_user_code *retval = nullptr;
 
     const_iterator p = cs.end ();
 
@@ -249,7 +249,7 @@
   octave_user_code *
   call_stack::do_debug_user_code (void) const
   {
-    octave_user_code *retval = 0;
+    octave_user_code *retval = nullptr;
 
     // This should never happen...
     if (curr_frame == 0)
--- a/libinterp/corefcn/call-stack.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/call-stack.h	Fri Apr 28 13:19:12 2017 -0700
@@ -54,7 +54,7 @@
 
       friend class call_stack;
 
-      stack_frame (octave_function *fcn = 0, symbol_table::scope_id scope = 0,
+      stack_frame (octave_function *fcn = nullptr, symbol_table::scope_id scope = 0,
                    symbol_table::context_id context = 0, size_t prev = 0)
         : m_fcn (fcn), m_line (-1), m_column (-1), m_scope (scope),
           m_context (context), m_prev (prev)
@@ -373,7 +373,7 @@
 
     octave_function * do_element (size_t n)
     {
-      octave_function *retval = 0;
+      octave_function *retval = nullptr;
 
       if (cs.size () > n)
         {
@@ -405,7 +405,7 @@
 
     octave_function * do_current (void) const
     {
-      octave_function *retval = 0;
+      octave_function *retval = nullptr;
 
       if (! cs.empty ())
         {
--- a/libinterp/corefcn/cdisplay.c	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/cdisplay.c	Fri Apr 28 13:19:12 2017 -0700
@@ -51,7 +51,7 @@
 octave_get_display_info (int *ht, int *wd, int *dp, double *rx, double *ry,
                          int *dpy_avail)
 {
-  const char *msg = 0;
+  const char *msg = NULL;
 
   *dpy_avail = 0;
 
--- a/libinterp/corefcn/display.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/display.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -30,7 +30,7 @@
 #include "display.h"
 #include "error.h"
 
-display_info *display_info::instance = 0;
+display_info *display_info::instance = nullptr;
 
 void
 display_info::init (bool query)
--- a/libinterp/corefcn/dlmread.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/dlmread.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -207,7 +207,7 @@
   if (nargin < 1 || nargin > 4)
     print_usage ();
 
-  std::istream *input = 0;
+  std::istream *input = nullptr;
   std::ifstream input_file;
 
   if (args(0).is_string ())
--- a/libinterp/corefcn/dynamic-ld.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/dynamic-ld.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -99,7 +99,7 @@
       std::cerr << "  " << lib.file_name () << std::endl;
   }
 
-  dynamic_loader *dynamic_loader::instance = 0;
+  dynamic_loader *dynamic_loader::instance = nullptr;
 
   bool dynamic_loader::doing_load = false;
 
@@ -150,7 +150,7 @@
                                const std::string& file_name,
                                bool relative)
   {
-    octave_function *retval = 0;
+    octave_function *retval = nullptr;
 
     unwind_protect frame;
 
@@ -204,7 +204,7 @@
                                const std::string& file_name,
                                bool /*relative*/)
   {
-    octave_function *retval = 0;
+    octave_function *retval = nullptr;
 
     unwind_protect frame;
 
@@ -228,7 +228,7 @@
     if (! mex_file)
       error ("%s is not a valid shared library", file_name.c_str ());
 
-    void *function = 0;
+    void *function = nullptr;
 
     bool have_fmex = false;
 
--- a/libinterp/corefcn/ft-text-renderer.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/ft-text-renderer.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -316,7 +316,7 @@
     bool fontconfig_initialized;
   };
 
-  ft_manager *ft_manager::instance = 0;
+  ft_manager *ft_manager::instance = nullptr;
 
 }
 
--- a/libinterp/corefcn/gl2ps-print.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/gl2ps-print.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -843,7 +843,7 @@
 
     bool have_cmd = stream.length () > 1 && stream[0] == '|';
 
-    FILE *fp = 0;
+    FILE *fp = nullptr;
 
     octave::unwind_protect frame;
 
--- a/libinterp/corefcn/graphics.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/graphics.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -1106,7 +1106,7 @@
                                 const graphics_handle& h = graphics_handle (),
                                 const graphics_handle& p = graphics_handle ())
 {
-  base_graphics_object *go = 0;
+  base_graphics_object *go = nullptr;
 
   if (type.compare ("figure"))
     go = new figure (h, p);
@@ -2657,7 +2657,7 @@
     }
 }
 
-gh_manager *gh_manager::instance = 0;
+gh_manager *gh_manager::instance = nullptr;
 
 static void
 xset (const graphics_handle& h, const caseless_str& pname,
@@ -9563,7 +9563,7 @@
 {
   graphics_handle h = get_handle (integer_figure_handle);
 
-  base_graphics_object *bgo = 0;
+  base_graphics_object *bgo = nullptr;
 
   bgo = make_graphics_object_from_type (go_name, h, p);
 
@@ -9696,7 +9696,7 @@
 
   function_event (void) = delete;
 
-  function_event (graphics_event::event_fcn fcn, void *data = 0)
+  function_event (graphics_event::event_fcn fcn, void *data = nullptr)
     : base_graphics_event (), function (fcn), function_data (data)
   { }
 
@@ -9845,7 +9845,7 @@
   if (cb_arg.is_defined () && ! cb_arg.is_empty ())
     {
       octave_value_list args;
-      octave_function *fcn = 0;
+      octave_function *fcn = nullptr;
 
       args(0) = h.as_octave_value ();
       if (data.is_defined ())
@@ -11147,7 +11147,7 @@
   return ovl (dp);
 }
 
-gtk_manager *gtk_manager::instance = 0;
+gtk_manager *gtk_manager::instance = nullptr;
 
 void
 gtk_manager::create_instance (void)
--- a/libinterp/corefcn/graphics.in.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/graphics.in.h	Fri Apr 28 13:19:12 2017 -0700
@@ -6338,7 +6338,7 @@
                          const octave_value& data = Matrix ());
 
   static graphics_event
-  create_function_event (event_fcn fcn, void *data = 0);
+  create_function_event (event_fcn fcn, void *data = nullptr);
 
   static graphics_event
   create_set_event (const graphics_handle& h, const std::string& name,
@@ -6528,7 +6528,7 @@
       instance->do_post_callback (h, name, data);
   }
 
-  static void post_function (graphics_event::event_fcn fcn, void *data = 0)
+  static void post_function (graphics_event::event_fcn fcn, void *data = nullptr)
   {
     if (instance_ok ())
       instance->do_post_function (fcn, data);
--- a/libinterp/corefcn/input.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/input.h	Fri Apr 28 13:19:12 2017 -0700
@@ -156,7 +156,7 @@
   {
   public:
 
-    terminal_reader (octave::base_lexer *lxr = 0)
+    terminal_reader (octave::base_lexer *lxr = nullptr)
       : base_reader (lxr)
     { }
 
@@ -176,7 +176,7 @@
   {
   public:
 
-    file_reader (FILE *f_arg, octave::base_lexer *lxr = 0)
+    file_reader (FILE *f_arg, octave::base_lexer *lxr = nullptr)
       : base_reader (lxr), file (f_arg) { }
 
     std::string get_input (bool& eof);
@@ -198,7 +198,7 @@
   public:
 
     eval_string_reader (const std::string& str,
-                               octave::base_lexer *lxr = 0)
+                               octave::base_lexer *lxr = nullptr)
       : base_reader (lxr), eval_string (str)
     { }
 
@@ -219,15 +219,15 @@
   input_reader
   {
   public:
-    input_reader (octave::base_lexer *lxr = 0)
+    input_reader (octave::base_lexer *lxr = nullptr)
       : rep (new terminal_reader (lxr))
     { }
 
-    input_reader (FILE *file, octave::base_lexer *lxr = 0)
+    input_reader (FILE *file, octave::base_lexer *lxr = nullptr)
       : rep (new file_reader (file, lxr))
     { }
 
-    input_reader (const std::string& str, octave::base_lexer *lxr = 0)
+    input_reader (const std::string& str, octave::base_lexer *lxr = nullptr)
       : rep (new eval_string_reader (str, lxr))
     { }
 
--- a/libinterp/corefcn/interpreter.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/interpreter.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -361,7 +361,7 @@
 
 namespace octave
 {
-  tree_evaluator *current_evaluator = 0;
+  tree_evaluator *current_evaluator = nullptr;
 
   // Create an interpreter object and perform initialization up to the
   // point of setting reading command history and setting the load
--- a/libinterp/corefcn/interpreter.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/interpreter.h	Fri Apr 28 13:19:12 2017 -0700
@@ -61,7 +61,7 @@
     // Create an interpreter object and perform basic initialization
     // up to the point of reading history and setting the load path.
 
-    interpreter (application *app_context = 0);
+    interpreter (application *app_context = nullptr);
 
     // No copying, at least not yet...
 
--- a/libinterp/corefcn/ls-hdf5.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/ls-hdf5.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -715,11 +715,10 @@
 #endif
 }
 
-// Read the next Octave variable from the stream IS, which must really be
-// an hdf5_ifstream.  Return the variable value in tc, its doc string
-// in doc, and whether it is global in global.  The return value is
-// the name of the variable, or NULL if none were found or there was
-// and error.
+// Read the next Octave variable from the stream IS, which must really be an
+// hdf5_ifstream.  Return the variable value in tc, its doc string in doc, and
+// whether it is global in global.  The return value is the name of the
+// variable, or NULL if none were found or there was an error.
 std::string
 read_hdf5_data (std::istream& is, const std::string& /* filename */,
                 bool& global, octave_value& tc, std::string& doc,
--- a/libinterp/corefcn/mex.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/mex.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -391,7 +391,7 @@
       {
         // For sparse arrays, return the first non-zero value.
         void *data = val.mex_get_data ();
-        if (data == NULL)
+        if (data == nullptr)
           return 0.0;
 
         if (val.is_bool_type ())
@@ -419,7 +419,7 @@
 
   void * get_imag_data (void) const
   {
-    void *retval = 0;
+    void *retval = nullptr;
 
     if (is_numeric () && is_real_type ())
       retval = 0;
@@ -520,7 +520,7 @@
   {
     // FIXME: this is supposed to handle multi-byte character strings.
 
-    char *buf = 0;
+    char *buf = nullptr;
 
     if (val.is_string ())
       {
@@ -793,7 +793,7 @@
         dims
           = static_cast<mwSize *> (mxArray::malloc (ndims * sizeof (mwSize)));
 
-        if (dims == NULL)
+        if (dims == nullptr)
           return 1;
 
         for (int i = 0; i < ndims; i++)
@@ -2391,7 +2391,7 @@
 std::set<void *> mex::global_memlist;
 
 // Current context.
-mex *mex_context = 0;
+mex *mex_context = nullptr;
 
 void *
 mxArray::malloc (size_t n)
@@ -2881,7 +2881,7 @@
   if (mxIsChar (ptr))
     return static_cast<mxChar *> (ptr->get_data ());
   else
-    return NULL;
+    return nullptr;
 }
 
 mxLogical *
@@ -3225,7 +3225,7 @@
 mexCallMATLABWithTrap (int nargout, mxArray *argout[], int nargin,
                        mxArray *argin[], const char *fname)
 {
-  mxArray *mx = NULL;
+  mxArray *mx = nullptr;
 
   int old_flag = (mex_context ? mex_context->trap_feval_error : 0);
   mexSetTrapFlag (1);
@@ -3238,7 +3238,7 @@
                         + std::string (fname) + "> failed";
       mxSetFieldByNumber (mx, 0, 1, mxCreateString (msg.c_str ()));
       mxSetFieldByNumber (mx, 0, 2, mxCreateCellMatrix (0, 0));
-      mxSetFieldByNumber (mx, 0, 3, mxCreateStructMatrix (0, 1, 0, NULL));
+      mxSetFieldByNumber (mx, 0, 3, mxCreateStructMatrix (0, 1, 0, nullptr));
     }
   mexSetTrapFlag (old_flag);
 
@@ -3282,7 +3282,7 @@
 mxArray *
 mexEvalStringWithTrap (const char *s)
 {
-  mxArray *mx = NULL;
+  mxArray *mx = nullptr;
 
   int parse_status;
   bool execution_error = false;
@@ -3309,7 +3309,7 @@
                         + std::string (s) + "> failed";
       mxSetFieldByNumber (mx, 0, 1, mxCreateString (msg.c_str ()));
       mxSetFieldByNumber (mx, 0, 2, mxCreateCellMatrix (0, 0));
-      mxSetFieldByNumber (mx, 0, 3, mxCreateStructMatrix (0, 1, 0, NULL));
+      mxSetFieldByNumber (mx, 0, 3, mxCreateStructMatrix (0, 1, 0, nullptr));
     }
 
   return mx;
@@ -3389,7 +3389,7 @@
 mxArray *
 mexGetVariable (const char *space, const char *name)
 {
-  mxArray *retval = 0;
+  mxArray *retval = nullptr;
 
   octave_value val;
 
@@ -3515,7 +3515,7 @@
 const mxArray *
 mexGet (double handle, const char *property)
 {
-  mxArray *m = 0;
+  mxArray *m = nullptr;
 
   octave_value ret = get_property_from_handle (handle, property, "mexGet");
 
--- a/libinterp/corefcn/mxarray.in.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/mxarray.in.h	Fri Apr 28 13:19:12 2017 -0700
@@ -513,7 +513,7 @@
 
   static char * strsave (const char *str)
   {
-    char *retval = 0;
+    char *retval = nullptr;
 
     if (str)
       {
--- a/libinterp/corefcn/oct-errno.in.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-errno.in.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -33,7 +33,7 @@
 #include "oct-map.h"
 #include "error.h"
 
-octave_errno *octave_errno::instance = 0;
+octave_errno *octave_errno::instance = nullptr;
 
 octave_errno::octave_errno (void)
 {
--- a/libinterp/corefcn/oct-fstrm.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-fstrm.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -88,7 +88,7 @@
 std::istream *
 octave_fstream::input_stream (void)
 {
-  std::istream *retval = 0;
+  std::istream *retval = nullptr;
 
   if (mode () & std::ios::in)
     retval = &fs;
@@ -99,7 +99,7 @@
 std::ostream *
 octave_fstream::output_stream (void)
 {
-  std::ostream *retval = 0;
+  std::ostream *retval = nullptr;
 
   if (mode () & std::ios::out)
     retval = &fs;
--- a/libinterp/corefcn/oct-iostrm.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-iostrm.h	Fri Apr 28 13:19:12 2017 -0700
@@ -84,14 +84,14 @@
 {
 public:
 
-  octave_istream (std::istream *arg = 0, const std::string& n = "")
+  octave_istream (std::istream *arg = nullptr, const std::string& n = "")
     : octave_base_iostream (n, std::ios::in,
                             octave::mach_info::native_float_format ()),
       is (arg)
   { }
 
   static octave::stream
-  create (std::istream *arg = 0, const std::string& n = "");
+  create (std::istream *arg = nullptr, const std::string& n = "");
 
   // Return nonzero if EOF has been reached on this stream.
 
--- a/libinterp/corefcn/oct-procbuf.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-procbuf.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -59,7 +59,7 @@
 // This class is based on the procbuf class from libg++, written by
 // Per Bothner, Copyright (C) 1993 Free Software Foundation.
 
-static octave_procbuf *octave_procbuf_list = 0;
+static octave_procbuf *octave_procbuf_list = nullptr;
 
 #if ! defined (BUFSIZ)
 #  define BUFSIZ 1024
--- a/libinterp/corefcn/oct-stdstrm.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-stdstrm.h	Fri Apr 28 13:19:12 2017 -0700
@@ -102,7 +102,7 @@
 {
 public:
 
-  octave_stdiostream (const std::string& n, FILE *f = 0,
+  octave_stdiostream (const std::string& n, FILE *f = nullptr,
                       std::ios::openmode m = std::ios::in | std::ios::out,
                       octave::mach_info::float_format ff
                         = octave::mach_info::native_float_format (),
@@ -111,7 +111,7 @@
        (n, f, f ? fileno (f) : -1, m, ff, cf) { }
 
   static octave::stream
-  create (const std::string& n, FILE *f = 0,
+  create (const std::string& n, FILE *f = nullptr,
           std::ios::openmode m = std::ios::in | std::ios::out,
           octave::mach_info::float_format ff
             = octave::mach_info::native_float_format (),
--- a/libinterp/corefcn/oct-stream.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-stream.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -229,7 +229,7 @@
         null = 3
       };
 
-    scanf_format_elt (const char *txt = 0, int w = 0, bool d = false,
+    scanf_format_elt (const char *txt = nullptr, int w = 0, bool d = false,
                       char typ = '\0', char mod = '\0',
                       const std::string& ch_class = "")
       : text (strsave (txt)), width (w), discard (d), type (typ),
@@ -741,7 +741,7 @@
   {
   public:
 
-    printf_format_elt (const char *txt = 0, int n = 0, int w = -1,
+    printf_format_elt (const char *txt = nullptr, int n = 0, int w = -1,
                        int p = -1, const std::string& f = "",
                        char typ = '\0', char mod = '\0')
       : text (strsave (txt)), args (n), fw (w), prec (p), flags (f),
@@ -4612,7 +4612,7 @@
     bool all_char_conv = fmt_list.all_character_conversions ();
 
     Matrix mval;
-    double *data = 0;
+    double *data = nullptr;
     octave_idx_type max_size = 0;
     octave_idx_type max_conv = 0;
 
@@ -7243,7 +7243,7 @@
     return retval;
   }
 
-  stream_list *stream_list::instance = 0;
+  stream_list *stream_list::instance = nullptr;
 
   bool
   stream_list::instance_ok (void)
--- a/libinterp/corefcn/oct-stream.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/oct-stream.h	Fri Apr 28 13:19:12 2017 -0700
@@ -244,7 +244,7 @@
   {
   public:
 
-    stream (base_stream *bs = 0);
+    stream (base_stream *bs = nullptr);
 
     ~stream (void);
 
--- a/libinterp/corefcn/octave-link.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/octave-link.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -47,7 +47,7 @@
   return 0;
 }
 
-octave_link *octave_link::instance = 0;
+octave_link *octave_link::instance = nullptr;
 
 octave_link::octave_link (void)
   : event_queue_mutex (new octave::mutex ()), gui_event_queue (),
--- a/libinterp/corefcn/pager.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/pager.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -48,7 +48,7 @@
 #include "variables.h"
 
 // Our actual connection to the external pager.
-static oprocstream *external_pager = 0;
+static oprocstream *external_pager = nullptr;
 
 // TRUE means we write to the diary file.
 static bool write_to_diary_file = false;
@@ -302,7 +302,7 @@
     return 0;
   }
 
-  pager_stream *pager_stream::instance = 0;
+  pager_stream *pager_stream::instance = nullptr;
 
   pager_stream::pager_stream (void) : std::ostream (0), pb (0)
   {
@@ -391,7 +391,7 @@
     return retval;
   }
 
-  diary_stream *diary_stream::instance = 0;
+  diary_stream *diary_stream::instance = nullptr;
 
   diary_stream::diary_stream (void) : std::ostream (0), db (0)
   {
--- a/libinterp/corefcn/pr-output.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/pr-output.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -489,10 +489,10 @@
 
 // Current format for real numbers and the real part of complex
 // numbers.
-static float_format *curr_real_fmt = 0;
+static float_format *curr_real_fmt = nullptr;
 
 // Current format for the imaginary part of complex numbers.
-static float_format *curr_imag_fmt = 0;
+static float_format *curr_imag_fmt = nullptr;
 
 static double
 pr_max_internal (const Matrix& m)
--- a/libinterp/corefcn/profiler.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/profiler.h	Fri Apr 28 13:19:12 2017 -0700
@@ -158,7 +158,7 @@
     // Get the hierarchical profile for this node and its children.  If total
     // is set, accumulate total time of the subtree in that variable as
     // additional return value.
-    octave_value get_hierarchical (double *total = 0) const;
+    octave_value get_hierarchical (double *total = nullptr) const;
 
   private:
 
--- a/libinterp/corefcn/qz.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/qz.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -895,7 +895,7 @@
       // Compute all of them and backtransform
       char howmany = 'B';
       // Dummy pointer; select is not used.
-      F77_INT *select = 0;
+      F77_INT *select = nullptr;
 
       if (complex_case)
         {
--- a/libinterp/corefcn/sighandlers.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/sighandlers.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -78,7 +78,7 @@
   static bool Vsigterm_dumps_octave_core = true;
 
   // List of signals we have caught since last call to octave::signal_handler.
-  static bool *signals_caught = 0;
+  static bool *signals_caught = nullptr;
 
   // Forward declarations.
   static void user_terminate (int sig_number);
@@ -335,7 +335,7 @@
     static base_interrupt_manager *instance;
   };
 
-  base_interrupt_manager *interrupt_manager::instance = 0;
+  base_interrupt_manager *interrupt_manager::instance = nullptr;
 
   static void
   my_friendly_exit (int sig, bool save_vars = true)
--- a/libinterp/corefcn/strfns.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/strfns.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -758,7 +758,7 @@
   size_t srclen = native_bytes.numel ();
 
   size_t length;
-  uint8_t *utf8_str = 0;
+  uint8_t *utf8_str = nullptr;
 
   octave::unwind_protect frame;
 
@@ -804,7 +804,7 @@
   size_t srclen = utf8_str.numel ();
 
   size_t length;
-  char *native_bytes = 0;
+  char *native_bytes = nullptr;
 
   octave::unwind_protect frame;
 
--- a/libinterp/corefcn/symtab.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/symtab.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -51,9 +51,9 @@
 
 octave_value symbol_table::dummy_octave_value;
 
-symbol_table *symbol_table::instance = 0;
+symbol_table *symbol_table::instance = nullptr;
 
-symbol_table::scope_id_cache *symbol_table::scope_id_cache::instance = 0;
+symbol_table::scope_id_cache *symbol_table::scope_id_cache::instance = nullptr;
 
 std::map<symbol_table::scope_id, symbol_table*> symbol_table::all_instances;
 
--- a/libinterp/corefcn/symtab.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/symtab.h	Fri Apr 28 13:19:12 2017 -0700
@@ -2360,7 +2360,7 @@
 
   static symbol_table * get_instance (scope_id scope, bool create = true)
   {
-    symbol_table *retval = 0;
+    symbol_table *retval = nullptr;
 
     bool ok = true;
 
--- a/libinterp/corefcn/typecast.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/typecast.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -144,7 +144,7 @@
 
   octave::unwind_protect frame;
 
-  const void *data = 0;
+  const void *data = nullptr;
   octave_idx_type byte_size = 0;
   dim_vector old_dims;
 
--- a/libinterp/corefcn/urlwrite.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/urlwrite.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -275,7 +275,7 @@
     }
 }
 
-ch_manager *ch_manager::instance = 0;
+ch_manager *ch_manager::instance = nullptr;
 
 DEFUN (urlwrite, args, nargout,
        doc: /* -*- texinfo -*-
--- a/libinterp/corefcn/variables.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/corefcn/variables.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -102,7 +102,7 @@
 is_valid_function (const std::string& fcn_name,
                    const std::string& warn_for, bool warn)
 {
-  octave_function *ans = 0;
+  octave_function *ans = nullptr;
 
   if (! fcn_name.empty ())
     {
@@ -124,7 +124,7 @@
 is_valid_function (const octave_value& arg,
                    const std::string& warn_for, bool warn)
 {
-  octave_function *ans = 0;
+  octave_function *ans = nullptr;
 
   std::string fcn_name;
 
@@ -147,7 +147,7 @@
                   const std::string& fname, const std::string& header,
                   const std::string& trailer)
 {
-  octave_function *retval = 0;
+  octave_function *retval = nullptr;
 
   retval = is_valid_function (arg, warn_for, 0);
 
@@ -741,7 +741,7 @@
 bool try_local_protect (T& var)
 {
   octave_user_code *curr_usr_code = octave::call_stack::caller_user_code ();
-  octave_user_function *curr_usr_fcn = 0;
+  octave_user_function *curr_usr_fcn = nullptr;
   if (curr_usr_code && curr_usr_code->is_user_function ())
     curr_usr_fcn = dynamic_cast<octave_user_function *> (curr_usr_code);
 
--- a/libinterp/dldfcn/__eigs__.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/dldfcn/__eigs__.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -43,7 +43,7 @@
 #if defined (HAVE_ARPACK)
 
 // Global pointer for user defined function.
-static octave_function *eigs_fcn = 0;
+static octave_function *eigs_fcn = nullptr;
 
 // Have we warned about imaginary values returned from user function?
 static bool warned_imaginary = false;
--- a/libinterp/dldfcn/__init_fltk__.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/dldfcn/__init_fltk__.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -2206,7 +2206,7 @@
   }
 };
 
-figure_manager *figure_manager::instance = 0;
+figure_manager *figure_manager::instance = nullptr;
 
 std::string figure_manager::fltk_idx_header="fltk index=";
 int figure_manager::curr_index = 1;
--- a/libinterp/dldfcn/__ode15__.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/dldfcn/__ode15__.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -1065,7 +1065,7 @@
 
     bool haverefine = (refine > 1);
 
-    octave_function *output_fcn = 0;
+    octave_function *output_fcn = nullptr;
     ColumnVector outputsel;
 
     // OutputFcn
@@ -1081,7 +1081,7 @@
     if (haveoutputsel)
       outputsel = options.getfield("OutputSel").vector_value ();
 
-    octave_function *event_fcn = 0;
+    octave_function *event_fcn = nullptr;
 
     // Events
     bool haveeventfunction
@@ -1127,7 +1127,7 @@
     print_usage ();
 
   // Check odefun
-  octave_function *ida_fcn = 0;
+  octave_function *ida_fcn = nullptr;
 
   octave_value f_arg = args(0);
 
--- a/libinterp/dldfcn/colamd.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/dldfcn/colamd.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -664,8 +664,8 @@
 
   octave_idx_type n_row = 0;
   octave_idx_type n_col = 0;
-  octave_idx_type *ridx = 0;
-  octave_idx_type *cidx = 0;
+  octave_idx_type *ridx = nullptr;
+  octave_idx_type *cidx = nullptr;
 
   if (args(0).is_sparse_type ())
     error ("etree: S must be a sparse matrix");
--- a/libinterp/octave-value/ov-base-int.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-base-int.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -137,7 +137,7 @@
 octave_base_value *
 octave_base_int_matrix<T>::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (this->matrix.numel () == 1)
     retval = new typename octave_value_int_traits<T>::scalar_type
--- a/libinterp/octave-value/ov-base.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-base.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -911,7 +911,7 @@
 octave_function *
 octave_base_value::function_value (bool silent)
 {
-  octave_function *retval = 0;
+  octave_function *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::function_value()", type_name ());
@@ -922,7 +922,7 @@
 octave_user_function *
 octave_base_value::user_function_value (bool silent)
 {
-  octave_user_function *retval = 0;
+  octave_user_function *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::user_function_value()",
@@ -933,7 +933,7 @@
 octave_user_script *
 octave_base_value::user_script_value (bool silent)
 {
-  octave_user_script *retval = 0;
+  octave_user_script *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::user_script_value()", type_name ());
@@ -944,7 +944,7 @@
 octave_user_code *
 octave_base_value::user_code_value (bool silent)
 {
-  octave_user_code *retval = 0;
+  octave_user_code *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::user_code_value()", type_name ());
@@ -955,7 +955,7 @@
 octave_fcn_handle *
 octave_base_value::fcn_handle_value (bool silent)
 {
-  octave_fcn_handle *retval = 0;
+  octave_fcn_handle *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::fcn_handle_value()", type_name ());
@@ -966,7 +966,7 @@
 octave_fcn_inline *
 octave_base_value::fcn_inline_value (bool silent)
 {
-  octave_fcn_inline *retval = 0;
+  octave_fcn_inline *retval = nullptr;
 
   if (! silent)
     err_wrong_type_arg ("octave_base_value::fcn_inline_value()", type_name ());
--- a/libinterp/octave-value/ov-bool-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-bool-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -85,7 +85,7 @@
 octave_base_value *
 octave_bool_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.ndims () == 2)
     {
--- a/libinterp/octave-value/ov-bool-sparse.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-bool-sparse.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -74,7 +74,7 @@
 octave_base_value *
 octave_sparse_bool_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (Vsparse_auto_mutate)
     {
--- a/libinterp/octave-value/ov-builtin.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-builtin.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -177,4 +177,4 @@
   return dispatch_classes.find (dispatch_type) != dispatch_classes.end ();
 }
 
-const std::list<octave_lvalue> *octave_builtin::curr_lvalue_list = 0;
+const std::list<octave_lvalue> *octave_builtin::curr_lvalue_list = nullptr;
--- a/libinterp/octave-value/ov-class.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-class.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -864,7 +864,7 @@
 octave_base_value *
 octave_class::find_parent_class (const std::string& parent_class_name)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (parent_class_name == class_name ())
     retval = this;
@@ -893,7 +893,7 @@
 octave_base_value *
 octave_class::unique_parent_class (const std::string& parent_class_name)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (parent_class_name == class_name ())
     retval = this;
--- a/libinterp/octave-value/ov-classdef.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-classdef.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -3533,7 +3533,7 @@
 
 //----------------------------------------------------------------------------
 
-cdef_manager *cdef_manager::instance = 0;
+cdef_manager *cdef_manager::instance = nullptr;
 
 void
 cdef_manager::create_instance (void)
@@ -3600,7 +3600,7 @@
 cdef_manager::do_find_method_symbol (const std::string& method_name,
                                      const std::string& class_name)
 {
-  octave_function *retval = 0;
+  octave_function *retval = nullptr;
 
   cdef_class cls = find_class (class_name, false, false);
 
@@ -3660,7 +3660,7 @@
 octave_function*
 cdef_manager::do_find_package_symbol (const std::string& pack_name)
 {
-  octave_function *retval = 0;
+  octave_function *retval = nullptr;
 
   cdef_package pack = find_package (pack_name, false);
 
--- a/libinterp/octave-value/ov-complex.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-complex.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -106,7 +106,7 @@
 octave_base_value *
 octave_complex::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   double im = scalar.imag ();
 
--- a/libinterp/octave-value/ov-cx-diag.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-cx-diag.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -78,7 +78,7 @@
 octave_base_value *
 octave_complex_diag_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.nelem () == 1)
     {
--- a/libinterp/octave-value/ov-cx-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-cx-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -85,7 +85,7 @@
 octave_base_value *
 octave_complex_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.numel () == 1)
     {
--- a/libinterp/octave-value/ov-cx-sparse.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-cx-sparse.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -58,7 +58,7 @@
 octave_base_value *
 octave_sparse_complex_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (Vsparse_auto_mutate)
     {
--- a/libinterp/octave-value/ov-fcn-handle.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-fcn-handle.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -1926,13 +1926,13 @@
 octave_fcn_binder::maybe_binder (const octave_value& f,
                                  octave::tree_evaluator *tw)
 {
-  octave_fcn_handle *retval = 0;
+  octave_fcn_handle *retval = nullptr;
 
   octave_user_function *usr_fcn = f.user_function_value (false);
   octave::tree_parameter_list *param_list = (usr_fcn ? usr_fcn->parameter_list () : 0);
 
-  octave::tree_statement_list *cmd_list = 0;
-  octave::tree_expression *body_expr = 0;
+  octave::tree_statement_list *cmd_list = nullptr;
+  octave::tree_expression *body_expr = nullptr;
 
   if (usr_fcn)
     {
--- a/libinterp/octave-value/ov-fcn-inline.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-fcn-inline.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -932,7 +932,7 @@
     print_usage ();
 
   std::string old_func;
-  octave_fcn_inline *old = 0;
+  octave_fcn_inline *old = nullptr;
   bool func_is_string = true;
 
   if (args(0).is_string ())
--- a/libinterp/octave-value/ov-flt-complex.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-flt-complex.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -62,7 +62,7 @@
 octave_base_value *
 octave_float_complex::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   float im = scalar.imag ();
 
--- a/libinterp/octave-value/ov-flt-cx-diag.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-flt-cx-diag.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -58,7 +58,7 @@
 octave_base_value *
 octave_float_complex_diag_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.nelem () == 1)
     {
--- a/libinterp/octave-value/ov-flt-cx-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-flt-cx-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -73,7 +73,7 @@
 octave_base_value *
 octave_float_complex_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.numel () == 1)
     {
--- a/libinterp/octave-value/ov-flt-re-diag.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-flt-re-diag.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -57,7 +57,7 @@
 octave_base_value *
 octave_float_diag_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.nelem () == 1)
     retval = new octave_float_scalar (matrix (0, 0));
--- a/libinterp/octave-value/ov-flt-re-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-flt-re-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -88,7 +88,7 @@
 octave_base_value *
 octave_float_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.numel () == 1)
     retval = new octave_float_scalar (matrix (0));
--- a/libinterp/octave-value/ov-java.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-java.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -136,10 +136,10 @@
 jstring_to_string (JNIEnv *jni_env, jobject obj);
 
 static octave_value
-box (JNIEnv *jni_env, void *jobj, void *jcls_arg = 0);
+box (JNIEnv *jni_env, void *jobj, void *jcls_arg = nullptr);
 
 static octave_value
-box_more (JNIEnv *jni_env, void *jobj_arg, void *jcls_arg = 0);
+box_more (JNIEnv *jni_env, void *jobj_arg, void *jcls_arg = nullptr);
 
 static bool
 unbox (JNIEnv *jni_env, const octave_value& val, jobject_ref& jobj,
@@ -168,7 +168,7 @@
   Java_org_octave_Octave_needThreadedInvokation (JNIEnv *, jclass);
 }
 
-static JavaVM *jvm = 0;
+static JavaVM *jvm = nullptr;
 static bool jvm_attached = false;
 
 // Need to keep hold of the shared library handle until exit.
@@ -706,7 +706,7 @@
 static inline JNIEnv *
 thread_jni_env (void)
 {
-  JNIEnv *env = 0;
+  JNIEnv *env = nullptr;
 
   if (jvm)
     jvm->GetEnv (reinterpret_cast<void **> (&env), JNI_VERSION_1_2);
--- a/libinterp/octave-value/ov-java.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-java.h	Fri Apr 28 13:19:12 2017 -0700
@@ -36,7 +36,7 @@
 
   octave_java (void);
 
-  octave_java (const voidptr& obj, void *cls = 0);
+  octave_java (const voidptr& obj, void *cls = nullptr);
 
   octave_java (const octave_java& jobj)
     : octave_base_value (jobj), java_object (0), java_class (0)
--- a/libinterp/octave-value/ov-lazy-idx.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-lazy-idx.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -50,7 +50,7 @@
 octave_base_value *
 octave_lazy_index::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   switch (index.length (0))
     {
--- a/libinterp/octave-value/ov-perm.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-perm.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -480,7 +480,7 @@
 octave_base_value *
 octave_perm_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.numel () == 1)
     retval = new octave_scalar (matrix (0, 0));
--- a/libinterp/octave-value/ov-range.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-range.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -78,7 +78,7 @@
 octave_base_value *
 octave_range::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   switch (range.numel ())
     {
--- a/libinterp/octave-value/ov-re-diag.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-re-diag.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -73,7 +73,7 @@
 octave_base_value *
 octave_diag_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.nelem () == 1)
     retval = new octave_scalar (matrix (0, 0));
--- a/libinterp/octave-value/ov-re-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-re-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -103,7 +103,7 @@
 octave_base_value *
 octave_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (matrix.numel () == 1)
     retval = new octave_scalar (matrix (0));
--- a/libinterp/octave-value/ov-re-sparse.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-re-sparse.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -69,7 +69,7 @@
 octave_base_value *
 octave_sparse_matrix::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (Vsparse_auto_mutate)
     {
--- a/libinterp/octave-value/ov-str-mat.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-str-mat.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -62,7 +62,7 @@
 static octave_base_value *
 default_numeric_conversion_function (const octave_base_value& a)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   const octave_char_matrix_str& v
     = dynamic_cast<const octave_char_matrix_str&> (a);
--- a/libinterp/octave-value/ov-struct.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-struct.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -62,7 +62,7 @@
 octave_base_value *
 octave_struct::try_narrowing_conversion (void)
 {
-  octave_base_value *retval = 0;
+  octave_base_value *retval = nullptr;
 
   if (numel () == 1)
     retval = new octave_scalar_struct (map.checkelem (0));
--- a/libinterp/octave-value/ov-usr-fcn.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave-value/ov-usr-fcn.h	Fri Apr 28 13:19:12 2017 -0700
@@ -180,9 +180,9 @@
 public:
 
   octave_user_function (symbol_table::scope_id sid = -1,
-                        octave::tree_parameter_list *pl = 0,
-                        octave::tree_parameter_list *rl = 0,
-                        octave::tree_statement_list *cl = 0);
+                        octave::tree_parameter_list *pl = nullptr,
+                        octave::tree_parameter_list *rl = nullptr,
+                        octave::tree_statement_list *cl = nullptr);
 
   // No copying!
 
--- a/libinterp/octave.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -298,7 +298,7 @@
     return *this;
   }
 
-  application *application::instance = 0;
+  application *application::instance = nullptr;
 
   application::application (int argc, char **argv)
     : m_options (argc, argv)
--- a/libinterp/octave.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/octave.h	Fri Apr 28 13:19:12 2017 -0700
@@ -301,7 +301,7 @@
     // If TRUE, the GUI should be started.
     bool m_gui_running = false;
 
-    interpreter *m_interpreter = 0;
+    interpreter *m_interpreter = nullptr;
   };
 
   class OCTINTERP_API cli_application : public application
--- a/libinterp/parse-tree/bp-table.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/bp-table.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -57,7 +57,7 @@
 #include "symtab.h"
 
 // Initialize the singleton object
-bp_table *bp_table::instance = 0;
+bp_table *bp_table::instance = nullptr;
 
 std::set<std::string> bp_table::errors_that_stop;
 std::set<std::string> bp_table::caught_that_stop;
@@ -169,7 +169,7 @@
 octave_user_code *
 get_user_code (const std::string& fname)
 {
-  octave_user_code *dbg_fcn = 0;
+  octave_user_code *dbg_fcn = nullptr;
 
   if (fname.empty ())
     dbg_fcn = octave::call_stack::debug_user_code ();
@@ -379,7 +379,7 @@
         error ("dbstop: Cannot parse condition '%s'", cond.c_str ());
       else
         {
-          octave::tree_statement *stmt = 0;
+          octave::tree_statement *stmt = nullptr;
           if (! parser.stmt_list)
             error ("dbstop: "
                    "condition is not empty, but has nothing to evaluate");
@@ -545,8 +545,8 @@
               int on_off = ! strcmp(who, "dbstop");
 
               // list of error/warning IDs to update
-              std::set<std::string> *id_list = NULL;
-              bool *stop_flag = NULL;         // Vdebug_on_... flag
+              std::set<std::string> *id_list = nullptr;
+              bool *stop_flag = nullptr;         // Vdebug_on_... flag
 
               if (condition == "error")
                 {
@@ -584,7 +584,7 @@
                        who, condition.c_str ());
 
               // process ID list for "dbstop if error <error_ID>" etc
-              if (id_list != NULL)
+              if (id_list != nullptr)
                 {
                   pos++;
                   if (pos < nargin)       // only affect a single error ID
@@ -594,13 +594,13 @@
                       else if (on_off == 1)
                         {
                           id_list->insert (args(pos).string_value ());
-                          *stop_flag = 1;
+                          *stop_flag = true;
                         }
                       else
                         {
                           id_list->erase (args(pos).string_value ());
                           if (id_list->empty ())
-                            *stop_flag = 0;
+                            *stop_flag = false;
                         }
                     }
                   else   // unqualified.  Turn all on or off
@@ -645,10 +645,10 @@
 // line number LINENO of the source file.
 // If END_LINE != 0, *END_LINE is set to last line of the returned function.
 static octave_user_code*
-find_fcn_by_line (octave_user_code *main_fcn, int lineno, int *end_line = 0)
+find_fcn_by_line (octave_user_code *main_fcn, int lineno, int *end_line = nullptr)
 {
-  octave_user_code *retval = 0;
-  octave_user_code *next_fcn = 0;  // 1st function starting after lineno
+  octave_user_code *retval = nullptr;
+  octave_user_code *next_fcn = nullptr;  // 1st function starting after lineno
 
   // Find innermost nested (or parent) function containing lineno.
   int earliest_end = std::numeric_limits<int>::max ();
--- a/libinterp/parse-tree/jit-ir.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/jit-ir.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -644,7 +644,7 @@
   if (! p->alive ())
     return false;
 
-  jit_type *infered = 0;
+  jit_type *infered = nullptr;
   for (size_t i = 0; i < argument_count (); ++i)
     {
       jit_block *inc = incomming (i);
--- a/libinterp/parse-tree/jit-ir.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/jit-ir.h	Fri Apr 28 13:19:12 2017 -0700
@@ -318,7 +318,7 @@
 
   std::list<jit_block *> user_parent_location (void) const;
 
-  void stash_value (jit_value *avalue, jit_instruction *auser = 0,
+  void stash_value (jit_value *avalue, jit_instruction *auser = nullptr,
                     size_t aindex = -1)
   {
     PARENT_T::stash_value (avalue);
@@ -421,7 +421,7 @@
     return marguments.size ();
   }
 
-  void resize_arguments (size_t acount, jit_value *adefault = 0)
+  void resize_arguments (size_t acount, jit_value *adefault = nullptr)
   {
     size_t old = marguments.size ();
     marguments.resize (acount);
--- a/libinterp/parse-tree/jit-typeinfo.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/jit-typeinfo.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -75,7 +75,7 @@
 
 static llvm::LLVMContext& context = llvm::getGlobalContext ();
 
-jit_typeinfo *jit_typeinfo::instance = 0;
+jit_typeinfo *jit_typeinfo::instance = nullptr;
 
 std::ostream& jit_print (std::ostream& os, jit_type *atype)
 {
@@ -655,7 +655,7 @@
   llvm::BasicBlock& prelude = parent->getEntryBlock ();
   llvm::IRBuilder<> pre_builder (&prelude, prelude.begin ());
 
-  llvm::AllocaInst *sret_mem = 0;
+  llvm::AllocaInst *sret_mem = nullptr;
   if (sret ())
     {
       sret_mem = pre_builder.CreateAlloca (mresult->packed_type (call_conv));
--- a/libinterp/parse-tree/jit-typeinfo.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/jit-typeinfo.h	Fri Apr 28 13:19:12 2017 -0700
@@ -253,7 +253,7 @@
   std::string name (void) const;
 
   llvm::BasicBlock * new_block (const std::string& aname = "body",
-                                llvm::BasicBlock *insert_before = 0);
+                                llvm::BasicBlock *insert_before = nullptr);
 
   llvm::Value * call (llvm::IRBuilderD& builder,
                       const std::vector<jit_value *>& in_args) const;
@@ -286,7 +286,7 @@
 
   llvm::Value * argument (llvm::IRBuilderD& builder, size_t idx) const;
 
-  void do_return (llvm::IRBuilderD& builder, llvm::Value *rval = 0,
+  void do_return (llvm::IRBuilderD& builder, llvm::Value *rval = nullptr,
                   bool verify = true);
 
   llvm::Function * to_llvm (void) const { return llvm_function; }
--- a/libinterp/parse-tree/lex.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/lex.h	Fri Apr 28 13:19:12 2017 -0700
@@ -546,7 +546,7 @@
       octave_comment_list *comment_list;
     };
 
-    base_lexer (interpreter *interp_context = 0)
+    base_lexer (interpreter *interp_context = nullptr)
       : lexical_feedback (), scanner (0), input_buf (), comment_buf (),
         m_interp_context (interp_context)
     {
@@ -700,7 +700,7 @@
 
     int handle_token (const std::string& name, int tok);
 
-    int handle_token (int tok, token *tok_val = 0);
+    int handle_token (int tok, token *tok_val = nullptr);
 
     int count_token (int tok);
 
@@ -720,16 +720,16 @@
   {
   public:
 
-    lexer (interpreter *interp_context = 0)
+    lexer (interpreter *interp_context = nullptr)
       : base_lexer (interp_context), reader (this)
     { }
 
-    lexer (FILE *file, interpreter *interp_context = 0)
+    lexer (FILE *file, interpreter *interp_context = nullptr)
       : base_lexer (interp_context), reader (file, this)
     { }
 
     lexer (const std::string& eval_string,
-           interpreter *interp_context = 0)
+           interpreter *interp_context = nullptr)
       : base_lexer (interp_context), reader (eval_string, this)
     { }
 
@@ -784,27 +784,27 @@
   {
   public:
 
-    push_lexer (interpreter *interp_context = 0)
+    push_lexer (interpreter *interp_context = nullptr)
       : base_lexer (interp_context), pflag (1)
     {
       append_input ("", false);
     }
 
     push_lexer (const std::string& input,
-                interpreter *interp_context = 0)
+                interpreter *interp_context = nullptr)
       : base_lexer (interp_context), pflag (1)
     {
       append_input (input, false);
     }
 
-    push_lexer (bool eof, interpreter *interp_context = 0)
+    push_lexer (bool eof, interpreter *interp_context = nullptr)
       : base_lexer (interp_context), pflag (1)
     {
       append_input ("", eof);
     }
 
     push_lexer (const std::string& input, bool eof,
-                interpreter *interp_context = 0)
+                interpreter *interp_context = nullptr)
       : base_lexer (interp_context), pflag (1)
     {
       append_input (input, eof);
--- a/libinterp/parse-tree/pt-arg-list.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-arg-list.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -120,7 +120,7 @@
   }
 }
 
-static const octave_value *indexed_object = 0;
+static const octave_value *indexed_object = nullptr;
 static int index_position = 0;
 static int num_indices = 0;
 
--- a/libinterp/parse-tree/pt-arg-list.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-arg-list.h	Fri Apr 28 13:19:12 2017 -0700
@@ -91,7 +91,7 @@
     bool is_valid_lvalue_list (void) const;
 
     octave_value_list convert_to_const_vector (tree_evaluator *tw,
-                                               const octave_value *object = 0);
+                                               const octave_value *object = nullptr);
 
     std::list<octave_lvalue> lvalue_list (tree_evaluator *tw);
 
--- a/libinterp/parse-tree/pt-array-list.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-array-list.h	Fri Apr 28 13:19:12 2017 -0700
@@ -46,7 +46,7 @@
 
   protected:
 
-    tree_array_list (tree_argument_list *row = 0, int l = -1, int c = -1)
+    tree_array_list (tree_argument_list *row = nullptr, int l = -1, int c = -1)
       : tree_expression (l, c), octave::base_list<tree_argument_list *> ()
     {
       if (row)
--- a/libinterp/parse-tree/pt-cell.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-cell.h	Fri Apr 28 13:19:12 2017 -0700
@@ -44,7 +44,7 @@
   {
   public:
 
-    tree_cell (tree_argument_list *row = 0, int l = -1, int c = -1)
+    tree_cell (tree_argument_list *row = nullptr, int l = -1, int c = -1)
       : tree_array_list (row, l, c)
     { }
 
--- a/libinterp/parse-tree/pt-classdef.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-classdef.h	Fri Apr 28 13:19:12 2017 -0700
@@ -42,7 +42,8 @@
   {
   public:
 
-    tree_classdef_attribute (tree_identifier *i = 0, tree_expression *e = 0)
+    tree_classdef_attribute (tree_identifier *i = nullptr,
+                             tree_expression *e = nullptr)
       : id (i), expr (e), neg (false) { }
 
     tree_classdef_attribute (tree_identifier *i, bool b)
@@ -214,7 +215,7 @@
   {
   public:
 
-    tree_classdef_property (tree_identifier *i = 0, tree_expression *e = 0)
+    tree_classdef_property (tree_identifier *i = nullptr, tree_expression *e = nullptr)
       : id (i), expr (e) { }
 
     // No copying!
@@ -352,7 +353,7 @@
   {
   public:
 
-    tree_classdef_event (tree_identifier *i = 0) : id (i) { }
+    tree_classdef_event (tree_identifier *i = nullptr) : id (i) { }
 
     // No copying!
 
--- a/libinterp/parse-tree/pt-colon.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-colon.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -39,7 +39,7 @@
   tree_colon_expression *
   tree_colon_expression::append (tree_expression *t)
   {
-    tree_colon_expression *retval = 0;
+    tree_colon_expression *retval = nullptr;
 
     if (! op_base)
       error ("invalid colon expression");
--- a/libinterp/parse-tree/pt-decl.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-decl.h	Fri Apr 28 13:19:12 2017 -0700
@@ -46,7 +46,7 @@
   {
   public:
 
-    tree_decl_elt (tree_identifier *i = 0, tree_expression *e = 0)
+    tree_decl_elt (tree_identifier *i = nullptr, tree_expression *e = nullptr)
       : id (i), expr (e) { }
 
     // No copying!
--- a/libinterp/parse-tree/pt-eval.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-eval.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -985,7 +985,7 @@
         // Otherwise, arrange to call the function here, so that we don't
         // return the function definition as a value.
 
-        octave_function *fcn = 0;
+        octave_function *fcn = nullptr;
 
         if (val.is_function ())
           fcn = val.function_value (true);
--- a/libinterp/parse-tree/pt-eval.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-eval.h	Fri Apr 28 13:19:12 2017 -0700
@@ -228,7 +228,7 @@
     static bool in_loop_command;
 
     octave_value evaluate (tree_expression *expr, int nargout = 1,
-                           const std::list<octave_lvalue> *lvalue_list = 0)
+                           const std::list<octave_lvalue> *lvalue_list = nullptr)
     {
       m_nargout_stack.push (nargout);
       m_lvalue_list_stack.push (lvalue_list);
@@ -245,7 +245,7 @@
 
     octave_value_list
     evaluate_n (tree_expression *expr, int nargout = 1,
-                const std::list<octave_lvalue> *lvalue_list = 0)
+                const std::list<octave_lvalue> *lvalue_list = nullptr)
     {
       m_nargout_stack.push (nargout);
       m_lvalue_list_stack.push (lvalue_list);
--- a/libinterp/parse-tree/pt-except.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-except.h	Fri Apr 28 13:19:12 2017 -0700
@@ -47,9 +47,9 @@
 
     tree_try_catch_command (tree_statement_list *tc, tree_statement_list *cc,
                             tree_identifier *id,
-                            octave_comment_list *cl = 0,
-                            octave_comment_list *cm = 0,
-                            octave_comment_list *ct = 0,
+                            octave_comment_list *cl = nullptr,
+                            octave_comment_list *cm = nullptr,
+                            octave_comment_list *ct = nullptr,
                             int l = -1, int c = -1)
       : tree_command (l, c), try_code (tc), catch_code (cc), expr_id (id),
         lead_comm (cl), mid_comm (cm), trail_comm (ct) { }
@@ -115,9 +115,9 @@
 
     tree_unwind_protect_command (tree_statement_list *tc,
                                  tree_statement_list *cc,
-                                 octave_comment_list *cl = 0,
-                                 octave_comment_list *cm = 0,
-                                 octave_comment_list *ct = 0,
+                                 octave_comment_list *cl = nullptr,
+                                 octave_comment_list *cm = nullptr,
+                                 octave_comment_list *ct = nullptr,
                                  int l = -1, int c = -1)
       : tree_command (l, c), unwind_protect_code (tc), cleanup_code (cc),
         lead_comm (cl), mid_comm (cm), trail_comm (ct) { }
--- a/libinterp/parse-tree/pt-idx.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-idx.h	Fri Apr 28 13:19:12 2017 -0700
@@ -49,7 +49,7 @@
   {
   public:
 
-    tree_index_expression (tree_expression *e = 0, tree_argument_list *lst = 0,
+    tree_index_expression (tree_expression *e = nullptr, tree_argument_list *lst = nullptr,
                            int l = -1, int c = -1, char t = '(');
 
     tree_index_expression (tree_expression *e, const std::string& n,
@@ -68,7 +68,7 @@
 
     bool has_magic_end (void) const;
 
-    void append (tree_argument_list *lst = 0, char t = '(');
+    void append (tree_argument_list *lst = nullptr, char t = '(');
 
     void append (const std::string& n);
 
--- a/libinterp/parse-tree/pt-jit.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-jit.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -176,7 +176,7 @@
         }
     }
 
-  jit_value *return_value = 0;
+  jit_value *return_value = nullptr;
   bool all_breaking = false;
   if (fcn.is_special_expr ())
     {
@@ -184,7 +184,7 @@
       if (expr)
         {
           jit_variable *retvar = get_variable ("#return");
-          jit_value *retval = 0;
+          jit_value *retval = nullptr;
           try
             {
               retval = visit (expr);
--- a/libinterp/parse-tree/pt-jit.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-jit.h	Fri Apr 28 13:19:12 2017 -0700
@@ -44,7 +44,7 @@
   typedef std::vector<type_bound> type_bound_vector;
   typedef std::map<std::string, jit_variable *> variable_map;
 
-  jit_convert (tree& tee, jit_type *for_bounds = 0);
+  jit_convert (tree& tee, jit_type *for_bounds = nullptr);
 
   jit_convert (octave_user_function& fcn, const std::vector<jit_type *>& args);
 
@@ -227,7 +227,7 @@
   std::string next_name (const char *prefix, size_t& count, bool inc);
 
   jit_instruction * resolve (tree_index_expression& exp,
-                             jit_value *extra_arg = 0, bool lhs = false);
+                             jit_value *extra_arg = nullptr, bool lhs = false);
 
   jit_value * do_assign (tree_expression *exp, jit_value *rhs,
                          bool artificial = false);
@@ -439,7 +439,7 @@
   typedef jit_convert::type_bound_vector type_bound_vector;
   typedef void (*jited_function)(octave_base_value**);
 
-  void compile (tree_jit& tjit, tree& tee, jit_type *for_bounds = 0);
+  void compile (tree_jit& tjit, tree& tee, jit_type *for_bounds = nullptr);
 
   octave_value find (const vmap& extra_vars, const std::string& vname) const;
 
--- a/libinterp/parse-tree/pt-loop.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-loop.h	Fri Apr 28 13:19:12 2017 -0700
@@ -55,8 +55,8 @@
     { }
 
     tree_while_command (tree_expression *e,
-                        octave_comment_list *lc = 0,
-                        octave_comment_list *tc = 0,
+                        octave_comment_list *lc = nullptr,
+                        octave_comment_list *tc = nullptr,
                         int l = -1, int c = -1)
       : tree_command (l, c), expr (e), list (0), lead_comm (lc),
         trail_comm (tc)
@@ -66,8 +66,8 @@
     { }
 
     tree_while_command (tree_expression *e, tree_statement_list *lst,
-                        octave_comment_list *lc = 0,
-                        octave_comment_list *tc = 0,
+                        octave_comment_list *lc = nullptr,
+                        octave_comment_list *tc = nullptr,
                         int l = -1, int c = -1)
       : tree_command (l, c), expr (e), list (lst), lead_comm (lc),
         trail_comm (tc)
@@ -145,14 +145,14 @@
       : tree_while_command (l, c) { }
 
     tree_do_until_command (tree_expression *e,
-                           octave_comment_list *lc = 0,
-                           octave_comment_list *tc = 0,
+                           octave_comment_list *lc = nullptr,
+                           octave_comment_list *tc = nullptr,
                            int l = -1, int c = -1)
       : tree_while_command (e, lc, tc, l, c) { }
 
     tree_do_until_command (tree_expression *e, tree_statement_list *lst,
-                           octave_comment_list *lc = 0,
-                           octave_comment_list *tc = 0,
+                           octave_comment_list *lc = nullptr,
+                           octave_comment_list *tc = nullptr,
                            int l = -1, int c = -1)
       : tree_while_command (e, lst, lc, tc, l, c) { }
 
@@ -191,8 +191,8 @@
                              tree_expression *re,
                              tree_expression *maxproc_arg,
                              tree_statement_list *lst,
-                             octave_comment_list *lc = 0,
-                             octave_comment_list *tc = 0,
+                             octave_comment_list *lc = nullptr,
+                             octave_comment_list *tc = nullptr,
                              int l = -1, int c = -1)
       : tree_command (l, c), parallel (parallel_arg), lhs (le),
         expr (re), maxproc (maxproc_arg), list (lst),
@@ -285,8 +285,8 @@
 
     tree_complex_for_command (tree_argument_list *le, tree_expression *re,
                               tree_statement_list *lst,
-                              octave_comment_list *lc = 0,
-                              octave_comment_list *tc = 0,
+                              octave_comment_list *lc = nullptr,
+                              octave_comment_list *tc = nullptr,
                               int l = -1, int c = -1)
       : tree_command (l, c), lhs (le), expr (re), list (lst),
         lead_comm (lc), trail_comm (tc) { }
--- a/libinterp/parse-tree/pt-mat.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-mat.h	Fri Apr 28 13:19:12 2017 -0700
@@ -50,7 +50,7 @@
   {
   public:
 
-    tree_matrix (tree_argument_list *row = 0, int l = -1, int c = -1)
+    tree_matrix (tree_argument_list *row = nullptr, int l = -1, int c = -1)
       : tree_array_list (row, l, c)
     { }
 
--- a/libinterp/parse-tree/pt-select.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt-select.h	Fri Apr 28 13:19:12 2017 -0700
@@ -45,12 +45,12 @@
     tree_if_clause (int l = -1, int c = -1)
       : tree (l, c), expr (0), list (0), lead_comm (0) { }
 
-    tree_if_clause (tree_statement_list *sl, octave_comment_list *lc = 0,
+    tree_if_clause (tree_statement_list *sl, octave_comment_list *lc = nullptr,
                     int l = -1, int c = -1)
       : tree (l, c), expr (0), list (sl), lead_comm (lc) { }
 
     tree_if_clause (tree_expression *e, tree_statement_list *sl,
-                    octave_comment_list *lc = 0,
+                    octave_comment_list *lc = nullptr,
                     int l = -1, int c = -1)
       : tree (l, c), expr (e), list (sl), lead_comm (lc) { }
 
@@ -177,12 +177,12 @@
     tree_switch_case (int l = -1, int c = -1)
       : tree (l, c), label (0), list (0), lead_comm (0) { }
 
-    tree_switch_case (tree_statement_list *sl, octave_comment_list *lc = 0,
+    tree_switch_case (tree_statement_list *sl, octave_comment_list *lc = nullptr,
                       int l = -1, int c = -1)
       : tree (l, c), label (0), list (sl), lead_comm (lc) { }
 
     tree_switch_case (tree_expression *e, tree_statement_list *sl,
-                      octave_comment_list *lc = 0,
+                      octave_comment_list *lc = nullptr,
                       int l = -1, int c = -1)
       : tree (l, c), label (e), list (sl), lead_comm (lc) { }
 
--- a/libinterp/parse-tree/pt.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/libinterp/parse-tree/pt.h	Fri Apr 28 13:19:12 2017 -0700
@@ -42,7 +42,7 @@
   public:
 
     tree (int l = -1, int c = -1)
-      : line_num (l), column_num (c), bp (NULL) { }
+      : line_num (l), column_num (c), bp (nullptr) { }
 
     // No copying!
 
@@ -74,7 +74,7 @@
         bp = new std::string(condition);
     }
 
-    virtual void delete_breakpoint (void) { if (bp) delete bp; bp = NULL; }
+    virtual void delete_breakpoint (void) { if (bp) delete bp; bp = nullptr; }
 
     bool meets_bp_condition (void) const;
 
--- a/liboctave/array/CSparse.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/array/CSparse.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -5517,7 +5517,7 @@
                                 bool calc_cond) const
 {
   // The return values
-  void *Numeric = 0;
+  void *Numeric = nullptr;
   err = 0;
 
 #if defined (HAVE_UMFPACK)
--- a/liboctave/array/dSparse.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/array/dSparse.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -5705,7 +5705,7 @@
                          bool calc_cond) const
 {
   // The return values
-  void *Numeric = 0;
+  void *Numeric = nullptr;
   err = 0;
 
 #if defined (HAVE_UMFPACK)
--- a/liboctave/numeric/DASPK.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/DASPK.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -473,8 +473,8 @@
   double *prwork = rwork.fortran_vec ();
   F77_INT *piwork = iwork.fortran_vec ();
 
-  double *dummy = 0;
-  F77_INT *idummy = 0;
+  double *dummy = nullptr;
+  F77_INT *idummy = nullptr;
 
   F77_INT tmp_istate = octave::to_f77_int (istate);
 
--- a/liboctave/numeric/DASRT.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/DASRT.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -319,8 +319,8 @@
 
   F77_INT *pjroot = jroot.fortran_vec ();
 
-  double *dummy = 0;
-  F77_INT *idummy = 0;
+  double *dummy = nullptr;
+  F77_INT *idummy = nullptr;
 
   F77_INT tmp_istate = octave::to_f77_int (istate);
 
--- a/liboctave/numeric/DASSL.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/DASSL.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -285,8 +285,8 @@
   double *prwork = rwork.fortran_vec ();
   F77_INT *piwork = iwork.fortran_vec ();
 
-  double *dummy = 0;
-  F77_INT *idummy = 0;
+  double *dummy = nullptr;
+  F77_INT *idummy = nullptr;
 
   F77_INT tmp_istate = octave::to_f77_int (istate);
 
--- a/liboctave/numeric/oct-fftw.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/oct-fftw.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -46,7 +46,7 @@
 {
 #if defined (HAVE_FFTW)
 
-  fftw_planner *fftw_planner::instance = 0;
+  fftw_planner *fftw_planner::instance = nullptr;
 
   // Helper class to create and cache FFTW plans for both 1D and
   // 2D.  This implementation defaults to using FFTW_ESTIMATE to create
@@ -422,7 +422,7 @@
     return ret;
   }
 
-  float_fftw_planner *float_fftw_planner::instance = 0;
+  float_fftw_planner *float_fftw_planner::instance = nullptr;
 
   float_fftw_planner::float_fftw_planner (void)
     : meth (ESTIMATE), rplan (0), rd (0), rs (0), rr (0), rh (0), rn (),
--- a/liboctave/numeric/oct-rand.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/oct-rand.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -44,7 +44,7 @@
 #include "randpoisson.h"
 #include "singleton-cleanup.h"
 
-octave_rand *octave_rand::instance = 0;
+octave_rand *octave_rand::instance = nullptr;
 
 octave_rand::octave_rand (void)
   : current_distribution (uniform_dist), use_old_generators (false),
--- a/liboctave/numeric/oct-spparms.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/numeric/oct-spparms.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -31,7 +31,7 @@
 #include "oct-spparms.h"
 #include "singleton-cleanup.h"
 
-octave_sparse_params *octave_sparse_params::instance = 0;
+octave_sparse_params *octave_sparse_params::instance = nullptr;
 
 bool
 octave_sparse_params::instance_ok (void)
--- a/liboctave/system/child-list.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/system/child-list.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -32,7 +32,7 @@
 
 namespace octave
 {
-  child_list::child_list_rep *child_list::instance = 0;
+  child_list::child_list_rep *child_list::instance = nullptr;
 
   bool
   child_list::instance_ok (void)
--- a/liboctave/system/file-ops.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/system/file-ops.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -55,7 +55,7 @@
 {
   namespace sys
   {
-    file_ops *octave::sys::file_ops::instance = 0;
+    file_ops *octave::sys::file_ops::instance = nullptr;
 
     bool
     octave::sys::file_ops::instance_ok (void)
--- a/liboctave/system/mach-info.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/system/mach-info.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -36,7 +36,7 @@
 
 namespace octave
 {
-  mach_info *mach_info::instance = 0;
+  mach_info *mach_info::instance = nullptr;
 
   union equiv
   {
--- a/liboctave/system/oct-env.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/system/oct-env.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -75,7 +75,7 @@
       do_get_host_name ();
     }
 
-    env *env::instance = 0;
+    env *env::instance = nullptr;
 
     bool
     env::instance_ok (void)
--- a/liboctave/system/oct-time.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/system/oct-time.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -173,7 +173,7 @@
 
           const char *fmt_str = fmt.c_str ();
 
-          char *buf = 0;
+          char *buf = nullptr;
           size_t bufsize = STRFTIME_BUF_INITIAL_SIZE;
           size_t chars_written = 0;
 
--- a/liboctave/util/cmd-edit.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/cmd-edit.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -53,7 +53,7 @@
 {
   char * do_completer_word_break_hook ();
 
-  command_editor *command_editor::instance = 0;
+  command_editor *command_editor::instance = nullptr;
 
   std::set<command_editor::startup_hook_fcn> command_editor::startup_hook_set;
 
@@ -603,7 +603,7 @@
     int n = 0;
     int count = 0;
 
-    char *fn = 0;
+    char *fn = nullptr;
 
     while (1)
       {
@@ -823,7 +823,7 @@
   char *
   gnu_readline::command_generator (const char *text, int state)
   {
-    char *retval = 0;
+    char *retval = nullptr;
 
     completion_fcn f = command_editor::get_completion_function ();
 
@@ -844,7 +844,7 @@
   char *
   gnu_readline::command_quoter (char *text, int matches, char *qcp)
   {
-    char *retval = 0;
+    char *retval = nullptr;
 
     quoting_fcn f = command_editor::get_quoting_function ();
 
@@ -865,7 +865,7 @@
   char *
   gnu_readline::command_dequoter (char *text, int quote)
   {
-    char *retval = 0;
+    char *retval = nullptr;
 
     dequoting_fcn f = command_editor::get_dequoting_function ();
 
--- a/liboctave/util/cmd-hist.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/cmd-hist.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -48,7 +48,7 @@
 
 namespace octave
 {
-  command_history *command_history::instance = 0;
+  command_history *command_history::instance = nullptr;
 
 #if defined (USE_READLINE)
 
--- a/liboctave/util/oct-locbuf.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/oct-locbuf.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -42,8 +42,8 @@
   const size_t octave::chunk_buffer::chunk_size =
     static_cast<size_t> (OCTAVE_LOCBUF_CHUNKSIZE_MB) << 20;
 
-  char *chunk_buffer::top = 0;
-  char *chunk_buffer::chunk = 0;
+  char *chunk_buffer::top = nullptr;
+  char *chunk_buffer::chunk = nullptr;
   size_t chunk_buffer::left = 0;
   size_t chunk_buffer::active = 0;
 
--- a/liboctave/util/oct-shlib.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/oct-shlib.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -99,7 +99,7 @@
   dynamic_library::dynlib_rep *
   dynamic_library::dynlib_rep::get_instance (const std::string& f, bool fake)
   {
-    dynlib_rep *retval = 0;
+    dynlib_rep *retval = nullptr;
     std::map<std::string, dynlib_rep *>::iterator p = instances.find (f);
     if (p != instances.end ())
       {
@@ -230,7 +230,7 @@
   octave_dlopen_shlib::search (const std::string& name,
                                dynamic_library::name_mangler mangler)
   {
-    void *function = 0;
+    void *function = nullptr;
 
     if (! is_open ())
       (*current_liboctave_error_handler)
@@ -297,7 +297,7 @@
   octave_shl_load_shlib::search (const std::string& name,
                                  dynamic_library::name_mangler mangler)
   {
-    void *function = 0;
+    void *function = nullptr;
 
     if (! is_open ())
       (*current_liboctave_error_handler)
@@ -396,7 +396,7 @@
   octave_w32_shlib::search (const std::string& name,
                             dynamic_library::name_mangler mangler)
   {
-    void *function = 0;
+    void *function = nullptr;
 
     if (! is_open ())
       (*current_liboctave_error_handler)
@@ -467,7 +467,7 @@
         NSLinkEditErrors ler;
         int lerno;
         const char *file2;
-        const char *errstr = 0;
+        const char *errstr = nullptr;
 
         NSLinkEditError (&ler, &lerno, &file2, &errstr);
 
@@ -490,7 +490,7 @@
   octave_dyld_shlib::search (const std::string& name,
                              dynamic_library::name_mangler mangler)
   {
-    void *function = 0;
+    void *function = nullptr;
 
     if (! is_open ())
       (*current_liboctave_error_handler)
--- a/liboctave/util/pathsearch.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/pathsearch.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -37,7 +37,7 @@
 
 namespace octave
 {
-  directory_path::static_members *directory_path::static_members::instance = 0;
+  directory_path::static_members *directory_path::static_members::instance = nullptr;
 
   directory_path::static_members::static_members (void)
     : xpath_sep_char (SEPCHAR), xpath_sep_str (SEPCHAR_STR) { }
--- a/liboctave/util/singleton-cleanup.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/singleton-cleanup.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -27,7 +27,7 @@
 #include <lo-error.h>
 #include <singleton-cleanup.h>
 
-singleton_cleanup_list *singleton_cleanup_list::instance = 0;
+singleton_cleanup_list *singleton_cleanup_list::instance = nullptr;
 
 singleton_cleanup_list::~singleton_cleanup_list (void)
 {
--- a/liboctave/util/unwind-prot.h	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/unwind-prot.h	Fri Apr 28 13:19:12 2017 -0700
@@ -61,7 +61,7 @@
     }
 
     OCTAVE_DEPRECATED ("use 'add (new fcn_arg_elem<void *> (fcn, ptr))' instead")
-    void add (void (*fcn) (void *), void *ptr = 0)
+    void add (void (*fcn) (void *), void *ptr = nullptr)
     {
       add (new fcn_arg_elem<void *> (fcn, ptr));
     }
--- a/liboctave/util/url-transfer.cc	Fri Apr 28 15:29:39 2017 -0400
+++ b/liboctave/util/url-transfer.cc	Fri Apr 28 13:19:12 2017 -0700
@@ -414,7 +414,7 @@
 
     void rename (const std::string& oldname, const std::string& newname)
     {
-      struct curl_slist *slist = 0;
+      struct curl_slist *slist = nullptr;
 
       octave::unwind_protect frame;
       frame.add_fcn (curl_slist_free_all, slist);
@@ -582,7 +582,7 @@
     {
       std::string retval;
 
-      struct curl_slist *slist = 0;
+      struct curl_slist *slist = nullptr;
 
       octave::unwind_protect frame;
       frame.add_fcn (curl_slist_free_all, slist);
@@ -746,7 +746,7 @@
     void ftp_file_or_dir_action (const std::string& file_or_dir,
                                  const std::string& action)
     {
-      struct curl_slist *slist = 0;
+      struct curl_slist *slist = nullptr;
 
       octave::unwind_protect frame;