← Back to team overview

kicad-developers team mailing list archive

[PATCH 4/4] Add C++11 "override" specifier to overrides

 

These methods override their base class version, so mark them to get
additional compile time checks.
---
 3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h     |  10 +-
 3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h    |   2 +-
 3d-viewer/3d_cache/dialogs/panel_prev_model.h      |   2 +-
 3d-viewer/3d_cache/sg/scenegraph.h                 |  20 +-
 3d-viewer/3d_cache/sg/sg_appearance.h              |  20 +-
 3d-viewer/3d_cache/sg/sg_colors.h                  |  20 +-
 3d-viewer/3d_cache/sg/sg_coords.h                  |  20 +-
 3d-viewer/3d_cache/sg/sg_faceset.h                 |  20 +-
 3d-viewer/3d_cache/sg/sg_index.h                   |  20 +-
 3d-viewer/3d_cache/sg/sg_normals.h                 |  20 +-
 3d-viewer/3d_cache/sg/sg_shape.h                   |  20 +-
 3d-viewer/3d_draw.cpp                              |   2 +-
 3d-viewer/3d_material.h                            |   4 +-
 .../3d_render_ogl_legacy/c3d_render_ogl_legacy.h   |   4 +-
 .../3d_render_raytracing/accelerators/ccontainer.h |   4 +-
 .../accelerators/ccontainer2d.h                    |   4 +-
 .../3d_rendering/3d_render_raytracing/cmaterial.h  |   2 +-
 .../shapes2D/cfilledcircle2d.h                     |  10 +-
 .../3d_render_raytracing/shapes2D/cpolygon2d.h     |  20 +-
 .../3d_render_raytracing/shapes2D/cpolygon4pts2d.h |  10 +-
 .../3d_render_raytracing/shapes2D/cring2d.h        |  10 +-
 .../shapes2D/croundsegment2d.h                     |  10 +-
 .../3d_render_raytracing/shapes2D/ctriangle2d.h    |  10 +-
 3d-viewer/3d_rendering/ctrack_ball.h               |  10 +-
 3d-viewer/3d_struct.h                              |   6 +-
 3d-viewer/3d_viewer.h                              |   4 +-
 3d-viewer/dialogs/dialog_3D_view_option.cpp        |   8 +-
 3d-viewer/modelparsers.h                           |   4 +-
 bitmap2component/bitmap2cmp_gui.cpp                |  22 +-
 common/confirm.cpp                                 |   6 +-
 common/dialogs/dialog_image_editor.h               |  18 +-
 common/dialogs/dialog_page_settings.h              |  30 +--
 common/dialogs/wx_html_report_panel.h              |  14 +-
 common/single_top.cpp                              |  12 +-
 cvpcb/class_DisplayFootprintsFrame.h               |  30 +--
 cvpcb/cvpcb.cpp                                    |   8 +-
 cvpcb/cvpcb_mainframe.h                            |  10 +-
 cvpcb/dialogs/dialog_config_equfiles.h             |  14 +-
 cvpcb/dialogs/dialog_display_options.h             |   8 +-
 cvpcb/dialogs/fp_conflict_assignment_selector.h    |  10 +-
 cvpcb/listview_classes.h                           |   6 +-
 eeschema/class_libentry.h                          |   8 +-
 eeschema/class_sch_screen.h                        |   6 +-
 eeschema/dialogs/dialog_annotate.cpp               |   6 +-
 eeschema/dialogs/dialog_bom.cpp                    |  20 +-
 eeschema/dialogs/dialog_choose_component.h         |  18 +-
 eeschema/dialogs/dialog_edit_component_in_lib.h    |  22 +-
 .../dialogs/dialog_edit_component_in_schematic.cpp |  24 +--
 eeschema/dialogs/dialog_edit_label.cpp             |  10 +-
 .../dialogs/dialog_edit_libentry_fields_in_lib.cpp |  20 +-
 eeschema/dialogs/dialog_edit_one_field.h           |  12 +-
 eeschema/dialogs/dialog_eeschema_config.cpp        |  20 +-
 eeschema/dialogs/dialog_eeschema_options.h         |  10 +-
 eeschema/dialogs/dialog_erc.h                      |  14 +-
 eeschema/dialogs/dialog_lib_edit_pin.h             |  12 +-
 eeschema/dialogs/dialog_lib_edit_pin_table.cpp     |  38 ++--
 eeschema/dialogs/dialog_lib_edit_pin_table.h       |   2 +-
 eeschema/dialogs/dialog_lib_edit_text.h            |   4 +-
 eeschema/dialogs/dialog_lib_new_component.h        |   4 +-
 eeschema/dialogs/dialog_netlist.cpp                |  16 +-
 eeschema/dialogs/dialog_plot_schematic.h           |  10 +-
 eeschema/dialogs/dialog_print_using_printer.cpp    |  20 +-
 eeschema/dialogs/dialog_rescue_each.cpp            |  16 +-
 eeschema/dialogs/dialog_schematic_find.h           |  20 +-
 eeschema/eeschema.cpp                              |   8 +-
 eeschema/lib_arc.h                                 |  56 ++---
 eeschema/lib_bezier.h                              |  42 ++--
 eeschema/lib_circle.h                              |  54 ++---
 eeschema/lib_collectors.h                          |   2 +-
 eeschema/lib_draw_item.h                           |   8 +-
 eeschema/lib_field.h                               |  60 +++---
 eeschema/lib_pin.h                                 |  52 ++---
 eeschema/lib_polyline.h                            |  54 ++---
 eeschema/lib_rectangle.h                           |  54 ++---
 eeschema/lib_text.h                                |  58 ++---
 eeschema/libeditframe.h                            |  36 ++--
 .../netlist_exporters/netlist_exporter_cadstar.h   |   2 +-
 .../netlist_exporters/netlist_exporter_generic.h   |   2 +-
 .../netlist_exporters/netlist_exporter_kicad.h     |   2 +-
 .../netlist_exporters/netlist_exporter_orcadpcb2.h |   2 +-
 .../netlist_exporters/netlist_exporter_pspice.h    |   2 +-
 eeschema/project_rescue.cpp                        |  22 +-
 eeschema/sch_base_frame.h                          |  28 +--
 eeschema/sch_bitmap.h                              |  40 ++--
 eeschema/sch_bus_entry.h                           |  62 +++---
 eeschema/sch_collectors.h                          |   6 +-
 eeschema/sch_component.h                           |  66 +++---
 eeschema/sch_field.h                               |  44 ++--
 eeschema/sch_item_struct.h                         |   4 +-
 eeschema/sch_junction.h                            |  50 ++---
 eeschema/sch_line.h                                |  56 ++---
 eeschema/sch_marker.h                              |  38 ++--
 eeschema/sch_no_connect.h                          |  52 ++---
 eeschema/sch_sheet.h                               | 112 +++++-----
 eeschema/sch_text.h                                | 156 +++++++-------
 eeschema/sch_validators.h                          |   4 +-
 eeschema/schframe.h                                |  52 ++---
 eeschema/viewlib_frame.h                           |  28 +--
 gerbview/class_excellon.h                          |   2 +-
 gerbview/class_gbr_layer_box_selector.h            |   8 +-
 gerbview/class_gbr_screen.h                        |   4 +-
 gerbview/class_gerber_draw_item.h                  |  10 +-
 gerbview/class_gerbview_layer_widget.h             |  12 +-
 gerbview/dialogs/dialog_print_using_printer.cpp    |  12 +-
 gerbview/dialogs/dialog_show_page_borders.h        |   4 +-
 .../gerbview_dialog_display_options_frame.cpp      |   6 +-
 gerbview/gerbview.cpp                              |   8 +-
 gerbview/gerbview_frame.h                          |  62 +++---
 gerbview/select_layers_to_pcb.h                    |  12 +-
 include/base_struct.h                              |   4 +-
 include/basic_gal.h                                |  12 +-
 include/class_base_screen.h                        |   4 +-
 include/class_board_item.h                         |   4 +-
 include/class_draw_panel_gal.h                     |   4 +-
 include/class_drawpanel.h                          |   4 +-
 include/class_pcb_screen.h                         |   4 +-
 include/class_worksheet_dataitem.h                 |  12 +-
 include/config_params.h                            |  32 +--
 include/dialog_env_var_config.h                    |  10 +-
 include/dialog_get_component.h                     |   6 +-
 include/dialog_helpers.h                           |  12 +-
 include/dialog_hotkeys_editor.h                    |   8 +-
 include/dialog_shim.h                              |   4 +-
 include/draw_frame.h                               |   8 +-
 include/eda_pattern_match.h                        |  12 +-
 include/filter_reader.h                            |  12 +-
 include/gal/cairo/cairo_compositor.h               |  14 +-
 include/gal/cairo/cairo_gal.h                      |  86 ++++----
 include/gal/opengl/cached_container.h              |  10 +-
 include/gal/opengl/gpu_manager.h                   |  20 +-
 include/gal/opengl/noncached_container.h           |  10 +-
 include/gal/opengl/opengl_compositor.h             |  14 +-
 include/gal/opengl/opengl_gal.h                    |  74 +++----
 include/geometry/shape_circle.h                    |  10 +-
 include/geometry/shape_convex.h                    |  10 +-
 include/geometry/shape_line_chain.h                |  16 +-
 include/geometry/shape_poly_set.h                  |  14 +-
 include/geometry/shape_rect.h                      |  10 +-
 include/geometry/shape_segment.h                   |  12 +-
 include/html_messagebox.h                          |   2 +-
 include/kiface_i.h                                 |   8 +-
 include/kiway.h                                    |   2 +-
 include/kiway_express.h                            |   2 +-
 include/kiway_player.h                             |   2 +-
 include/origin_viewitem.h                          |  10 +-
 include/plot_common.h                              | 234 ++++++++++-----------
 include/plugins/3dapi/ifsg_appearance.h            |   6 +-
 include/plugins/3dapi/ifsg_colors.h                |   6 +-
 include/plugins/3dapi/ifsg_coordindex.h            |   6 +-
 include/plugins/3dapi/ifsg_coords.h                |   6 +-
 include/plugins/3dapi/ifsg_faceset.h               |   6 +-
 include/plugins/3dapi/ifsg_index.h                 |   6 +-
 include/plugins/3dapi/ifsg_normals.h               |   6 +-
 include/plugins/3dapi/ifsg_shape.h                 |   6 +-
 include/plugins/3dapi/ifsg_transform.h             |   6 +-
 include/reporter.h                                 |   8 +-
 include/richio.h                                   |  12 +-
 include/tool/context_menu.h                        |   2 +-
 include/ttl/halfedge/hetriang.h                    |   2 +-
 include/view/view_group.h                          |  16 +-
 include/view/wx_view_controls.h                    |  12 +-
 include/worksheet_shape_builder.h                  |  34 +--
 include/worksheet_viewitem.h                       |  10 +-
 include/wxBasePcbFrame.h                           |  58 ++---
 include/wxPcbStruct.h                              |  90 ++++----
 include/wxstruct.h                                 |   4 +-
 kicad/class_treeprojectfiles.h                     |   2 +-
 kicad/dialogs/dialog_template_selector.h           |   8 +-
 kicad/kicad.cpp                                    |   6 +-
 kicad/kicad.h                                      |  14 +-
 kicad/pgm_kicad.h                                  |   6 +-
 lib_dxf/drw_entities.h                             |  32 +--
 lib_dxf/intern/drw_textcodec.h                     |  12 +-
 lib_dxf/intern/dxfreader.h                         |  32 +--
 lib_dxf/intern/dxfwriter.h                         |  24 +--
 pagelayout_editor/class_pl_editor_screen.h         |   4 +-
 pagelayout_editor/design_tree_frame.h              |   2 +-
 pagelayout_editor/dialogs/dialog_new_dataitem.cpp  |   4 +-
 pagelayout_editor/dialogs/dialogs_for_printing.cpp |   8 +-
 pagelayout_editor/pl_editor.cpp                    |   8 +-
 pagelayout_editor/pl_editor_frame.h                |  54 ++---
 pagelayout_editor/pl_editor_undo_redo.cpp          |   4 +-
 pagelayout_editor/properties_frame.h               |   6 +-
 pcb_calculator/UnitSelector.h                      |  10 +-
 pcb_calculator/attenuators/attenuator_classes.h    |   8 +-
 pcb_calculator/pcb_calculator.cpp                  |   8 +-
 pcb_calculator/pcb_calculator.h                    |  56 ++---
 pcb_calculator/regulators_funct.cpp                |   4 +-
 pcb_calculator/transline/c_microstrip.h            |   4 +-
 pcb_calculator/transline/coax.h                    |   4 +-
 pcb_calculator/transline/coplanar.h                |   4 +-
 pcb_calculator/transline/microstrip.h              |   4 +-
 pcb_calculator/transline/rectwaveguide.h           |   4 +-
 pcb_calculator/transline/stripline.h               |   4 +-
 pcb_calculator/transline/twistedpair.h             |   4 +-
 pcbnew/block.cpp                                   |   6 +-
 pcbnew/class_board.cpp                             |   4 +-
 pcbnew/class_board.h                               |  18 +-
 pcbnew/class_board_connected_item.h                |   2 +-
 pcbnew/class_dimension.h                           |  34 +--
 pcbnew/class_drawsegment.h                         |  34 +--
 pcbnew/class_edge_mod.h                            |  20 +-
 pcbnew/class_marker_pcb.h                          |  30 +--
 pcbnew/class_mire.h                                |  28 +--
 pcbnew/class_module.h                              |  44 ++--
 pcbnew/class_netinfo.h                             |  12 +-
 pcbnew/class_pad.h                                 |  42 ++--
 pcbnew/class_pcb_layer_box_selector.h              |   8 +-
 pcbnew/class_pcb_layer_widget.h                    |  10 +-
 pcbnew/class_pcb_text.h                            |  30 +--
 pcbnew/class_text_mod.h                            |  36 ++--
 pcbnew/class_track.h                               |  80 +++----
 pcbnew/class_zone.h                                |  32 +--
 pcbnew/collectors.h                                |  38 ++--
 pcbnew/dialogs/dialog_SVG_print.cpp                |   8 +-
 pcbnew/dialogs/dialog_cleaning_options.h           |   4 +-
 pcbnew/dialogs/dialog_copper_zones.cpp             |  16 +-
 pcbnew/dialogs/dialog_create_array.h               |  16 +-
 pcbnew/dialogs/dialog_design_rules.h               |  26 +--
 .../dialogs/dialog_design_rules_aux_helper_class.h |   2 +-
 pcbnew/dialogs/dialog_display_options.h            |   4 +-
 pcbnew/dialogs/dialog_drc.h                        |  32 +--
 pcbnew/dialogs/dialog_drclistbox.h                 |  20 +-
 .../dialogs/dialog_edit_module_for_BoardEditor.h   |  24 +--
 pcbnew/dialogs/dialog_edit_module_for_Modedit.h    |  18 +-
 pcbnew/dialogs/dialog_edit_module_text.h           |   6 +-
 pcbnew/dialogs/dialog_export_vrml.cpp              |   2 +-
 pcbnew/dialogs/dialog_find.h                       |   8 +-
 pcbnew/dialogs/dialog_footprint_wizard_list.h      |   2 +-
 pcbnew/dialogs/dialog_fp_lib_table.cpp             |  44 ++--
 pcbnew/dialogs/dialog_fp_plugin_options.cpp        |  20 +-
 pcbnew/dialogs/dialog_freeroute_exchange.h         |   8 +-
 pcbnew/dialogs/dialog_gendrill.h                   |  14 +-
 pcbnew/dialogs/dialog_general_options.h            |   6 +-
 pcbnew/dialogs/dialog_get_footprint_by_name.h      |   2 +-
 pcbnew/dialogs/dialog_global_deletion.h            |   8 +-
 .../dialogs/dialog_global_edit_tracks_and_vias.h   |   6 +-
 .../dialog_global_modules_fields_edition.cpp       |   4 +-
 pcbnew/dialogs/dialog_graphic_item_properties.cpp  |   6 +-
 .../dialog_graphic_item_properties_for_Modedit.cpp |   6 +-
 pcbnew/dialogs/dialog_graphic_items_options.h      |   4 +-
 pcbnew/dialogs/dialog_keepout_area_properties.cpp  |   4 +-
 pcbnew/dialogs/dialog_layers_setup.cpp             |  14 +-
 pcbnew/dialogs/dialog_mask_clearance.h             |   4 +-
 pcbnew/dialogs/dialog_modedit_options.cpp          |   4 +-
 pcbnew/dialogs/dialog_move_exact.h                 |   8 +-
 pcbnew/dialogs/dialog_netlist.h                    |  18 +-
 .../dialogs/dialog_non_copper_zones_properties.cpp |   4 +-
 pcbnew/dialogs/dialog_pad_properties.h             |  20 +-
 pcbnew/dialogs/dialog_pcb_text_properties.cpp      |   4 +-
 pcbnew/dialogs/dialog_plot.h                       |  18 +-
 pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h   |   4 +-
 pcbnew/dialogs/dialog_pns_length_tuning_settings.h |   2 +-
 pcbnew/dialogs/dialog_pns_settings.h               |   2 +-
 pcbnew/dialogs/dialog_print_for_modedit.cpp        |  10 +-
 pcbnew/dialogs/dialog_print_using_printer.cpp      |  12 +-
 pcbnew/dialogs/dialog_select_net_from_list.cpp     |   4 +-
 pcbnew/dialogs/dialog_select_pretty_lib.h          |   4 +-
 pcbnew/dialogs/dialog_set_grid.cpp                 |   6 +-
 pcbnew/dialogs/dialog_track_via_properties.h       |  10 +-
 pcbnew/dialogs/dialog_track_via_size.h             |   6 +-
 pcbnew/dialogs/dialog_update_pcb.h                 |   6 +-
 pcbnew/dialogs/wizard_3DShape_Libs_downloader.h    |  18 +-
 pcbnew/dialogs/wizard_add_fplib.h                  |  14 +-
 pcbnew/dimension.cpp                               |   4 +-
 pcbnew/eagle_plugin.h                              |  14 +-
 pcbnew/edit.cpp                                    |  12 +-
 pcbnew/exporters/gen_modules_placefile.cpp         |   4 +-
 pcbnew/footprint_wizard_frame.h                    |  32 +--
 pcbnew/github/github_plugin.h                      |  20 +-
 pcbnew/github/html_link_parser.h                   |   8 +-
 pcbnew/globaleditpad.cpp                           |   6 +-
 pcbnew/gpcb_plugin.h                               |  14 +-
 pcbnew/import_dxf/dialog_dxf_import.h              |   8 +-
 pcbnew/import_dxf/dxf2brd_items.h                  | 110 +++++-----
 pcbnew/kicad_plugin.h                              |  22 +-
 pcbnew/legacy_plugin.h                             |  14 +-
 pcbnew/module_editor_frame.h                       |  72 +++----
 pcbnew/modview_frame.h                             |  38 ++--
 pcbnew/netlist_reader.h                            |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h          |   6 +-
 pcbnew/pcad2kicadpcb_plugin/pcb.h                  |  12 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_arc.h              |   8 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h      |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_line.h             |   8 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_module.h           |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_pad.h              |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h        |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_plane.h            |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h          |   6 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_text.h             |   4 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_via.h              |   2 +-
 pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h        |   2 +-
 pcbnew/pcb_base_edit_frame.h                       |   4 +-
 pcbnew/pcb_draw_panel_gal.h                        |   6 +-
 pcbnew/pcb_painter.h                               |  12 +-
 pcbnew/pcbnew.cpp                                  |   8 +-
 pcbnew/printout_controler.h                        |   6 +-
 pcbnew/ratsnest.cpp                                |   2 +-
 pcbnew/ratsnest_data.h                             |   8 +-
 pcbnew/ratsnest_viewitem.h                         |  10 +-
 pcbnew/router/length_tuner_tool.h                  |   2 +-
 pcbnew/router/pns_diff_pair.h                      |   2 +-
 pcbnew/router/pns_diff_pair_placer.h               |  30 +--
 pcbnew/router/pns_dp_meander_placer.h              |  22 +-
 pcbnew/router/pns_dragger.h                        |   2 +-
 pcbnew/router/pns_joint.h                          |   2 +-
 pcbnew/router/pns_line.h                           |  14 +-
 pcbnew/router/pns_line_placer.h                    |  32 +--
 pcbnew/router/pns_meander_placer.h                 |  22 +-
 pcbnew/router/pns_meander_skew_placer.h            |   8 +-
 pcbnew/router/pns_node.h                           |   4 +-
 pcbnew/router/pns_segment.h                        |  12 +-
 pcbnew/router/pns_shove.h                          |   2 +-
 pcbnew/router/pns_solid.h                          |  10 +-
 pcbnew/router/pns_tool_base.h                      |   2 +-
 pcbnew/router/pns_via.h                            |  10 +-
 pcbnew/router/pns_walkaround.h                     |   2 +-
 pcbnew/router/router_preview_item.h                |  10 +-
 pcbnew/router/router_tool.h                        |   4 +-
 pcbnew/sel_layer.cpp                               |  16 +-
 pcbnew/specctra.h                                  | 122 +++++------
 pcbnew/target_edit.cpp                             |   4 +-
 pcbnew/tools/bright_box.h                          |  10 +-
 pcbnew/tools/drawing_tool.h                        |   4 +-
 pcbnew/tools/edit_constraints.h                    |  14 +-
 pcbnew/tools/edit_points.h                         |  16 +-
 pcbnew/tools/edit_tool.cpp                         |  16 +-
 pcbnew/tools/edit_tool.h                           |   6 +-
 pcbnew/tools/module_tools.h                        |   6 +-
 pcbnew/tools/pcb_editor_control.h                  |   6 +-
 pcbnew/tools/pcbnew_control.h                      |   4 +-
 pcbnew/tools/picker_tool.h                         |   4 +-
 pcbnew/tools/placement_tool.h                      |   6 +-
 pcbnew/tools/point_editor.h                        |   6 +-
 pcbnew/tools/selection_area.h                      |  10 +-
 pcbnew/tools/selection_tool.h                      |   6 +-
 pcbnew/xchgmod.cpp                                 |  12 +-
 plugins/3d/vrml/v1/vrml1_base.h                    |  10 +-
 plugins/3d/vrml/v1/vrml1_coords.h                  |   8 +-
 plugins/3d/vrml/v1/vrml1_faceset.h                 |   8 +-
 plugins/3d/vrml/v1/vrml1_group.h                   |   4 +-
 plugins/3d/vrml/v1/vrml1_matbinding.h              |   8 +-
 plugins/3d/vrml/v1/vrml1_material.h                |   8 +-
 plugins/3d/vrml/v1/vrml1_separator.h               |   4 +-
 plugins/3d/vrml/v1/vrml1_shapehints.h              |   8 +-
 plugins/3d/vrml/v1/vrml1_switch.h                  |   4 +-
 plugins/3d/vrml/v1/vrml1_transform.h               |   8 +-
 plugins/3d/vrml/v2/vrml2_appearance.h              |  14 +-
 plugins/3d/vrml/v2/vrml2_base.h                    |  12 +-
 plugins/3d/vrml/v2/vrml2_box.h                     |  10 +-
 plugins/3d/vrml/v2/vrml2_color.h                   |  10 +-
 plugins/3d/vrml/v2/vrml2_coords.h                  |  10 +-
 plugins/3d/vrml/v2/vrml2_faceset.h                 |  14 +-
 plugins/3d/vrml/v2/vrml2_inline.h                  |  10 +-
 plugins/3d/vrml/v2/vrml2_lineset.h                 |  14 +-
 plugins/3d/vrml/v2/vrml2_material.h                |  10 +-
 plugins/3d/vrml/v2/vrml2_norms.h                   |  10 +-
 plugins/3d/vrml/v2/vrml2_pointset.h                |  14 +-
 plugins/3d/vrml/v2/vrml2_shape.h                   |  14 +-
 plugins/3d/vrml/v2/vrml2_switch.h                  |   8 +-
 plugins/3d/vrml/v2/vrml2_transform.h               |   8 +-
 plugins/3d/vrml/x3d/x3d_appearance.h               |  10 +-
 plugins/3d/vrml/x3d/x3d_coords.h                   |  10 +-
 plugins/3d/vrml/x3d/x3d_ifaceset.h                 |  10 +-
 plugins/3d/vrml/x3d/x3d_shape.h                    |  14 +-
 plugins/3d/vrml/x3d/x3d_transform.h                |  10 +-
 plugins/ldr/3d/pluginldr3D.h                       |   6 +-
 polygon/clipper.hpp                                |   2 +-
 utils/idftools/dxf2idf.h                           | 100 ++++-----
 utils/idftools/idf_common.h                        |   2 +-
 utils/idftools/idf_outlines.h                      |  30 +--
 372 files changed, 3013 insertions(+), 3013 deletions(-)

diff --git a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
index 9a7759e..96dba88 100644
--- a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
+++ b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.h
@@ -37,14 +37,14 @@ private:
     wxString m_curdir;
     wxTextValidator m_aliasValidator;
 
-    virtual void OnAddAlias( wxCommandEvent& event );
-    virtual void OnDelAlias( wxCommandEvent& event );
-    virtual void OnAliasMoveUp( wxCommandEvent& event );
-    virtual void OnAliasMoveDown( wxCommandEvent& event );
+    virtual void OnAddAlias( wxCommandEvent& event ) override;
+    virtual void OnDelAlias( wxCommandEvent& event ) override;
+    virtual void OnAliasMoveUp( wxCommandEvent& event ) override;
+    virtual void OnAliasMoveDown( wxCommandEvent& event ) override;
 
 public:
     DLG_3D_PATH_CONFIG( wxWindow* aParent, S3D_FILENAME_RESOLVER* aResolver );
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 };
 
 #endif  // DLG_3D_PATHCONFIG_H
diff --git a/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h b/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
index 4eb8ab5..2e39a5f 100644
--- a/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
+++ b/3d-viewer/3d_cache/dialogs/dlg_select_3dmodel.h
@@ -64,7 +64,7 @@ public:
     DLG_SELECT_3DMODEL( wxWindow* aParent, S3D_CACHE* aCacheManager, S3D_INFO* aModelItem,
         wxString& prevModelSelectDir, int& prevModelWildcard );
 
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
     void OnSelectionChanged( wxTreeEvent& event );
     void OnFileActivated( wxTreeEvent& event );
     void SetRootDir( wxCommandEvent& event );
diff --git a/3d-viewer/3d_cache/dialogs/panel_prev_model.h b/3d-viewer/3d_cache/dialogs/panel_prev_model.h
index 6c403c6..dc175a7 100644
--- a/3d-viewer/3d_cache/dialogs/panel_prev_model.h
+++ b/3d-viewer/3d_cache/dialogs/panel_prev_model.h
@@ -65,7 +65,7 @@ public:
     void GetModelData( S3D_INFO* aModel );
     void UpdateModelName( wxString const& aModel );
     // Update on change of FileDlg selection
-    virtual void UpdateWindowUI( long flags = wxUPDATE_UI_NONE );
+    virtual void UpdateWindowUI( long flags = wxUPDATE_UI_NONE ) override;
 
 private:
     wxString currentModelFile;
diff --git a/3d-viewer/3d_cache/sg/scenegraph.h b/3d-viewer/3d_cache/sg/scenegraph.h
index 8f43487..54d58e8 100644
--- a/3d-viewer/3d_cache/sg/scenegraph.h
+++ b/3d-viewer/3d_cache/sg/scenegraph.h
@@ -57,8 +57,8 @@ private:
     bool addNode( SGNODE* aNode, bool isChild );
 
 public:
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     // note: order of transformation is Translate, Rotate, Offset
@@ -73,16 +73,16 @@ public:
     SCENEGRAPH( SGNODE* aParent );
     virtual ~SCENEGRAPH();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     bool Prepare( const glm::dmat4* aTransform,
         S3D::MATLIST& materials, std::vector< SMESH >& meshes );
diff --git a/3d-viewer/3d_cache/sg/sg_appearance.h b/3d-viewer/3d_cache/sg/sg_appearance.h
index 291cde6..24c5072 100644
--- a/3d-viewer/3d_cache/sg/sg_appearance.h
+++ b/3d-viewer/3d_cache/sg/sg_appearance.h
@@ -41,14 +41,14 @@ public:
     SGCOLOR emissive;   // default 0.0 0.0 0.0
     SGCOLOR specular;   // default 0.0 0.0 0.0
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGAPPEARANCE( SGNODE* aParent );
     virtual ~SGAPPEARANCE();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
     bool SetEmissive( float aRVal, float aGVal, float aBVal );
     bool SetEmissive( const SGCOLOR* aRGBColor );
@@ -66,15 +66,15 @@ public:
     bool SetAmbient( const SGCOLOR* aRGBColor );
     bool SetAmbient( const SGCOLOR& aRGBColor );
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_APPEARANCE_H
diff --git a/3d-viewer/3d_cache/sg/sg_colors.h b/3d-viewer/3d_cache/sg/sg_colors.h
index 18a7fbb..1a306db 100644
--- a/3d-viewer/3d_cache/sg/sg_colors.h
+++ b/3d-viewer/3d_cache/sg/sg_colors.h
@@ -37,29 +37,29 @@ class SGCOLORS : public SGNODE
 public:
     std::vector< SGCOLOR > colors;
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGCOLORS( SGNODE* aParent );
     virtual ~SGCOLORS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetColorList( size_t& aListSize, SGCOLOR*& aColorList );
     void SetColorList( size_t aListSize, const SGCOLOR* aColorList );
     void AddColor( double aRedValue, double aGreenValue, double aBlueValue );
     void AddColor( const SGCOLOR& aColor );
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_COLORS_H
diff --git a/3d-viewer/3d_cache/sg/sg_coords.h b/3d-viewer/3d_cache/sg/sg_coords.h
index b1b40e9..d074877 100644
--- a/3d-viewer/3d_cache/sg/sg_coords.h
+++ b/3d-viewer/3d_cache/sg/sg_coords.h
@@ -39,18 +39,18 @@ class SGCOORDS : public SGNODE
 public:
     std::vector< SGPOINT > coords;
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGCOORDS( SGNODE* aParent );
     virtual ~SGCOORDS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetCoordsList( size_t& aListSize, SGPOINT*& aCoordsList );
     void SetCoordsList( size_t aListSize, const SGPOINT* aCoordsList );
@@ -64,11 +64,11 @@ public:
      */
     bool CalcNormals( SGFACESET* callingNode, SGNODE** aPtr = NULL );
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_COORDS_H
diff --git a/3d-viewer/3d_cache/sg/sg_faceset.h b/3d-viewer/3d_cache/sg/sg_faceset.h
index 322cf76..46d10f5 100644
--- a/3d-viewer/3d_cache/sg/sg_faceset.h
+++ b/3d-viewer/3d_cache/sg/sg_faceset.h
@@ -60,8 +60,8 @@ public:
     SGCOORDS*       m_RCoords;
     SGNORMALS*      m_RNormals;
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
     // validate the data held by this face set
     bool validate( void );
 
@@ -69,19 +69,19 @@ public:
     SGFACESET( SGNODE* aParent );
     virtual ~SGFACESET();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode( const char *aNodeName, const SGNODE *aCaller );
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode( const char *aNodeName, const SGNODE *aCaller ) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
     bool CalcNormals( SGNODE** aPtr );
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     /**
      * Function GatherCoordIndices
diff --git a/3d-viewer/3d_cache/sg/sg_index.h b/3d-viewer/3d_cache/sg/sg_index.h
index 659cba2..da0e48e 100644
--- a/3d-viewer/3d_cache/sg/sg_index.h
+++ b/3d-viewer/3d_cache/sg/sg_index.h
@@ -42,18 +42,18 @@ protected:
 public:
     // for internal SG consumption only
     std::vector< int > index;
-    virtual void unlinkChildNode( const SGNODE* aCaller );
-    virtual void unlinkRefNode( const SGNODE* aCaller );
+    virtual void unlinkChildNode( const SGNODE* aCaller ) override;
+    virtual void unlinkRefNode( const SGNODE* aCaller ) override;
 
 public:
     SGINDEX( SGNODE* aParent );
     virtual ~SGINDEX();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
     /**
      * Function GetIndices
@@ -88,11 +88,11 @@ public:
      */
     void AddIndex( int aIndex );
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_INDEX_H
diff --git a/3d-viewer/3d_cache/sg/sg_normals.h b/3d-viewer/3d_cache/sg/sg_normals.h
index 47552af..a311b8a 100644
--- a/3d-viewer/3d_cache/sg/sg_normals.h
+++ b/3d-viewer/3d_cache/sg/sg_normals.h
@@ -37,29 +37,29 @@ class SGNORMALS : public SGNODE
 public:
     std::vector< SGVECTOR > norms;
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGNORMALS( SGNODE* aParent );
     virtual ~SGNORMALS();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
     bool GetNormalList( size_t& aListSize, SGVECTOR*& aNormalList );
     void SetNormalList( size_t aListSize, const SGVECTOR* aNormalList );
     void AddNormal( double aXValue, double aYValue, double aZValue );
     void AddNormal( const SGVECTOR& aNormal );
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 };
 
 #endif  // SG_NORMALS_H
diff --git a/3d-viewer/3d_cache/sg/sg_shape.h b/3d-viewer/3d_cache/sg/sg_shape.h
index d6c07b8..8737ca7 100644
--- a/3d-viewer/3d_cache/sg/sg_shape.h
+++ b/3d-viewer/3d_cache/sg/sg_shape.h
@@ -51,24 +51,24 @@ public:
     SGAPPEARANCE* m_RAppearance;
     SGFACESET*    m_RFaceSet;
 
-    virtual void unlinkChildNode( const SGNODE* aNode );
-    virtual void unlinkRefNode( const SGNODE* aNode );
+    virtual void unlinkChildNode( const SGNODE* aNode ) override;
+    virtual void unlinkRefNode( const SGNODE* aNode ) override;
 
 public:
     SGSHAPE( SGNODE* aParent );
     virtual ~SGSHAPE();
 
-    virtual bool SetParent( SGNODE* aParent, bool notify = true );
+    virtual bool SetParent( SGNODE* aParent, bool notify = true ) override;
 
-    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller);
-    virtual bool AddRefNode( SGNODE* aNode );
-    virtual bool AddChildNode( SGNODE* aNode );
+    virtual SGNODE* FindNode(const char *aNodeName, const SGNODE *aCaller) override;
+    virtual bool AddRefNode( SGNODE* aNode ) override;
+    virtual bool AddChildNode( SGNODE* aNode ) override;
 
-    virtual void ReNameNodes( void );
-    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag );
+    virtual void ReNameNodes( void ) override;
+    virtual bool WriteVRML( std::ofstream& aFile, bool aReuseFlag ) override;
 
-    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode );
-    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode );
+    virtual bool WriteCache( std::ofstream& aFile, SGNODE* parentNode ) override;
+    virtual bool ReadCache( std::ifstream& aFile, SGNODE* parentNode ) override;
 
     bool Prepare( const glm::dmat4* aTransform,
         S3D::MATLIST& materials, std::vector< SMESH >& meshes );
diff --git a/3d-viewer/3d_draw.cpp b/3d-viewer/3d_draw.cpp
index 6e80472..a9d92a7 100644
--- a/3d-viewer/3d_draw.cpp
+++ b/3d-viewer/3d_draw.cpp
@@ -91,7 +91,7 @@ public:
         m_hasMessage = false;
     }
 
-    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED )
+    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override
     {
         if( !aText.IsEmpty() )
             m_hasMessage = true;
diff --git a/3d-viewer/3d_material.h b/3d-viewer/3d_material.h
index 26e310f..a497e44 100644
--- a/3d-viewer/3d_material.h
+++ b/3d-viewer/3d_material.h
@@ -66,13 +66,13 @@ public:
     bool SetOpenGLMaterial(unsigned int aMaterialIndex, bool aUseMaterial);
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     /** Get class name
      * @return  string "S3D_MATERIAL"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "S3D_MATERIAL" );
     }
diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
index 08208a3..b4ce07a 100644
--- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
+++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_ogl_legacy.h
@@ -52,8 +52,8 @@ public:
     ~C3D_RENDER_OGL_LEGACY();
 
     // Imported from C3D_RENDER_BASE
-    virtual void SetCurWindowSize( const wxSize &aSize );
-    virtual void Redraw( bool aIsMoving );
+    virtual void SetCurWindowSize( const wxSize &aSize ) override;
+    virtual void Redraw( bool aIsMoving ) override;
 
 private:
     bool initializeOpenGL();
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
index 5bf9bf5..1e6ed1b 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer.h
@@ -76,8 +76,8 @@ private:
 class GLM_ALIGN(CLASS_ALIGNMENT) CCONTAINER : public CGENERICCONTAINER
 {
 public:
-    virtual bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const;
-    virtual bool IntersectP( const RAY &aRay, float aMaxDistance ) const;
+    virtual bool Intersect( const RAY &aRay, HITINFO &aHitInfo ) const override;
+    virtual bool IntersectP( const RAY &aRay, float aMaxDistance ) const override;
 };
 
 #endif // _CCONTAINER_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
index 12e1a0f..df2db90 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/accelerators/ccontainer2d.h
@@ -78,7 +78,7 @@ public:
     CCONTAINER2D();
 
     // Imported from CGENERICCONTAINER2D
-    virtual void GetListObjectsIntersects( const CBBOX2D & aBBox, CONST_LIST_OBJECT2D &aOutList ) const;
+    virtual void GetListObjectsIntersects( const CBBOX2D & aBBox, CONST_LIST_OBJECT2D &aOutList ) const override;
 };
 
 
@@ -110,7 +110,7 @@ private:
 public:
 
     // Imported from CGENERICCONTAINER2D
-    virtual void GetListObjectsIntersects( const CBBOX2D & aBBox, CONST_LIST_OBJECT2D &aOutList ) const;
+    virtual void GetListObjectsIntersects( const CBBOX2D & aBBox, CONST_LIST_OBJECT2D &aOutList ) const override;
 };
 
 #endif // _CCONTAINER2D_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
index 098e5af..41a3471 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/cmaterial.h
@@ -89,7 +89,7 @@ public:
                            float aTransparency ) :
     CMATERIAL( aAmbient, aEmissive, aSpecular, aShinness, aTransparency ) {}
 
-    virtual SFVEC3F Shade( const RAY &aRay, const HITINFO &aHitInfo, float NdotL, const SFVEC3F &aDiffuseObjColor, const SFVEC3F &aDirToLight, const SFVEC3F &aLightColor, bool aIsInShadow ) const;
+    virtual SFVEC3F Shade( const RAY &aRay, const HITINFO &aHitInfo, float NdotL, const SFVEC3F &aDiffuseObjColor, const SFVEC3F &aDirToLight, const SFVEC3F &aLightColor, bool aIsInShadow ) const override;
 };
 
 #endif // _CMATERIAL_H_
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
index 7a41f88..9e6e4a4 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cfilledcircle2d.h
@@ -48,11 +48,11 @@ public:
     CFILLEDCIRCLE2D( const SFVEC2F &aCenter, float aRadius, const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
index 616a046..36dafd3 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon2d.h
@@ -102,11 +102,11 @@ public:
                      const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
@@ -123,11 +123,11 @@ public:
     CDUMMYBLOCK2D( const CBBOX2D &aBBox, const BOARD_ITEM &aBoardItem );
 
      // Imported from COBJECT2D
-     virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-     virtual bool Intersects( const CBBOX2D &aBBox ) const;
-     virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-     virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-     virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+     virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+     virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+     virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+     virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+     virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 /**
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
index 733a0f0..8d6f0d2 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cpolygon4pts2d.h
@@ -62,11 +62,11 @@ public:
     const SFVEC2F &GetN3() const { return m_seg_normal[3]; }
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
index 5b96ed5..059e7b0 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/cring2d.h
@@ -54,11 +54,11 @@ public:
              const BOARD_ITEM &aBoardItem );
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
index 61a61e2..32a678d 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/croundsegment2d.h
@@ -78,11 +78,11 @@ public:
     const SFVEC2F &GetRightDir()  const { return m_rightDir; }
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
index 6a21ca1..299a58d 100644
--- a/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
+++ b/3d-viewer/3d_rendering/3d_render_raytracing/shapes2D/ctriangle2d.h
@@ -60,11 +60,11 @@ public:
     const SFVEC2F &GetP3() const { return p3; }
 
     // Imported from COBJECT2D
-    virtual bool Overlaps( const CBBOX2D &aBBox ) const;
-    virtual bool Intersects( const CBBOX2D &aBBox ) const;
-    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const;
-    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const;
-    virtual bool IsPointInside( const SFVEC2F &aPoint ) const;
+    virtual bool Overlaps( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersects( const CBBOX2D &aBBox ) const override;
+    virtual bool Intersect( const RAYSEG2D &aSegRay, float *aOutT, SFVEC2F *aNormalOut ) const override;
+    virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const override;
+    virtual bool IsPointInside( const SFVEC2F &aPoint ) const override;
 };
 
 
diff --git a/3d-viewer/3d_rendering/ctrack_ball.h b/3d-viewer/3d_rendering/ctrack_ball.h
index b2d705c..1d4861b 100644
--- a/3d-viewer/3d_rendering/ctrack_ball.h
+++ b/3d-viewer/3d_rendering/ctrack_ball.h
@@ -40,15 +40,15 @@ class CTRACK_BALL : public CCAMERA
 
     CTRACK_BALL( float aRangeScale );
 
-    virtual void Drag( const wxPoint &aNewMousePosition );
+    virtual void Drag( const wxPoint &aNewMousePosition ) override;
 
-    virtual void Pan( const wxPoint &aNewMousePosition );
+    virtual void Pan( const wxPoint &aNewMousePosition ) override;
 
-    virtual void Pan( const SFVEC3F &aDeltaOffsetInc );
+    virtual void Pan( const SFVEC3F &aDeltaOffsetInc ) override;
 
-    virtual void SetBoardLookAtPos( const SFVEC3F &aBoardPos );
+    virtual void SetBoardLookAtPos( const SFVEC3F &aBoardPos ) override;
 
-    virtual void Reset();
+    virtual void Reset() override;
 
 
  private:
diff --git a/3d-viewer/3d_struct.h b/3d-viewer/3d_struct.h
index 3dcebc2..3978957 100644
--- a/3d-viewer/3d_struct.h
+++ b/3d-viewer/3d_struct.h
@@ -107,7 +107,7 @@ public:
     void ObjectCoordsTo3DUnits( std::vector< S3D_VERTEX >& aVertices );
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     /**
@@ -125,7 +125,7 @@ public:
     /** Get class name
      * @return  string "S3D_MASTER"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "S3D_MASTER" );
     }
@@ -188,7 +188,7 @@ public:
     STRUCT_3D_SHAPE* Back() const { return (STRUCT_3D_SHAPE*) Pback; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/3d-viewer/3d_viewer.h b/3d-viewer/3d_viewer.h
index 45c2995..5ab3a4a 100644
--- a/3d-viewer/3d_viewer.h
+++ b/3d-viewer/3d_viewer.h
@@ -135,8 +135,8 @@ private:
     void ReCreateMainToolbar();
     void SetToolbars();
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     // Other functions
     void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
diff --git a/3d-viewer/dialogs/dialog_3D_view_option.cpp b/3d-viewer/dialogs/dialog_3D_view_option.cpp
index 6ba5f2c..54b2b4f 100644
--- a/3d-viewer/dialogs/dialog_3D_view_option.cpp
+++ b/3d-viewer/dialogs/dialog_3D_view_option.cpp
@@ -38,10 +38,10 @@ private:
     void initDialog();
 
     // Event functions:
-    virtual void OnShowAllClick( wxCommandEvent& event );
-    virtual void OnShowNoneClick( wxCommandEvent& event );
-    virtual void OnOKClick( wxCommandEvent& event );
-    virtual void OnCheckRealisticMode( wxCommandEvent& event );
+    virtual void OnShowAllClick( wxCommandEvent& event ) override;
+    virtual void OnShowNoneClick( wxCommandEvent& event ) override;
+    virtual void OnOKClick( wxCommandEvent& event ) override;
+    virtual void OnCheckRealisticMode( wxCommandEvent& event ) override;
 };
 
 
diff --git a/3d-viewer/modelparsers.h b/3d-viewer/modelparsers.h
index 2fb36de..aca2fa4 100644
--- a/3d-viewer/modelparsers.h
+++ b/3d-viewer/modelparsers.h
@@ -96,7 +96,7 @@ public:
     X3D_MODEL_PARSER( S3D_MASTER* aMaster );
     ~X3D_MODEL_PARSER();
 
-    virtual bool Load( const wxString& aFilename );
+    virtual bool Load( const wxString& aFilename ) override;
 
     typedef std::map< wxString, wxString > PROPERTY_MAP;
     typedef std::vector< wxXmlNode* >      NODE_LIST;
@@ -291,7 +291,7 @@ public:
      * @param aVrmlunits_to_3Dunits = the csaling factor to convert the 3D file unit
      * to our internal units.
      */
-    virtual bool Load( const wxString& aFilename );
+    virtual bool Load( const wxString& aFilename ) override;
 };
 
 
diff --git a/bitmap2component/bitmap2cmp_gui.cpp b/bitmap2component/bitmap2cmp_gui.cpp
index b31d9c3..7017e4f 100644
--- a/bitmap2component/bitmap2cmp_gui.cpp
+++ b/bitmap2component/bitmap2cmp_gui.cpp
@@ -87,14 +87,14 @@ public:
     ~BM2CMP_FRAME();
 
     // overload KIWAY_PLAYER virtual
-    virtual bool OpenProjectFiles( const std::vector<wxString>& aFilenames, int aCtl=0 );
+    virtual bool OpenProjectFiles( const std::vector<wxString>& aFilenames, int aCtl=0 ) override;
 
 private:
 
     // Event handlers
-    virtual void OnPaint( wxPaintEvent& event );
-    virtual void OnLoadFile( wxCommandEvent& event );
-    virtual void OnExport( wxCommandEvent& event );
+    virtual void OnPaint( wxPaintEvent& event ) override;
+    virtual void OnLoadFile( wxCommandEvent& event ) override;
+    virtual void OnExport( wxCommandEvent& event ) override;
 
     /**
      * Generate a schematic library which contains one component:
@@ -119,9 +119,9 @@ private:
     void OnExportLogo();
 
     void Binarize( double aThreshold );     // aThreshold = 0.0 (black level) to 1.0 (white level)
-    virtual void OnOptionsSelection( wxCommandEvent& event );
-    virtual void OnThresholdChange( wxScrollEvent& event );
-    virtual void OnResolutionChange( wxCommandEvent& event );
+    virtual void OnOptionsSelection( wxCommandEvent& event ) override;
+    virtual void OnThresholdChange( wxScrollEvent& event ) override;
+    virtual void OnResolutionChange( wxCommandEvent& event ) override;
 
     // called when texts controls which handle the image resolution
     // lose the focus, to ensure the right values are displayed
@@ -141,7 +141,7 @@ private:
     void NegateGreyscaleImage( );
     void ExportFile( FILE* aOutfile, OUTPUT_FMT_ID aFormat );
     void updateImageInfo();
-    virtual void OnFormatChange( wxCommandEvent& event );
+    virtual void OnFormatChange( wxCommandEvent& event ) override;
 };
 
 
@@ -668,9 +668,9 @@ namespace BMP2CMP {
 
 static struct IFACE : public KIFACE_I
 {
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -694,7 +694,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/common/confirm.cpp b/common/confirm.cpp
index 6cd5fa5..a6c0c6d 100644
--- a/common/confirm.cpp
+++ b/common/confirm.cpp
@@ -50,9 +50,9 @@ public:
     };
 
 private:
-    virtual void OnSaveAndExit( wxCommandEvent& event ) { EndModal( wxID_YES ); }
-    virtual void OnCancel( wxCommandEvent& event ) { EndModal( wxID_CANCEL ); }
-    virtual void OnExitNoSave( wxCommandEvent& event ) { EndModal( wxID_NO ); }
+    virtual void OnSaveAndExit( wxCommandEvent& event ) override { EndModal( wxID_YES ); }
+    virtual void OnCancel( wxCommandEvent& event ) override { EndModal( wxID_CANCEL ); }
+    virtual void OnExitNoSave( wxCommandEvent& event ) override { EndModal( wxID_NO ); }
 };
 
 
diff --git a/common/dialogs/dialog_image_editor.h b/common/dialogs/dialog_image_editor.h
index b490abc..b230bc5 100644
--- a/common/dialogs/dialog_image_editor.h
+++ b/common/dialogs/dialog_image_editor.h
@@ -53,15 +53,15 @@ public:
     void TransfertToImage( BITMAP_BASE* aItem );
 
 private:
-    virtual void OnUndoLastChange( wxCommandEvent& event );
-    virtual void OnGreyScaleConvert( wxCommandEvent& event );
-    virtual void OnHalfSize( wxCommandEvent& event );
-    virtual void OnMirrorX_click( wxCommandEvent& event );
-    virtual void OnMirrorY_click( wxCommandEvent& event );
-    virtual void OnRotateClick( wxCommandEvent& event );
-    virtual void OnOK_Button( wxCommandEvent& aEvent );
-    virtual void OnCancel_Button( wxCommandEvent& aEvent );
-    virtual void OnRedrawPanel( wxPaintEvent& event );
+    virtual void OnUndoLastChange( wxCommandEvent& event ) override;
+    virtual void OnGreyScaleConvert( wxCommandEvent& event ) override;
+    virtual void OnHalfSize( wxCommandEvent& event ) override;
+    virtual void OnMirrorX_click( wxCommandEvent& event ) override;
+    virtual void OnMirrorY_click( wxCommandEvent& event ) override;
+    virtual void OnRotateClick( wxCommandEvent& event ) override;
+    virtual void OnOK_Button( wxCommandEvent& aEvent ) override;
+    virtual void OnCancel_Button( wxCommandEvent& aEvent ) override;
+    virtual void OnRedrawPanel( wxPaintEvent& event ) override;
     bool CheckValues();
 };
 
diff --git a/common/dialogs/dialog_page_settings.h b/common/dialogs/dialog_page_settings.h
index 08334a9..1117428 100644
--- a/common/dialogs/dialog_page_settings.h
+++ b/common/dialogs/dialog_page_settings.h
@@ -73,29 +73,29 @@ private:
     void initDialog();  // Initialisation of member variables
 
     // event handler for button OK
-    virtual void OnOkClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
 
     // event handlers for page size choice
-    virtual void OnPaperSizeChoice( wxCommandEvent& event );
-    virtual void OnUserPageSizeXTextUpdated( wxCommandEvent& event );
-    virtual void OnUserPageSizeYTextUpdated( wxCommandEvent& event );
-    virtual void OnPageOrientationChoice( wxCommandEvent& event );
+    virtual void OnPaperSizeChoice( wxCommandEvent& event ) override;
+    virtual void OnUserPageSizeXTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnUserPageSizeYTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnPageOrientationChoice( wxCommandEvent& event ) override;
 
     // event handler for texts in title block
-    virtual void OnRevisionTextUpdated( wxCommandEvent& event );
-    virtual void OnDateTextUpdated( wxCommandEvent& event );
-    virtual void OnTitleTextUpdated( wxCommandEvent& event );
-    virtual void OnCompanyTextUpdated( wxCommandEvent& event );
-    virtual void OnComment1TextUpdated( wxCommandEvent& event );
-    virtual void OnComment2TextUpdated( wxCommandEvent& event );
-    virtual void OnComment3TextUpdated( wxCommandEvent& event );
-    virtual void OnComment4TextUpdated( wxCommandEvent& event );
+    virtual void OnRevisionTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnDateTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnTitleTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnCompanyTextUpdated( wxCommandEvent& event ) override;
+    virtual void OnComment1TextUpdated( wxCommandEvent& event ) override;
+    virtual void OnComment2TextUpdated( wxCommandEvent& event ) override;
+    virtual void OnComment3TextUpdated( wxCommandEvent& event ) override;
+    virtual void OnComment4TextUpdated( wxCommandEvent& event ) override;
 
     // Handle button click for setting the date from the picker
-    virtual void OnDateApplyClick( wxCommandEvent& event );
+    virtual void OnDateApplyClick( wxCommandEvent& event ) override;
 
     // .kicad_wks file description selection
-    virtual void OnWksFileSelection( wxCommandEvent& event );
+    virtual void OnWksFileSelection( wxCommandEvent& event ) override;
 
     // Save in the current title block the new page settings
     // return true if changes are made, or false if not
diff --git a/common/dialogs/wx_html_report_panel.h b/common/dialogs/wx_html_report_panel.h
index 2291650..e1d2f05 100644
--- a/common/dialogs/wx_html_report_panel.h
+++ b/common/dialogs/wx_html_report_panel.h
@@ -59,7 +59,7 @@ public:
     void Clear();
 
     ///> sets the frame label
-    virtual void SetLabel( const wxString& aLabel );
+    virtual void SetLabel( const wxString& aLabel ) override;
 
     ///> Sets the lasy update. If this mode is on, messages are stored but the display
     ///> is not updated (Updating display can be very time consumming if there are many messages)
@@ -94,13 +94,13 @@ private:
     void scrollToBottom();
     void syncCheckboxes();
 
-    virtual void onCheckBoxShowAll( wxCommandEvent& event );
-    virtual void onCheckBoxShowWarnings( wxCommandEvent& event );
-    virtual void onCheckBoxShowErrors( wxCommandEvent& event );
-    virtual void onCheckBoxShowInfos( wxCommandEvent& event );
-    virtual void onCheckBoxShowActions( wxCommandEvent& event );
+    virtual void onCheckBoxShowAll( wxCommandEvent& event ) override;
+    virtual void onCheckBoxShowWarnings( wxCommandEvent& event ) override;
+    virtual void onCheckBoxShowErrors( wxCommandEvent& event ) override;
+    virtual void onCheckBoxShowInfos( wxCommandEvent& event ) override;
+    virtual void onCheckBoxShowActions( wxCommandEvent& event ) override;
 
-    virtual void onBtnSaveToFile( wxCommandEvent& event );
+    virtual void onBtnSaveToFile( wxCommandEvent& event ) override;
 
     ///> copy of the report, stored for filtering
     REPORT_LINES m_report;
diff --git a/common/single_top.cpp b/common/single_top.cpp
index 99f1c33..62e9fbd 100644
--- a/common/single_top.cpp
+++ b/common/single_top.cpp
@@ -96,9 +96,9 @@ KIWAY    Kiway( &Pgm(), KFCTL_STANDALONE );
  */
 static struct PGM_SINGLE_TOP : public PGM_BASE
 {
-    virtual bool OnPgmInit( wxApp* aWxApp );
-    virtual void OnPgmExit();
-    virtual void MacOpenFile( const wxString& aFileName );
+    virtual bool OnPgmInit( wxApp* aWxApp ) override;
+    virtual void OnPgmExit() override;
+    virtual void MacOpenFile( const wxString& aFileName ) override;
 } program;
 
 
@@ -129,7 +129,7 @@ struct APP_SINGLE_TOP : public wxApp
     }
 #endif
 
-    virtual bool OnInit()
+    virtual bool OnInit() override
     {
         try
         {
@@ -155,7 +155,7 @@ struct APP_SINGLE_TOP : public wxApp
         return false;
     }
 
-    virtual int  OnExit()
+    virtual int  OnExit() override
     {
         // Fixes segfault when wxPython scripting is enabled.
 #if defined( KICAD_SCRIPTING_WXPYTHON )
@@ -164,7 +164,7 @@ struct APP_SINGLE_TOP : public wxApp
         return wxApp::OnExit();
     }
 
-    virtual int OnRun()
+    virtual int OnRun() override
     {
         int ret = -1;
 
diff --git a/cvpcb/class_DisplayFootprintsFrame.h b/cvpcb/class_DisplayFootprintsFrame.h
index 658375a..95ddeef 100644
--- a/cvpcb/class_DisplayFootprintsFrame.h
+++ b/cvpcb/class_DisplayFootprintsFrame.h
@@ -45,15 +45,15 @@ public:
     DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, CVPCB_MAINFRAME* aParent );
     ~DISPLAY_FOOTPRINTS_FRAME();
 
-    virtual void    OnCloseWindow( wxCloseEvent& Event );
+    virtual void    OnCloseWindow( wxCloseEvent& Event ) override;
 
     /*
      * Draws the current highlighted footprint.
      */
-    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
-    virtual void    ReCreateHToolbar();
-    virtual void    ReCreateVToolbar();
+    virtual void    ReCreateHToolbar() override;
+    virtual void    ReCreateVToolbar() override;
     void    ReCreateOptToolbar();
     void    RecreateMenuBar();
 
@@ -74,7 +74,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -82,29 +82,29 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
-    virtual void    OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    virtual void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
-    virtual bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
-    virtual bool    GeneralControl( wxDC* DC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual void    OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
+    virtual bool    GeneralControl( wxDC* DC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
     void    InstallOptionsDisplay( wxCommandEvent& event );
     MODULE* Get_Module( const wxString& CmpName );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const { return NULL; }
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override { return NULL; }
 
     void    Process_Settings( wxCommandEvent& event );
 
     /**
      * Display 3D frame of current footprint selection.
      */
-    virtual void    Show3D_Frame( wxCommandEvent& event );
+    virtual void    Show3D_Frame( wxCommandEvent& event ) override;
 
     /* SaveCopyInUndoList() virtual
      * currently: do nothing in CvPcb.
@@ -112,7 +112,7 @@ public:
      */
     virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
                                      UNDO_REDO_T aTypeCommand = UR_UNSPECIFIED,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
     {
     }
 
@@ -128,7 +128,7 @@ public:
      */
     virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
                                      UNDO_REDO_T aTypeCommand,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
     {
         // currently: do nothing in CvPcb.
     }
diff --git a/cvpcb/cvpcb.cpp b/cvpcb/cvpcb.cpp
index ed728d0..2ac4f5b 100644
--- a/cvpcb/cvpcb.cpp
+++ b/cvpcb/cvpcb.cpp
@@ -67,11 +67,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -101,7 +101,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/cvpcb/cvpcb_mainframe.h b/cvpcb/cvpcb_mainframe.h
index 2bc13c4..cd44333 100644
--- a/cvpcb/cvpcb_mainframe.h
+++ b/cvpcb/cvpcb_mainframe.h
@@ -86,9 +86,9 @@ protected:
 public:
     ~CVPCB_MAINFRAME();
 
-    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl=0 );
+    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl=0 ) override;
 
-    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent );
+    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent ) override;
 
     /**
      * @return a pointer on the Footprint Viewer frame, if exists, or NULL
@@ -115,7 +115,7 @@ public:
     void             OnCloseWindow( wxCloseEvent& Event );
     void             OnSize( wxSizeEvent& SizeEvent );
     void             ReCreateHToolbar();
-    virtual void     ReCreateMenuBar();
+    virtual void     ReCreateMenuBar() override;
 
     void             ChangeFocus( bool aMoveRight );
 
@@ -212,9 +212,9 @@ public:
      */
     void SaveProjectFile();
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function DisplayStatus
diff --git a/cvpcb/dialogs/dialog_config_equfiles.h b/cvpcb/dialogs/dialog_config_equfiles.h
index 4210d6b..a9dcbf8 100644
--- a/cvpcb/dialogs/dialog_config_equfiles.h
+++ b/cvpcb/dialogs/dialog_config_equfiles.h
@@ -44,13 +44,13 @@ private:
     void Init();
 
     // Virtual event handlers
-    virtual void OnCloseWindow( wxCloseEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnAddFiles( wxCommandEvent& event );
-    virtual void OnEditEquFile( wxCommandEvent& event );
-    virtual void OnRemoveFiles( wxCommandEvent& event );
-    virtual void OnButtonMoveUp( wxCommandEvent& event );
-    virtual void OnButtonMoveDown( wxCommandEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnAddFiles( wxCommandEvent& event ) override;
+    virtual void OnEditEquFile( wxCommandEvent& event ) override;
+    virtual void OnRemoveFiles( wxCommandEvent& event ) override;
+    virtual void OnButtonMoveUp( wxCommandEvent& event ) override;
+    virtual void OnButtonMoveDown( wxCommandEvent& event ) override;
 
     int getEnvVarCount()                // Get the number of rows in env var table
     {
diff --git a/cvpcb/dialogs/dialog_display_options.h b/cvpcb/dialogs/dialog_display_options.h
index 3157e1d..fabca87 100644
--- a/cvpcb/dialogs/dialog_display_options.h
+++ b/cvpcb/dialogs/dialog_display_options.h
@@ -49,10 +49,10 @@ public:
 private:
     void initDialog( );
     void UpdateObjectSettings( void );
-    virtual void OnApplyClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event )
+    virtual void OnApplyClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) override
     {
         m_IsMiddleButtonPanLimited->Enable( m_IsMiddleButtonPan->GetValue() );
     }
diff --git a/cvpcb/dialogs/fp_conflict_assignment_selector.h b/cvpcb/dialogs/fp_conflict_assignment_selector.h
index f4c73ae..516d545 100644
--- a/cvpcb/dialogs/fp_conflict_assignment_selector.h
+++ b/cvpcb/dialogs/fp_conflict_assignment_selector.h
@@ -63,16 +63,16 @@ class DIALOG_FP_CONFLICT_ASSIGNMENT_SELECTOR : public DIALOG_FP_CONFLICT_ASSIGNM
         int GetSelection( const wxString& aReference );
 
     private:
-        virtual void OnSize( wxSizeEvent& event );
+        virtual void OnSize( wxSizeEvent& event ) override;
 
         // Virtual: called when clicking on the column title:
         // when it is a column choice, set all item choices.
-        virtual void OnColumnClick( wxListEvent& event );
+        virtual void OnColumnClick( wxListEvent& event ) override;
 
-        virtual void OnItemClicked( wxMouseEvent& event );
+        virtual void OnItemClicked( wxMouseEvent& event ) override;
 
-        virtual void OnCancelClick( wxCommandEvent& event ) { EndModal( wxID_CANCEL ); }
-        virtual void OnOKClick( wxCommandEvent& event ) { EndModal( wxID_OK ); }
+        virtual void OnCancelClick( wxCommandEvent& event ) override { EndModal( wxID_CANCEL ); }
+        virtual void OnOKClick( wxCommandEvent& event ) override { EndModal( wxID_OK ); }
 
         void recalculateColumns();
 
diff --git a/cvpcb/listview_classes.h b/cvpcb/listview_classes.h
index 8d0410f..8d249df 100644
--- a/cvpcb/listview_classes.h
+++ b/cvpcb/listview_classes.h
@@ -131,7 +131,7 @@ public:
      * this overloaded function MUST be provided for the wxLC_VIRTUAL mode
      * because real data is not handled by ITEMS_LISTBOX_BASE
      */
-    virtual wxString OnGetItemText( long item, long column ) const;
+    virtual wxString OnGetItemText( long item, long column ) const override;
 
     // Events functions:
     void     OnLeftClick( wxListEvent& event );
@@ -161,7 +161,7 @@ public:
     void     SetLibraryList( const wxArrayString& aList );
 
     wxString GetSelectedLibrary();
-    virtual wxString OnGetItemText( long item, long column ) const;
+    virtual wxString OnGetItemText( long item, long column ) const override;
 
     // Events functions:
     void     OnLeftClick( wxListEvent& event );
@@ -209,7 +209,7 @@ public:
      * this overloaded function MUST be provided for the wxLC_VIRTUAL mode
      * because real data is not handled by ITEMS_LISTBOX_BASE
      */
-    virtual wxString OnGetItemText( long item, long column ) const;
+    virtual wxString OnGetItemText( long item, long column ) const override;
 
     /*
      * Enable or disable an item
diff --git a/eeschema/class_libentry.h b/eeschema/class_libentry.h
index 53863e4..b3db305 100644
--- a/eeschema/class_libentry.h
+++ b/eeschema/class_libentry.h
@@ -109,7 +109,7 @@ public:
 
     virtual ~LIB_ALIAS();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_ALIAS" );
     }
@@ -178,7 +178,7 @@ public:
     bool operator==( const LIB_ALIAS* aAlias ) const { return this == aAlias; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
@@ -241,7 +241,7 @@ public:
         return m_me;
     }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_PART" );
     }
@@ -766,7 +766,7 @@ public:
     bool operator==( const LIB_PART*  aPart ) const { return this == aPart; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/eeschema/class_sch_screen.h b/eeschema/class_sch_screen.h
index 79f8a74..91e7763 100644
--- a/eeschema/class_sch_screen.h
+++ b/eeschema/class_sch_screen.h
@@ -106,7 +106,7 @@ public:
 
     ~SCH_SCREEN();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_SCREEN" );
     }
@@ -342,7 +342,7 @@ public:
      * items are removed from the beginning of the list.
      * So this function can be called to remove old commands
      */
-    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 
     /**
      * Function Save
@@ -521,7 +521,7 @@ public:
     int UpdatePickList();
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
diff --git a/eeschema/dialogs/dialog_annotate.cpp b/eeschema/dialogs/dialog_annotate.cpp
index e8d3cdc..519c77e 100644
--- a/eeschema/dialogs/dialog_annotate.cpp
+++ b/eeschema/dialogs/dialog_annotate.cpp
@@ -61,9 +61,9 @@ private:
 
     /// Initialises member variables
     void InitValues();
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnClearAnnotationCmpClick( wxCommandEvent& event );
-    virtual void OnApplyClick( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnClearAnnotationCmpClick( wxCommandEvent& event ) override;
+    virtual void OnApplyClick( wxCommandEvent& event ) override;
 
     // User functions:
     bool GetLevel();
diff --git a/eeschema/dialogs/dialog_bom.cpp b/eeschema/dialogs/dialog_bom.cpp
index 9324bce..14ab0c4 100644
--- a/eeschema/dialogs/dialog_bom.cpp
+++ b/eeschema/dialogs/dialog_bom.cpp
@@ -185,16 +185,16 @@ public:
     ~DIALOG_BOM();
 
 private:
-    virtual void OnPluginSelected( wxCommandEvent& event );
-    virtual void OnRunPlugin( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnHelp( wxCommandEvent& event );
-    virtual void OnAddPlugin( wxCommandEvent& event );
-    virtual void OnRemovePlugin( wxCommandEvent& event );
-    virtual void OnEditPlugin( wxCommandEvent& event );
-    virtual void OnCommandLineEdited( wxCommandEvent& event );
-    virtual void OnNameEdited( wxCommandEvent& event );
-    virtual void OnShowConsoleChanged( wxCommandEvent& event );
+    virtual void OnPluginSelected( wxCommandEvent& event ) override;
+    virtual void OnRunPlugin( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnHelp( wxCommandEvent& event ) override;
+    virtual void OnAddPlugin( wxCommandEvent& event ) override;
+    virtual void OnRemovePlugin( wxCommandEvent& event ) override;
+    virtual void OnEditPlugin( wxCommandEvent& event ) override;
+    virtual void OnCommandLineEdited( wxCommandEvent& event ) override;
+    virtual void OnNameEdited( wxCommandEvent& event ) override;
+    virtual void OnShowConsoleChanged( wxCommandEvent& event ) override;
 
     void pluginInit();
     void installPluginsList();
diff --git a/eeschema/dialogs/dialog_choose_component.h b/eeschema/dialogs/dialog_choose_component.h
index 8d8ac24..9d83df8 100644
--- a/eeschema/dialogs/dialog_choose_component.h
+++ b/eeschema/dialogs/dialog_choose_component.h
@@ -71,17 +71,17 @@ public:
     bool IsExternalBrowserSelected() const { return m_external_browser_requested; }
 
 protected:
-    virtual void OnSearchBoxChange( wxCommandEvent& aEvent );
-    virtual void OnSearchBoxEnter( wxCommandEvent& aEvent );
-    virtual void OnInterceptSearchBoxKey( wxKeyEvent& aEvent );
+    virtual void OnSearchBoxChange( wxCommandEvent& aEvent ) override;
+    virtual void OnSearchBoxEnter( wxCommandEvent& aEvent ) override;
+    virtual void OnInterceptSearchBoxKey( wxKeyEvent& aEvent ) override;
 
-    virtual void OnTreeSelect( wxTreeEvent& aEvent );
-    virtual void OnDoubleClickTreeActivation( wxTreeEvent& aEvent );
-    virtual void OnInterceptTreeEnter( wxKeyEvent& aEvent );
-    virtual void OnTreeMouseUp( wxMouseEvent& aMouseEvent );
+    virtual void OnTreeSelect( wxTreeEvent& aEvent ) override;
+    virtual void OnDoubleClickTreeActivation( wxTreeEvent& aEvent ) override;
+    virtual void OnInterceptTreeEnter( wxKeyEvent& aEvent ) override;
+    virtual void OnTreeMouseUp( wxMouseEvent& aMouseEvent ) override;
 
-    virtual void OnStartComponentBrowser( wxMouseEvent& aEvent );
-    virtual void OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent );
+    virtual void OnStartComponentBrowser( wxMouseEvent& aEvent ) override;
+    virtual void OnHandlePreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
 
 private:
     bool updateSelection();
diff --git a/eeschema/dialogs/dialog_edit_component_in_lib.h b/eeschema/dialogs/dialog_edit_component_in_lib.h
index 1622ba9..b07b1a9 100644
--- a/eeschema/dialogs/dialog_edit_component_in_lib.h
+++ b/eeschema/dialogs/dialog_edit_component_in_lib.h
@@ -50,20 +50,20 @@ private:
     void initDlg();
     void InitPanelDoc();
     void InitBasicPanel();
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnOkClick(wxCommandEvent& event);
-    virtual void DeleteAllAliasOfPart(wxCommandEvent& event);
-    virtual void DeleteAliasOfPart(wxCommandEvent& event);
-    virtual void AddAliasOfPart(wxCommandEvent& event);
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnOkClick(wxCommandEvent& event) override;
+    virtual void DeleteAllAliasOfPart(wxCommandEvent& event) override;
+    virtual void DeleteAliasOfPart(wxCommandEvent& event) override;
+    virtual void AddAliasOfPart(wxCommandEvent& event) override;
     bool ChangeNbUnitsPerPackage(int newUnit);
     bool SetUnsetConvert();
-    virtual void CopyDocFromRootToAlias(wxCommandEvent& event);
-    virtual void BrowseAndSelectDocFile(wxCommandEvent& event);
+    virtual void CopyDocFromRootToAlias(wxCommandEvent& event) override;
+    virtual void BrowseAndSelectDocFile(wxCommandEvent& event) override;
 
-    virtual void DeleteAllFootprintFilter(wxCommandEvent& event);
-    virtual void DeleteOneFootprintFilter(wxCommandEvent& event);
-    virtual void AddFootprintFilter(wxCommandEvent& event);
-    virtual void EditOneFootprintFilter( wxCommandEvent& event );
+    virtual void DeleteAllFootprintFilter(wxCommandEvent& event) override;
+    virtual void DeleteOneFootprintFilter(wxCommandEvent& event) override;
+    virtual void AddFootprintFilter(wxCommandEvent& event) override;
+    virtual void EditOneFootprintFilter( wxCommandEvent& event ) override;
 };
 
 #endif
diff --git a/eeschema/dialogs/dialog_edit_component_in_schematic.cpp b/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
index 234c121..92cc5fd 100644
--- a/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
+++ b/eeschema/dialogs/dialog_edit_component_in_schematic.cpp
@@ -109,18 +109,18 @@ private:
     void setRowItem( int aFieldNdx, const SCH_FIELD& aField );
 
     // event handlers
-    virtual void OnCloseDialog( wxCloseEvent& event );
-    virtual void OnListItemDeselected( wxListEvent& event );
-    virtual void OnListItemSelected( wxListEvent& event );
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
-    virtual void OnOKButtonClick( wxCommandEvent& event );
-    virtual void SetInitCmp( wxCommandEvent& event );
-    virtual void addFieldButtonHandler( wxCommandEvent& event );
-    virtual void deleteFieldButtonHandler( wxCommandEvent& event );
-    virtual void moveUpButtonHandler( wxCommandEvent& event );
-    virtual void showButtonHandler( wxCommandEvent& event );
-    virtual void OnTestChipName( wxCommandEvent& event );
-    virtual void OnSelectChipName( wxCommandEvent& event );
+    virtual void OnCloseDialog( wxCloseEvent& event ) override;
+    virtual void OnListItemDeselected( wxListEvent& event ) override;
+    virtual void OnListItemSelected( wxListEvent& event ) override;
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
+    virtual void OnOKButtonClick( wxCommandEvent& event ) override;
+    virtual void SetInitCmp( wxCommandEvent& event ) override;
+    virtual void addFieldButtonHandler( wxCommandEvent& event ) override;
+    virtual void deleteFieldButtonHandler( wxCommandEvent& event ) override;
+    virtual void moveUpButtonHandler( wxCommandEvent& event ) override;
+    virtual void showButtonHandler( wxCommandEvent& event ) override;
+    virtual void OnTestChipName( wxCommandEvent& event ) override;
+    virtual void OnSelectChipName( wxCommandEvent& event ) override;
 
     SCH_FIELD* findField( const wxString& aFieldName );
 
diff --git a/eeschema/dialogs/dialog_edit_label.cpp b/eeschema/dialogs/dialog_edit_label.cpp
index 849273b..e8e172a 100644
--- a/eeschema/dialogs/dialog_edit_label.cpp
+++ b/eeschema/dialogs/dialog_edit_label.cpp
@@ -51,7 +51,7 @@ class DIALOG_LABEL_EDITOR : public DIALOG_LABEL_EDITOR_BASE
 public:
     DIALOG_LABEL_EDITOR( SCH_EDIT_FRAME* parent, SCH_TEXT* aTextItem );
 
-    virtual void SetTitle( const wxString& aTitle )
+    virtual void SetTitle( const wxString& aTitle ) override
     {
         // This class is shared for numerous tasks: a couple of
         // single line labels and multi-line text fields.
@@ -76,10 +76,10 @@ public:
     }
 
 private:
-    virtual void InitDialog( );
-    virtual void OnEnterKey( wxCommandEvent& aEvent );
-    virtual void OnOkClick( wxCommandEvent& aEvent );
-    virtual void OnCancelClick( wxCommandEvent& aEvent );
+    virtual void InitDialog( ) override;
+    virtual void OnEnterKey( wxCommandEvent& aEvent ) override;
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
+    virtual void OnCancelClick( wxCommandEvent& aEvent ) override;
     void TextPropertiesAccept( wxCommandEvent& aEvent );
 
     SCH_EDIT_FRAME* m_Parent;
diff --git a/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp b/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
index 58c2417..4b714e7 100644
--- a/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
+++ b/eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp
@@ -60,12 +60,12 @@ public:
 
 private:
     // Events handlers:
-    virtual void OnInitDialog( wxInitDialogEvent& event );
-    virtual void OnCloseDialog( wxCloseEvent& event );
+    virtual void OnInitDialog( wxInitDialogEvent& event ) override;
+    virtual void OnCloseDialog( wxCloseEvent& event ) override;
 
-    virtual void OnListItemDeselected( wxListEvent& event );
-    virtual void OnListItemSelected( wxListEvent& event );
-    virtual void addFieldButtonHandler( wxCommandEvent& event );
+    virtual void OnListItemDeselected( wxListEvent& event ) override;
+    virtual void OnListItemSelected( wxListEvent& event ) override;
+    virtual void addFieldButtonHandler( wxCommandEvent& event ) override;
 
     /**
      * Function deleteFieldButtonHandler
@@ -74,12 +74,12 @@ private:
      * If a field is empty, it is removed.
      * if not empty, the text is removed.
      */
-    virtual void deleteFieldButtonHandler( wxCommandEvent& event );
+    virtual void deleteFieldButtonHandler( wxCommandEvent& event ) override;
 
-    virtual void moveUpButtonHandler( wxCommandEvent& event );
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
-    virtual void OnOKButtonClick( wxCommandEvent& event );
-    virtual void showButtonHandler( wxCommandEvent& event );
+    virtual void moveUpButtonHandler( wxCommandEvent& event ) override;
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
+    virtual void OnOKButtonClick( wxCommandEvent& event ) override;
+    virtual void showButtonHandler( wxCommandEvent& event ) override;
 
     // internal functions:
     void setSelectedFieldNdx( int aFieldNdx );
diff --git a/eeschema/dialogs/dialog_edit_one_field.h b/eeschema/dialogs/dialog_edit_one_field.h
index 7bad85c..d199576 100644
--- a/eeschema/dialogs/dialog_edit_one_field.h
+++ b/eeschema/dialogs/dialog_edit_one_field.h
@@ -52,9 +52,9 @@ public:
 
     ~DIALOG_EDIT_ONE_FIELD() {}
 
-    virtual bool TransferDataToWindow();
+    virtual bool TransferDataToWindow() override;
 
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 
     SCH_BASE_FRAME* GetParent() { return dynamic_cast< SCH_BASE_FRAME* >( wxDialog::GetParent() ); }
 
@@ -75,11 +75,11 @@ protected:
      *
      * @param aEvent is the the wX event thrown when the button is clicked, this isn't used
      */
-    virtual void OnTextValueSelectButtonClick( wxCommandEvent& aEvent );
+    virtual void OnTextValueSelectButtonClick( wxCommandEvent& aEvent ) override;
 
     /// @todo Update DIALOG_SHIM to handle this transparently so no matter what mode the
     ///       dialogs is shown, everything is handled without this ugliness.
-    virtual void OnOkClick( wxCommandEvent& aEvent )
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override
     {
         if( IsQuasiModal() )
             EndQuasiModal( wxID_OK );
@@ -87,7 +87,7 @@ protected:
             EndDialog( wxID_OK );
     }
 
-    virtual void OnCancelClick( wxCommandEvent& event )
+    virtual void OnCancelClick( wxCommandEvent& event ) override
     {
         if( IsQuasiModal() )
             EndQuasiModal( wxID_CANCEL );
@@ -95,7 +95,7 @@ protected:
             EndDialog( wxID_CANCEL );
     }
 
-    virtual void OnCloseDialog( wxCloseEvent& aEvent )
+    virtual void OnCloseDialog( wxCloseEvent& aEvent ) override
     {
         if( IsQuasiModal() )
             EndQuasiModal( wxID_CANCEL );
diff --git a/eeschema/dialogs/dialog_eeschema_config.cpp b/eeschema/dialogs/dialog_eeschema_config.cpp
index a3cb58b..7682ab2 100644
--- a/eeschema/dialogs/dialog_eeschema_config.cpp
+++ b/eeschema/dialogs/dialog_eeschema_config.cpp
@@ -65,12 +65,12 @@ private:
 
     //------ event handlers, overiding the fbp handlers --------------
 
-    virtual void OnCloseWindow( wxCloseEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
 
     /* Remove a library to the library list.
      * The real list (m_Parent->m_ComponentLibFiles) is not changed, so the change can be canceled
      */
-    virtual void OnRemoveLibClick( wxCommandEvent& event );
+    virtual void OnRemoveLibClick( wxCommandEvent& event ) override;
 
     /* Insert or add a library to the library list:
      *   The new library is put in list before (insert button) the selection,
@@ -78,14 +78,14 @@ private:
      * The real list (m_Parent->m_ComponentLibFiles) is not changed, so the change
      * can be canceled
      */
-    virtual void OnAddOrInsertLibClick( wxCommandEvent& event );
-
-    virtual void OnAddOrInsertPath( wxCommandEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnRemoveUserPath( wxCommandEvent& event );
-    virtual void OnButtonUpClick( wxCommandEvent& event );
-    virtual void OnButtonDownClick( wxCommandEvent& event );
+    virtual void OnAddOrInsertLibClick( wxCommandEvent& event ) override;
+
+    virtual void OnAddOrInsertPath( wxCommandEvent& event ) override;
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnRemoveUserPath( wxCommandEvent& event ) override;
+    virtual void OnButtonUpClick( wxCommandEvent& event ) override;
+    virtual void OnButtonDownClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_eeschema_options.h b/eeschema/dialogs/dialog_eeschema_options.h
index 1b095a4..6ee5e5e 100644
--- a/eeschema/dialogs/dialog_eeschema_options.h
+++ b/eeschema/dialogs/dialog_eeschema_options.h
@@ -56,7 +56,7 @@ protected:
      *
      * Adds a new template fieldname (with default values) to the template fieldnames data
      */
-    virtual void OnAddButtonClick( wxCommandEvent& event );
+    virtual void OnAddButtonClick( wxCommandEvent& event ) override;
 
     /**
      * Function OnDeleteButtonClick
@@ -67,19 +67,19 @@ protected:
      *
      * Deletes the selected template fieldname from the template fieldnames data
      */
-    virtual void OnDeleteButtonClick( wxCommandEvent& event );
+    virtual void OnDeleteButtonClick( wxCommandEvent& event ) override;
 
     /**
      * Function TransferDataToWindow
      * Transfer data into the GUI.
      */
-    virtual bool TransferDataToWindow();
+    virtual bool TransferDataToWindow() override;
 
     /**
      * Function TransferDataFromWindow
      * Transfer data out of the GUI.
      */
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 
 public:
     /**
@@ -439,7 +439,7 @@ public:
     TEMPLATE_FIELDNAMES GetTemplateFields( void );
 
 private:
-    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event )
+    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) override
     {
         m_checkMiddleButtonPanLimited->Enable( GetEnableMiddleButtonPan() );
     }
diff --git a/eeschema/dialogs/dialog_erc.h b/eeschema/dialogs/dialog_erc.h
index 85ad2d1..47b2bd0 100644
--- a/eeschema/dialogs/dialog_erc.h
+++ b/eeschema/dialogs/dialog_erc.h
@@ -58,17 +58,17 @@ private:
     void Init();
 
     // from DIALOG_ERC_BASE:
-    virtual void OnCloseErcDialog( wxCloseEvent& event );
-    virtual void OnErcCmpClick( wxCommandEvent& event );
-    virtual void OnEraseDrcMarkersClick( wxCommandEvent& event );
-    virtual void OnButtonCloseClick( wxCommandEvent& event );
-    virtual void OnResetMatrixClick( wxCommandEvent& event );
+    virtual void OnCloseErcDialog( wxCloseEvent& event ) override;
+    virtual void OnErcCmpClick( wxCommandEvent& event ) override;
+    virtual void OnEraseDrcMarkersClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCloseClick( wxCommandEvent& event ) override;
+    virtual void OnResetMatrixClick( wxCommandEvent& event ) override;
 
     // Click on a marker info:
-    virtual void OnLeftClickMarkersList( wxHtmlLinkEvent& event );
+    virtual void OnLeftClickMarkersList( wxHtmlLinkEvent& event ) override;
 
     // Double click on a marker info:
-    virtual void OnLeftDblClickMarkersList( wxMouseEvent& event );
+    virtual void OnLeftDblClickMarkersList( wxMouseEvent& event ) override;
 
     void TestErc( wxArrayString* aMessagesList );
     void DisplayERC_MarkersList();
diff --git a/eeschema/dialogs/dialog_lib_edit_pin.h b/eeschema/dialogs/dialog_lib_edit_pin.h
index 18c78c6..5aa573c 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin.h
+++ b/eeschema/dialogs/dialog_lib_edit_pin.h
@@ -46,13 +46,13 @@ public:
     DIALOG_LIB_EDIT_PIN( EDA_DRAW_FRAME* parent, LIB_PIN* aPin );
     ~DIALOG_LIB_EDIT_PIN();
 
-    virtual void OnInitDialog( wxInitDialogEvent& event);
+    virtual void OnInitDialog( wxInitDialogEvent& event) override;
 
-    virtual void OnCloseDialog( wxCloseEvent& event );
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
-    virtual void OnOKButtonClick( wxCommandEvent& event );
-    virtual void OnPaintShowPanel( wxPaintEvent& event );
-    virtual void OnPropertiesChange( wxCommandEvent& event );
+    virtual void OnCloseDialog( wxCloseEvent& event ) override;
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
+    virtual void OnOKButtonClick( wxCommandEvent& event ) override;
+    virtual void OnPaintShowPanel( wxPaintEvent& event ) override;
+    virtual void OnPropertiesChange( wxCommandEvent& event ) override;
 
     void SetOrientationList( const wxArrayString& list, const BITMAP_DEF* aBitmaps );
     void SetOrientation( int orientation )
diff --git a/eeschema/dialogs/dialog_lib_edit_pin_table.cpp b/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
index 047f737..735d25e 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
+++ b/eeschema/dialogs/dialog_lib_edit_pin_table.cpp
@@ -46,19 +46,19 @@ public:
     DataViewModel( LIB_PART& aPart );
 
     // wxDataViewModel
-    virtual unsigned int    GetColumnCount() const;
-    virtual wxString        GetColumnType( unsigned int col ) const;
-    virtual void            GetValue( wxVariant&, const wxDataViewItem&, unsigned int ) const;
-    virtual bool            SetValue( const wxVariant&, const wxDataViewItem&, unsigned int );
-    virtual wxDataViewItem  GetParent( const wxDataViewItem& ) const;
-    virtual bool            IsContainer( const wxDataViewItem& ) const;
-    virtual bool            HasContainerColumns( const wxDataViewItem& ) const;
-    virtual unsigned int    GetChildren( const wxDataViewItem&, wxDataViewItemArray& ) const;
+    virtual unsigned int    GetColumnCount() const override;
+    virtual wxString        GetColumnType( unsigned int col ) const override;
+    virtual void            GetValue( wxVariant&, const wxDataViewItem&, unsigned int ) const override;
+    virtual bool            SetValue( const wxVariant&, const wxDataViewItem&, unsigned int ) override;
+    virtual wxDataViewItem  GetParent( const wxDataViewItem& ) const override;
+    virtual bool            IsContainer( const wxDataViewItem& ) const override;
+    virtual bool            HasContainerColumns( const wxDataViewItem& ) const override;
+    virtual unsigned int    GetChildren( const wxDataViewItem&, wxDataViewItemArray& ) const override;
 
     virtual int Compare( const wxDataViewItem& lhs,
             const wxDataViewItem& rhs,
             unsigned int col,
-            bool ascending ) const;
+            bool ascending ) const override;
 
     void    SetGroupingColumn( int aCol );
     void    CalculateGrouping();
@@ -116,11 +116,11 @@ class DIALOG_LIB_EDIT_PIN_TABLE::DataViewModel::Group :
 public:
     Group( unsigned int aGroupingColumn ) : m_GroupingColumn( aGroupingColumn ) {}
 
-    virtual void            GetValue( wxVariant& aValue, unsigned int aCol ) const;
-    virtual wxString        GetString( unsigned int aCol ) const;
-    virtual wxDataViewItem  GetParent() const { return wxDataViewItem(); }
-    virtual bool            IsContainer() const { return true; }
-    virtual unsigned int    GetChildren( wxDataViewItemArray& aItems ) const
+    virtual void            GetValue( wxVariant& aValue, unsigned int aCol ) const override;
+    virtual wxString        GetString( unsigned int aCol ) const override;
+    virtual wxDataViewItem  GetParent() const override { return wxDataViewItem(); }
+    virtual bool            IsContainer() const override { return true; }
+    virtual unsigned int    GetChildren( wxDataViewItemArray& aItems ) const override
     {
         /// @todo C++11
         for( std::list<Pin*>::const_iterator i = m_Members.begin(); i != m_Members.end(); ++i )
@@ -144,11 +144,11 @@ public:
     Pin( DataViewModel& aModel,
             LIB_PIN* aBacking ) : m_Model( aModel ), m_Backing( aBacking ), m_Group( 0 ) {}
 
-    virtual void GetValue( wxVariant& aValue, unsigned int aCol ) const;
-    virtual wxString        GetString( unsigned int aCol ) const;
-    virtual wxDataViewItem GetParent() const { return wxDataViewItem( m_Group ); }
-    virtual bool IsContainer() const { return false; }
-    virtual unsigned int GetChildren( wxDataViewItemArray& ) const { return 0; }
+    virtual void GetValue( wxVariant& aValue, unsigned int aCol ) const override;
+    virtual wxString        GetString( unsigned int aCol ) const override;
+    virtual wxDataViewItem GetParent() const override { return wxDataViewItem( m_Group ); }
+    virtual bool IsContainer() const override { return false; }
+    virtual unsigned int GetChildren( wxDataViewItemArray& ) const override { return 0; }
 
     void SetGroup( Group* aGroup ) { m_Group = aGroup; }
 
diff --git a/eeschema/dialogs/dialog_lib_edit_pin_table.h b/eeschema/dialogs/dialog_lib_edit_pin_table.h
index 868c453..8be318a 100644
--- a/eeschema/dialogs/dialog_lib_edit_pin_table.h
+++ b/eeschema/dialogs/dialog_lib_edit_pin_table.h
@@ -11,7 +11,7 @@ public:
 
     void UpdateSummary();
 
-    virtual void OnColumnHeaderRightClicked( wxDataViewEvent& aEvent );
+    virtual void OnColumnHeaderRightClicked( wxDataViewEvent& aEvent ) override;
 
 private:
     class DataViewModel;
diff --git a/eeschema/dialogs/dialog_lib_edit_text.h b/eeschema/dialogs/dialog_lib_edit_text.h
index a3d2ba6..f19f1e6 100644
--- a/eeschema/dialogs/dialog_lib_edit_text.h
+++ b/eeschema/dialogs/dialog_lib_edit_text.h
@@ -46,8 +46,8 @@ public:
 
 private:
     void initDlg( );
-    virtual void OnOkClick( wxCommandEvent& aEvent );
-    virtual void OnCancelClick( wxCommandEvent& aEvent );
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
+    virtual void OnCancelClick( wxCommandEvent& aEvent ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_lib_new_component.h b/eeschema/dialogs/dialog_lib_new_component.h
index a4fe426..f7913a3 100644
--- a/eeschema/dialogs/dialog_lib_new_component.h
+++ b/eeschema/dialogs/dialog_lib_new_component.h
@@ -39,8 +39,8 @@ public:
     /** Constructor */
     DIALOG_LIB_NEW_COMPONENT( wxWindow* parent );
 
-    virtual void SetName( const wxString& name ) { m_textName->SetValue( name ); }
-    virtual wxString GetName( void ) const { return m_textName->GetValue(); }
+    virtual void SetName( const wxString& name ) override { m_textName->SetValue( name ); }
+    virtual wxString GetName( void ) const override { return m_textName->GetValue(); }
 
     void SetReference( const wxString& reference )
     {
diff --git a/eeschema/dialogs/dialog_netlist.cpp b/eeschema/dialogs/dialog_netlist.cpp
index 8a0b012..aa0a438 100644
--- a/eeschema/dialogs/dialog_netlist.cpp
+++ b/eeschema/dialogs/dialog_netlist.cpp
@@ -136,24 +136,24 @@ private:
                                            const wxString & aCommandString,
                                            NETLIST_TYPE_ID aNetTypeId );
     void    InstallPageSpice();
-    virtual void    GenNetlist( wxCommandEvent& event );
+    virtual void    GenNetlist( wxCommandEvent& event ) override;
     void    RunSimulator( wxCommandEvent& event );
     void    NetlistUpdateOpt();
-    virtual void    OnCancelClick( wxCommandEvent& event );
-    virtual void    OnNetlistTypeSelection( wxNotebookEvent& event );
+    virtual void    OnCancelClick( wxCommandEvent& event ) override;
+    virtual void    OnNetlistTypeSelection( wxNotebookEvent& event ) override;
     void    SelectDefaultNetlistType( wxCommandEvent& event );
 
     /**
      * Function OnAddPlugin
      * Add a new panel for a new netlist plugin
      */
-    virtual void    OnAddPlugin( wxCommandEvent& event );
+    virtual void    OnAddPlugin( wxCommandEvent& event ) override;
 
     /**
      * Function OnDelPlugin
      * Remove a panel relative to a netlist plugin
      */
-    virtual void    OnDelPlugin( wxCommandEvent& event );
+    virtual void    OnDelPlugin( wxCommandEvent& event ) override;
 
     /**
      * Function WriteCurrentNetlistSetup
@@ -214,13 +214,13 @@ private:
      * Function OnOKClick
      * Validate info relative to a new netlist plugin
      */
-    virtual void OnOKClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOKClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 
     /*
      * Browse plugin files, and set m_CommandStringCtrl field
      */
-    virtual void OnBrowsePlugins( wxCommandEvent& event );
+    virtual void OnBrowsePlugins( wxCommandEvent& event ) override;
 };
 
 
diff --git a/eeschema/dialogs/dialog_plot_schematic.h b/eeschema/dialogs/dialog_plot_schematic.h
index 15c4be6..927919e 100644
--- a/eeschema/dialogs/dialog_plot_schematic.h
+++ b/eeschema/dialogs/dialog_plot_schematic.h
@@ -63,10 +63,10 @@ public:
                                                         // and therefore should be saved
 
 private:
-    virtual void OnPlotFormatSelection( wxCommandEvent& event );
-    virtual void OnButtonPlotCurrentClick( wxCommandEvent& event );
-    virtual void OnButtonPlotAllClick( wxCommandEvent& event );
-    virtual void OnButtonCancelClick( wxCommandEvent& event );
+    virtual void OnPlotFormatSelection( wxCommandEvent& event ) override;
+    virtual void OnButtonPlotCurrentClick( wxCommandEvent& event ) override;
+    virtual void OnButtonPlotAllClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override;
 
     void    initDlg();
 
@@ -82,7 +82,7 @@ private:
     /**
      * Set the m_outputDirectoryName variable to the selected directory from directory dialog.
      */
-    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
 
     PlotFormat GetPlotFileFormat();
 
diff --git a/eeschema/dialogs/dialog_print_using_printer.cpp b/eeschema/dialogs/dialog_print_using_printer.cpp
index 798ea41..4603ad3 100644
--- a/eeschema/dialogs/dialog_print_using_printer.cpp
+++ b/eeschema/dialogs/dialog_print_using_printer.cpp
@@ -58,11 +58,11 @@ public:
     }
 
 private:
-    virtual void OnCloseWindow( wxCloseEvent& event );
-    virtual void OnPageSetup( wxCommandEvent& event );
-    virtual void OnPrintPreview( wxCommandEvent& event );
-    virtual void OnPrintButtonClick( wxCommandEvent& event );
-    virtual void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
+    virtual void OnPageSetup( wxCommandEvent& event ) override;
+    virtual void OnPrintPreview( wxCommandEvent& event ) override;
+    virtual void OnPrintButtonClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override { Close(); }
 
     void initDialog();
     void GetPrintOptions();
@@ -85,10 +85,10 @@ public:
         wxASSERT( aParent != NULL );
         m_parent = aParent;
     }
-    virtual bool OnPrintPage( int page );
-    virtual bool HasPage( int page );
-    virtual bool OnBeginDocument( int startPage, int endPage );
-    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    virtual bool OnPrintPage( int page ) override;
+    virtual bool HasPage( int page ) override;
+    virtual bool OnBeginDocument( int startPage, int endPage ) override;
+    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
     void DrawPage( SCH_SCREEN* aScreen );
 };
 
@@ -107,7 +107,7 @@ public:
     {
     }
 
-    virtual bool Show( bool show )
+    virtual bool Show( bool show ) override
     {
         bool        ret;
 
diff --git a/eeschema/dialogs/dialog_rescue_each.cpp b/eeschema/dialogs/dialog_rescue_each.cpp
index fdc8791..ab77d69 100644
--- a/eeschema/dialogs/dialog_rescue_each.cpp
+++ b/eeschema/dialogs/dialog_rescue_each.cpp
@@ -56,16 +56,16 @@ private:
     RESCUER*        m_Rescuer;
     bool            m_AskShowAgain;
 
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
     void PopulateConflictList();
     void PopulateInstanceList();
-    virtual void OnConflictSelect( wxDataViewEvent& event );
-    virtual void OnNeverShowClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnHandleCachePreviewRepaint( wxPaintEvent& aRepaintEvent );
-    virtual void OnHandleLibraryPreviewRepaint( wxPaintEvent& aRepaintEvent );
-    virtual void OnDialogResize( wxSizeEvent& aSizeEvent );
+    virtual void OnConflictSelect( wxDataViewEvent& event ) override;
+    virtual void OnNeverShowClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnHandleCachePreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
+    virtual void OnHandleLibraryPreviewRepaint( wxPaintEvent& aRepaintEvent ) override;
+    virtual void OnDialogResize( wxSizeEvent& aSizeEvent ) override;
     void renderPreview( LIB_PART* aComponent, int aUnit, wxPanel* panel );
 };
 
diff --git a/eeschema/dialogs/dialog_schematic_find.h b/eeschema/dialogs/dialog_schematic_find.h
index 5e2b2ee..ea29082 100644
--- a/eeschema/dialogs/dialog_schematic_find.h
+++ b/eeschema/dialogs/dialog_schematic_find.h
@@ -154,16 +154,16 @@ class DIALOG_SCH_FIND : public DIALOG_SCH_FIND_BASE
 {
 protected:
     // Handlers for DIALOG_SCH_FIND_BASE events.
-    virtual void OnClose( wxCloseEvent& aEvent );
-    virtual void OnUpdateFindUI( wxUpdateUIEvent& aEvent );
-    virtual void OnUpdateReplaceUI( wxUpdateUIEvent& aEvent );
-    virtual void OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent );
-    virtual void OnUpdateWholeWordUI( wxUpdateUIEvent& aEvent );
-    virtual void OnUpdateWildcardUI( wxUpdateUIEvent& aEvent );
-
-    virtual void OnFind( wxCommandEvent& aEvent );
-    virtual void OnReplace( wxCommandEvent& aEvent );
-    virtual void OnCancel( wxCommandEvent& aEvent );
+    virtual void OnClose( wxCloseEvent& aEvent ) override;
+    virtual void OnUpdateFindUI( wxUpdateUIEvent& aEvent ) override;
+    virtual void OnUpdateReplaceUI( wxUpdateUIEvent& aEvent ) override;
+    virtual void OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent ) override;
+    virtual void OnUpdateWholeWordUI( wxUpdateUIEvent& aEvent ) override;
+    virtual void OnUpdateWildcardUI( wxUpdateUIEvent& aEvent ) override;
+
+    virtual void OnFind( wxCommandEvent& aEvent ) override;
+    virtual void OnReplace( wxCommandEvent& aEvent ) override;
+    virtual void OnCancel( wxCommandEvent& aEvent ) override;
 
     void SendEvent( const wxEventType& aEventType );
 
diff --git a/eeschema/eeschema.cpp b/eeschema/eeschema.cpp
index fd290bb..ae9201d 100644
--- a/eeschema/eeschema.cpp
+++ b/eeschema/eeschema.cpp
@@ -64,11 +64,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -117,7 +117,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/eeschema/lib_arc.h b/eeschema/lib_arc.h
index 7ef5dfe..7802735 100644
--- a/eeschema/lib_arc.h
+++ b/eeschema/lib_arc.h
@@ -62,12 +62,12 @@ class LIB_ARC : public LIB_ITEM
      */
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                       EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                      const TRANSFORM& aTransform );
+                      const TRANSFORM& aTransform ) override;
 
     /**
      * Draw the graphics when the arc is being edited.
      */
-    virtual void drawEditGraphics( EDA_RECT* aClipBox, wxDC* aDC, EDA_COLOR_T aColor );
+    virtual void drawEditGraphics( EDA_RECT* aClipBox, wxDC* aDC, EDA_COLOR_T aColor ) override;
 
     /**
      * Calculates the center, radius, and angles at \a aPosition when the arc is being edited.
@@ -76,7 +76,7 @@ class LIB_ARC : public LIB_ITEM
      *
      * @param aPosition - The current mouse position in drawing coordinates.
      */
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
     /**
      * Calculate the radius and angle of an arc using the start, end, and center points.
@@ -90,58 +90,58 @@ public:
 
     ~LIB_ARC() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_ARC" );
     }
 
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint& aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-               const TRANSFORM& aTransform );
+               const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Width; }
+    virtual int GetWidth() const override { return m_Width; }
 
-    virtual void SetWidth( int aWidth ) { m_Width = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Width = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_arc_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_arc_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -154,7 +154,7 @@ private:
      *      - Arc start angle.
      *      - Arc end angle.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_bezier.h b/eeschema/lib_bezier.h
index 2b29a3c..d5f82d9 100644
--- a/eeschema/lib_bezier.h
+++ b/eeschema/lib_bezier.h
@@ -44,7 +44,7 @@ class LIB_BEZIER : public LIB_ITEM
 
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
 public:
     LIB_BEZIER( LIB_PART * aParent );
@@ -53,55 +53,55 @@ public:
 
     ~LIB_BEZIER() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_BEZIER" );
     }
 
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
     void AddPoint( const wxPoint& aPoint );
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
     /**
      * @return the number of corners
      */
     unsigned GetCornerCount() const { return m_PolyPoints.size(); }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_PolyPoints[0]; }
+    virtual wxPoint GetPosition() const override { return m_PolyPoints[0]; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-                       const TRANSFORM& aTransform );
+                       const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Width; }
+    virtual int GetWidth() const override { return m_Width; }
 
-    virtual void SetWidth( int aWidth ) { m_Width = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Width = aWidth; }
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -112,7 +112,7 @@ private:
      *      - Bezier horizontal (X) point position.
      *      - Bezier vertical (Y) point position.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_circle.h b/eeschema/lib_circle.h
index ef6d8a9..c8beec9 100644
--- a/eeschema/lib_circle.h
+++ b/eeschema/lib_circle.h
@@ -40,9 +40,9 @@ class LIB_CIRCLE : public LIB_ITEM
 
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_CIRCLE( LIB_PART * aParent );
@@ -51,58 +51,58 @@ public:
 
     ~LIB_CIRCLE() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_CIRCLE" );
     }
 
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint& aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-                       const TRANSFORM& aTransform );
+                       const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Width; }
+    virtual int GetWidth() const override { return m_Width; }
 
-    virtual void SetWidth( int aWidth ) { m_Width = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Width = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_circle_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_circle_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -114,7 +114,7 @@ private:
      *      - Circle vertical (Y) position.
      *      - Circle radius.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_collectors.h b/eeschema/lib_collectors.h
index da5e908..e8fdba9 100644
--- a/eeschema/lib_collectors.h
+++ b/eeschema/lib_collectors.h
@@ -114,7 +114,7 @@ public:
      * @return SEARCH_RESULT #SEARCH_QUIT if the iterator is to stop the scan,
      *                       else #SEARCH_CONTINUE;
      */
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL ) override;
 
     /**
      * Function Collect
diff --git a/eeschema/lib_draw_item.h b/eeschema/lib_draw_item.h
index f9b241e..21f92af 100644
--- a/eeschema/lib_draw_item.h
+++ b/eeschema/lib_draw_item.h
@@ -243,7 +243,7 @@ public:
         return (LIB_PART *)m_Parent;
     }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return EDA_ITEM::HitTest( aPosition );
     }
@@ -261,7 +261,7 @@ public:
    /**
      * @return the boundary box for this, in library coordinates
      */
-    virtual const EDA_RECT GetBoundingBox() const { return EDA_ITEM::GetBoundingBox(); }
+    virtual const EDA_RECT GetBoundingBox() const override { return EDA_ITEM::GetBoundingBox(); }
 
     /**
      * Function GetMsgPanelInfo
@@ -274,7 +274,7 @@ public:
      * </p>
      * @param aList is the list to populate.
      */
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Test LIB_ITEM objects for equivalence.
@@ -420,7 +420,7 @@ public:
     FILL_T GetFillMode() const { return m_Fill; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
diff --git a/eeschema/lib_field.h b/eeschema/lib_field.h
index a35fef9..0a2daa5 100644
--- a/eeschema/lib_field.h
+++ b/eeschema/lib_field.h
@@ -72,14 +72,14 @@ class LIB_FIELD : public LIB_ITEM, public EDA_TEXT
      */
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
     /**
      * Calculate the new circle at \a aPosition when editing.
      *
      * @param aPosition - The position to edit the circle in drawing coordinates.
      */
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
 public:
 
@@ -91,7 +91,7 @@ public:
 
     ~LIB_FIELD();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_FIELD" );
     }
@@ -132,11 +132,11 @@ public:
 
     void SetId( int aId ) { m_id = aId; }
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& errorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& errorMsg ) override;
 
     /**
      * Copy parameters of this field to another field. Pointers are not copied.
@@ -165,13 +165,13 @@ public:
         return (m_Attributs & TEXT_NO_VISIBLE) == 0 ? true : false;
     }
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     void operator=( const LIB_FIELD& field )
     {
@@ -205,15 +205,15 @@ public:
      */
     wxString GetFullText( int unit = 1 );
 
-    virtual EDA_COLOR_T GetDefaultColor();
+    virtual EDA_COLOR_T GetDefaultColor() override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void Rotate();
+    virtual void Rotate() override;
 
     /**
      * Sets the field text to \a aText.
@@ -226,34 +226,34 @@ public:
      *
      * @param aText - New text value.
      */
-    virtual void SetText( const wxString& aText );
+    virtual void SetText( const wxString& aText ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-                       const TRANSFORM& aTransform );
+                       const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Thickness; }
+    virtual int GetWidth() const override { return m_Thickness; }
 
-    virtual void SetWidth( int aWidth ) { m_Thickness = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Thickness = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  move_field_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  move_field_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -269,7 +269,7 @@ private:
      *      - Field width.
      *      - Field height.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 typedef std::vector< LIB_FIELD > LIB_FIELDS;
diff --git a/eeschema/lib_pin.h b/eeschema/lib_pin.h
index 02525f0..bc6e5a9 100644
--- a/eeschema/lib_pin.h
+++ b/eeschema/lib_pin.h
@@ -90,7 +90,7 @@ class LIB_PIN : public LIB_ITEM
      */
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
 public:
     LIB_PIN( LIB_PART*      aParent );
@@ -99,29 +99,29 @@ public:
 
     ~LIB_PIN() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_PIN" );
     }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
     /* Cannot use a default parameter here as it will not be compatible with the virtual. */
-    virtual const EDA_RECT GetBoundingBox() const { return GetBoundingBox( false ); }
+    virtual const EDA_RECT GetBoundingBox() const override { return GetBoundingBox( false ); }
 
     /**
      * Function GetBoundingBox
@@ -230,7 +230,7 @@ public:
      */
     void SetOrientation( int aOrientation );
 
-    virtual void Rotate();
+    virtual void Rotate() override;
 
     GRAPHIC_PINSHAPE GetShape() const { return m_shape; }
 
@@ -363,7 +363,7 @@ public:
      */
     bool IsPowerConnection() const { return !IsVisible() && GetType() == PIN_POWER_IN; }
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     /**
      * Function DrawPinSymbol
@@ -440,32 +440,32 @@ public:
      */
     static int GetOrientationCodeIndex( int aCode );
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_position; }
+    virtual wxPoint GetPosition() const override { return m_position; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-                       const TRANSFORM& aTransform );
+                       const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_width; }
+    virtual int GetWidth() const override { return m_width; }
 
-    virtual void SetWidth( int aWidth );
+    virtual void SetWidth( int aWidth ) override;
 
-    virtual BITMAP_DEF GetMenuImage() const;
+    virtual BITMAP_DEF GetMenuImage() const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -478,7 +478,7 @@ private:
      *      - Pin horizontal (X) position.
      *      - Pin vertical (Y) position.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_polyline.h b/eeschema/lib_polyline.h
index 2296d77..9d18785 100644
--- a/eeschema/lib_polyline.h
+++ b/eeschema/lib_polyline.h
@@ -41,9 +41,9 @@ class LIB_POLYLINE : public LIB_ITEM
 
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_POLYLINE( LIB_PART * aParent );
@@ -52,15 +52,15 @@ public:
 
     ~LIB_POLYLINE() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_POLYLINE" );
     }
 
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
     void AddPoint( const wxPoint& aPoint );
 
@@ -74,48 +74,48 @@ public:
      */
     unsigned GetCornerCount() const { return m_PolyPoints.size(); }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_PolyPoints[0]; }
+    virtual wxPoint GetPosition() const override { return m_PolyPoints[0]; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-               const TRANSFORM& aTransform );
+               const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Width; }
+    virtual int GetWidth() const override { return m_Width; }
 
-    virtual void SetWidth( int aWidth ) { m_Width = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Width = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_polygon_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_polygon_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -126,7 +126,7 @@ private:
      *      - Line segment point horizontal (X) position.
      *      - Line segment point vertical (Y) position.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_rectangle.h b/eeschema/lib_rectangle.h
index b667281..cd0d35d 100644
--- a/eeschema/lib_rectangle.h
+++ b/eeschema/lib_rectangle.h
@@ -43,9 +43,9 @@ class LIB_RECTANGLE  : public LIB_ITEM
 
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_RECTANGLE( LIB_PART * aParent );
@@ -54,59 +54,59 @@ public:
 
     ~LIB_RECTANGLE() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_RECTANGLE" );
     }
 
     void SetEndPosition( const wxPoint& aPosition ) { m_End = aPosition; }
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint &aPosRef, int aThreshold, const TRANSFORM& aTransform ) const override;
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-               const TRANSFORM& aTransform );
+               const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Width; }
+    virtual int GetWidth() const override { return m_Width; }
 
-    virtual void SetWidth( int aWidth ) { m_Width = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Width = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_rectangle_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_rectangle_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -119,7 +119,7 @@ private:
      *      - Rectangle horizontal (X) end position.
      *      - Rectangle vertical (Y) end position.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/lib_text.h b/eeschema/lib_text.h
index a53666b..908c0e7 100644
--- a/eeschema/lib_text.h
+++ b/eeschema/lib_text.h
@@ -50,9 +50,9 @@ class LIB_TEXT : public LIB_ITEM, public EDA_TEXT
 
     virtual void drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
                               EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
-                              const TRANSFORM& aTransform );
+                              const TRANSFORM& aTransform ) override;
 
-    virtual void calcEdit( const wxPoint& aPosition );
+    virtual void calcEdit( const wxPoint& aPosition ) override;
 
 public:
     LIB_TEXT( LIB_PART * aParent );
@@ -61,7 +61,7 @@ public:
 
     ~LIB_TEXT() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "LIB_TEXT" );
     }
@@ -76,15 +76,15 @@ public:
      *
      * @param aText - New text value.
      */
-    virtual void SetText( const wxString& aText );
+    virtual void SetText( const wxString& aText ) override;
 
-    virtual bool Save( OUTPUTFORMATTER& aFormatter );
+    virtual bool Save( OUTPUTFORMATTER& aFormatter ) override;
 
-    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLineReader, wxString& aErrorMsg ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const;
+    virtual bool HitTest( const wxPoint &aPosition, int aThreshold, const TRANSFORM& aTransform ) const override;
 
     bool HitTest( const EDA_RECT& aRect ) const
     {
@@ -92,46 +92,46 @@ public:
     }
 
 
-    virtual int GetPenSize( ) const;
+    virtual int GetPenSize( ) const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void Rotate();
+    virtual void Rotate() override;
 
-    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
+    virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ) override;
 
-    virtual bool ContinueEdit( const wxPoint aNextPoint );
+    virtual bool ContinueEdit( const wxPoint aNextPoint ) override;
 
-    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false );
+    virtual void EndEdit( const wxPoint& aPosition, bool aAbort = false ) override;
 
-    virtual void SetOffset( const wxPoint& aOffset );
+    virtual void SetOffset( const wxPoint& aOffset ) override;
 
-    virtual bool Inside( EDA_RECT& aRect ) const;
+    virtual bool Inside( EDA_RECT& aRect ) const override;
 
-    virtual void Move( const wxPoint& aPosition );
+    virtual void Move( const wxPoint& aPosition ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void MirrorHorizontal( const wxPoint& aCenter );
+    virtual void MirrorHorizontal( const wxPoint& aCenter ) override;
 
-    virtual void MirrorVertical( const wxPoint& aCenter );
+    virtual void MirrorVertical( const wxPoint& aCenter ) override;
 
-    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true );
+    virtual void Rotate( const wxPoint& aCenter, bool aRotateCCW = true ) override;
 
     virtual void Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
-                       const TRANSFORM& aTransform );
+                       const TRANSFORM& aTransform ) override;
 
-    virtual int GetWidth() const { return m_Thickness; }
+    virtual int GetWidth() const override { return m_Thickness; }
 
-    virtual void SetWidth( int aWidth ) { m_Thickness = aWidth; }
+    virtual void SetWidth( int aWidth ) override { m_Thickness = aWidth; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_text_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
 
@@ -145,7 +145,7 @@ private:
      *      - Text width.
      *      - Text height.
      */
-    virtual int compare( const LIB_ITEM& aOther ) const;
+    virtual int compare( const LIB_ITEM& aOther ) const override;
 };
 
 
diff --git a/eeschema/libeditframe.h b/eeschema/libeditframe.h
index 62de62f..34a0ad7 100644
--- a/eeschema/libeditframe.h
+++ b/eeschema/libeditframe.h
@@ -180,7 +180,7 @@ public:
     void SetRepeatPinStep( int aStep) { m_repeatPinStep = aStep; }
 
 
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
 
     /**
      * Function EnsureActiveLibExists
@@ -313,27 +313,27 @@ public:
      * Display reference like in schematic (a reference U is shown U? or U?A)
      * update status bar and info shown in the bottom of the window
      */
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     void OnCloseWindow( wxCloseEvent& Event );
-    virtual void ReCreateHToolbar();
-    virtual void ReCreateVToolbar();
+    virtual void ReCreateHToolbar() override;
+    virtual void ReCreateVToolbar() override;
     void CreateOptionToolbar();
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
-    virtual double BestZoom();         // Returns the best zoom
-    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
+    virtual double BestZoom() override;         // Returns the best zoom
+    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
-    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function CloseWindow
@@ -429,7 +429,7 @@ private:
      * The library list can be changed by the schematic editor after reloading a new schematic
      * and the current library can point a non existent lib.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     // General:
 
@@ -609,13 +609,13 @@ public:
      * returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
      * the \a aKey (ALT, SHIFT ALT ..)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace
      * handles the block place command.
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd
@@ -623,7 +623,7 @@ public:
      * @return If command finished (zoom, delete ...) false is returned otherwise true
      *         is returned indicating more processing is required.
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function PlacePin
@@ -668,7 +668,7 @@ public:
      * @param aData = a pointer on an auxiliary data (not always used, NULL if not used)
      */
     virtual void PrintPage( wxDC* aDC, LSET aPrintMask,
-                            bool aPrintMirrorMode, void* aData = NULL );
+                            bool aPrintMirrorMode, void* aData = NULL ) override;
 
     /**
      * Function SVG_PlotComponent
diff --git a/eeschema/netlist_exporters/netlist_exporter_cadstar.h b/eeschema/netlist_exporters/netlist_exporter_cadstar.h
index 222a331..eedae1e 100644
--- a/eeschema/netlist_exporters/netlist_exporter_cadstar.h
+++ b/eeschema/netlist_exporters/netlist_exporter_cadstar.h
@@ -56,7 +56,7 @@ public:
      * Function WriteList
      * writes to specified output file
      */
-    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 };
 
 #endif
diff --git a/eeschema/netlist_exporters/netlist_exporter_generic.h b/eeschema/netlist_exporters/netlist_exporter_generic.h
index 97a7729..f77cbd1 100644
--- a/eeschema/netlist_exporters/netlist_exporter_generic.h
+++ b/eeschema/netlist_exporters/netlist_exporter_generic.h
@@ -63,7 +63,7 @@ public:
      * Function WriteNetlist
      * writes to specified output file
      */
-    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 
 #define GNL_ALL     ( GNL_LIBRARIES | GNL_COMPONENTS | GNL_PARTS | GNL_HEADER | GNL_NETS )
 
diff --git a/eeschema/netlist_exporters/netlist_exporter_kicad.h b/eeschema/netlist_exporters/netlist_exporter_kicad.h
index 0eaeaa6..a344320 100644
--- a/eeschema/netlist_exporters/netlist_exporter_kicad.h
+++ b/eeschema/netlist_exporters/netlist_exporter_kicad.h
@@ -47,7 +47,7 @@ public:
      * Function WriteNetlist
      * writes to specified output file
      */
-    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 
     /**
      * Function Format
diff --git a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
index 51fff1f..aee2b1d 100644
--- a/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
+++ b/eeschema/netlist_exporters/netlist_exporter_orcadpcb2.h
@@ -40,7 +40,7 @@ public:
     {
     }
 
-    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 };
 
 #endif
diff --git a/eeschema/netlist_exporters/netlist_exporter_pspice.h b/eeschema/netlist_exporters/netlist_exporter_pspice.h
index de250af..633b581 100644
--- a/eeschema/netlist_exporters/netlist_exporter_pspice.h
+++ b/eeschema/netlist_exporters/netlist_exporter_pspice.h
@@ -44,7 +44,7 @@ public:
      * Function WriteNetlist
      * writes to specified output file
      */
-    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions );
+    virtual bool WriteNetlist( const wxString& aOutFileName, unsigned aNetlistOptions ) override;
 };
 
 #endif
diff --git a/eeschema/project_rescue.cpp b/eeschema/project_rescue.cpp
index f1fdd4e..572c94a 100644
--- a/eeschema/project_rescue.cpp
+++ b/eeschema/project_rescue.cpp
@@ -286,17 +286,17 @@ public:
 
     RESCUE_CASE_CANDIDATE() { m_lib_candidate = NULL; }
 
-    virtual wxString GetRequestedName() const { return m_requested_name; }
-    virtual wxString GetNewName() const { return m_new_name; }
-    virtual LIB_PART* GetLibCandidate() const { return m_lib_candidate; }
-    virtual wxString GetActionDescription() const
+    virtual wxString GetRequestedName() const override { return m_requested_name; }
+    virtual wxString GetNewName() const override { return m_new_name; }
+    virtual LIB_PART* GetLibCandidate() const override { return m_lib_candidate; }
+    virtual wxString GetActionDescription() const override
     {
         wxString action;
         action.Printf( _( "Rename to %s" ), m_new_name );
         return action;
     }
 
-    virtual bool PerformAction( RESCUER* aRescuer )
+    virtual bool PerformAction( RESCUER* aRescuer ) override
     {
         BOOST_FOREACH( SCH_COMPONENT* each_component, *aRescuer->GetComponents() )
         {
@@ -379,11 +379,11 @@ public:
     RESCUE_CACHE_CANDIDATE()
         : m_cache_candidate( NULL ), m_lib_candidate( NULL ) {}
 
-    virtual wxString GetRequestedName() const { return m_requested_name; }
-    virtual wxString GetNewName() const { return m_new_name; }
-    virtual LIB_PART* GetCacheCandidate() const { return m_cache_candidate; }
-    virtual LIB_PART* GetLibCandidate() const { return m_lib_candidate; }
-    virtual wxString GetActionDescription() const
+    virtual wxString GetRequestedName() const override { return m_requested_name; }
+    virtual wxString GetNewName() const override { return m_new_name; }
+    virtual LIB_PART* GetCacheCandidate() const override { return m_cache_candidate; }
+    virtual LIB_PART* GetLibCandidate() const override { return m_lib_candidate; }
+    virtual wxString GetActionDescription() const override
     {
         wxString action;
         action.Printf( _( "Rescue %s as %s" ), m_requested_name, m_new_name );
@@ -409,7 +409,7 @@ public:
         m_rescue_lib = rescue_lib;
     }
 
-    virtual bool PerformAction( RESCUER* aRescuer )
+    virtual bool PerformAction( RESCUER* aRescuer ) override
     {
         LIB_PART new_part( *m_cache_candidate, m_rescue_lib.get() );
         new_part.SetName( m_new_name );
diff --git a/eeschema/sch_base_frame.h b/eeschema/sch_base_frame.h
index 13fa6ef..96c04ca 100644
--- a/eeschema/sch_base_frame.h
+++ b/eeschema/sch_base_frame.h
@@ -61,7 +61,7 @@ public:
                     const wxPoint& aPosition, const wxSize& aSize,
                     long aStyle, const wxString & aFrameName );
 
-    virtual SCH_SCREEN* GetScreen() const;
+    virtual SCH_SCREEN* GetScreen() const override;
 
     /**
      * @return the increment value of the position of an item
@@ -96,31 +96,31 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    virtual const wxString GetZoomLevelIndicator() const;
+    virtual const wxString GetZoomLevelIndicator() const override;
 
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings );
-    virtual const PAGE_INFO& GetPageSettings () const;
-    virtual const wxSize GetPageSizeIU() const;
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
+    virtual const PAGE_INFO& GetPageSettings () const override;
+    virtual const wxSize GetPageSizeIU() const override;
 
-    virtual const wxPoint& GetAuxOrigin() const;
-    virtual void SetAuxOrigin( const wxPoint& aPosition );
+    virtual const wxPoint& GetAuxOrigin() const override;
+    virtual void SetAuxOrigin( const wxPoint& aPosition ) override;
 
-    virtual const wxPoint& GetGridOrigin() const
+    virtual const wxPoint& GetGridOrigin() const override
     {
         static wxPoint zero;
         return zero;
     }
-    virtual void SetGridOrigin( const wxPoint& aPoint ) {}
+    virtual void SetGridOrigin( const wxPoint& aPoint ) override {}
 
     // Virtual from EDA_DRAW_FRAME
     // the background color of the draw canvas:
-    virtual EDA_COLOR_T GetDrawBgColor() const;
-    virtual void SetDrawBgColor( EDA_COLOR_T aColor);
+    virtual EDA_COLOR_T GetDrawBgColor() const override;
+    virtual void SetDrawBgColor( EDA_COLOR_T aColor) override;
 
-    virtual const TITLE_BLOCK& GetTitleBlock() const;
-    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock );
+    virtual const TITLE_BLOCK& GetTitleBlock() const override;
+    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
 
-    virtual void UpdateStatusBar();
+    virtual void UpdateStatusBar() override;
 
     /**
      * Function SelectComponentFromLib
diff --git a/eeschema/sch_bitmap.h b/eeschema/sch_bitmap.h
index c65761d..1dd792e 100644
--- a/eeschema/sch_bitmap.h
+++ b/eeschema/sch_bitmap.h
@@ -78,7 +78,7 @@ public:
     }
 
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_BITMAP" );
     }
@@ -90,12 +90,12 @@ public:
      */
     wxSize GetSize() const;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Function ReadImageFile
@@ -106,42 +106,42 @@ public:
      */
     bool ReadImageFile( const wxString& aFullFilename );
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual wxString GetSelectMenuText() const { return wxString( _( "Image" ) ); }
+    virtual wxString GetSelectMenuText() const override { return wxString( _( "Image" ) ); }
 
-    virtual BITMAP_DEF GetMenuImage() const { return image_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return image_xpm; }
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_Pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
diff --git a/eeschema/sch_bus_entry.h b/eeschema/sch_bus_entry.h
index 775a217..b1d0957 100644
--- a/eeschema/sch_bus_entry.h
+++ b/eeschema/sch_bus_entry.h
@@ -60,7 +60,7 @@ public:
      *  and false for items moved with no reference to anchor
      * @return false for a bus entry
      */
-    virtual bool IsMovableFromAnchorPoint() { return false; }
+    virtual bool IsMovableFromAnchorPoint() override { return false; }
 
     wxPoint m_End() const;
 
@@ -80,53 +80,53 @@ public:
 
     void SetSize( const wxSize& aSize ) { m_size = aSize; }
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     static bool Load( LINE_READER& aLine, wxString& aErrorMsg, SCH_ITEM **out );
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_pos += aMoveVector;
     }
 
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    virtual bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
-    virtual bool IsDangling() const;
+    virtual bool IsDangling() const override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_entry_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_entry_xpm; }
 
-    virtual wxPoint GetPosition() const { return m_pos; }
+    virtual wxPoint GetPosition() const override { return m_pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
@@ -142,18 +142,18 @@ public:
 
     ~SCH_BUS_WIRE_ENTRY() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_BUS_WIRE_ENTRY" );
     }
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 };
 
 /**
@@ -168,18 +168,18 @@ public:
 
     ~SCH_BUS_BUS_ENTRY() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_BUS_BUS_ENTRY" );
     }
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 };
 
 #endif    // _SCH_BUS_ENTRY_H_
diff --git a/eeschema/sch_collectors.h b/eeschema/sch_collectors.h
index b9b6217..85a12ef 100644
--- a/eeschema/sch_collectors.h
+++ b/eeschema/sch_collectors.h
@@ -135,7 +135,7 @@ public:
         return NULL;
     }
 
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL ) override;
 
     /**
      * Function Collect
@@ -350,7 +350,7 @@ public:
      */
     bool ReplaceItem( SCH_SHEET_PATH* aSheetPath = NULL );
 
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* aItem, const void* aTestData = NULL ) override;
 
     /**
      * Update the replace string without changing anything else.
@@ -392,7 +392,7 @@ public:
      * @return SEARCH_RESULT - SEARCH_QUIT if the Iterator is to stop the scan,
      *   else SCAN_CONTINUE;
      */
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData ) override;
 
     /**
      * Function Collect
diff --git a/eeschema/sch_component.h b/eeschema/sch_component.h
index 585ff75..65f0d12 100644
--- a/eeschema/sch_component.h
+++ b/eeschema/sch_component.h
@@ -137,7 +137,7 @@ public:
 
     ~SCH_COMPONENT() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_COMPONENT" );
     }
@@ -150,7 +150,7 @@ public:
      * items which can be large (hierarchical sheets, compoments)
      * @return false for a componant
      */
-    virtual bool IsMovableFromAnchorPoint() { return false; }
+    virtual bool IsMovableFromAnchorPoint() override { return false; }
 
     void SetPartName( const wxString& aName, PART_LIBS* aLibs=NULL );
     const wxString& GetPartName() const        { return m_part_name; }
@@ -202,9 +202,9 @@ public:
      */
     int GetUnitCount() const;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
     /**
      * Function SetOrientation
@@ -239,7 +239,7 @@ public:
      */
     wxPoint GetScreenCoord( const wxPoint& aPoint );
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function ClearAnnotation
@@ -257,7 +257,7 @@ public:
      */
     void SetTimeStamp( time_t aNewTimeStamp );
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     /**
      * Function GetBodyBoundingBox
@@ -368,7 +368,7 @@ public:
      * Virtual function, from the base class SCH_ITEM::Draw
      */
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR )
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override
     {
         Draw( aPanel, aDC, aOffset, aDrawMode, aColor, true );
     }
@@ -389,7 +389,7 @@ public:
                GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor,
                bool aDrawPinText );
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     // returns a unique ID, in the form of a path.
     wxString GetPath( const SCH_SHEET_PATH* sheet ) const;
@@ -440,7 +440,7 @@ public:
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         if( aMoveVector == wxPoint( 0, 0 ) )
             return;
@@ -453,15 +453,15 @@ public:
         SetModified();
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList );
+    virtual void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
     /**
      * Test if the component's dangling state has changed for one given pin index. As
@@ -482,19 +482,19 @@ public:
      * @param aItemList - list of all DANGLING_END_ITEMs to be tested
      * @return true if any pin's state has changed.
      */
-    virtual bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
     /**
      * Return whether any pin has dangling status. Does NOT update the internal status,
      * only checks the existing status.
      */
-    virtual bool IsDangling() const;
+    virtual bool IsDangling() const override;
 
     wxPoint GetPinPhysicalPosition( LIB_PIN* Pin );
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
     /**
      * @return true if the component is in netlist
@@ -503,10 +503,10 @@ public:
      */
     bool IsInNetlist() const;
 
-    virtual void GetConnectionPoints( std::vector<wxPoint>& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector<wxPoint>& aPoints ) const override;
 
     virtual SEARCH_RESULT Visit( INSPECTOR* inspector, const void* testData,
-                                 const KICAD_T scanTypes[] );
+                                 const KICAD_T scanTypes[] ) override;
 
     /**
      * Function GetDrawItem().
@@ -518,40 +518,40 @@ public:
      */
     LIB_ITEM* GetDrawItem( const wxPoint& aPosition, KICAD_T aType = TYPE_NOT_INIT );
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_component_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_component_xpm; }
 
     virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems,
-                                 SCH_SHEET_PATH*      aSheetPath );
+                                 SCH_SHEET_PATH*      aSheetPath ) override;
 
-    virtual bool operator <( const SCH_ITEM& aItem ) const;
+    virtual bool operator <( const SCH_ITEM& aItem ) const override;
 
     bool operator==( const SCH_COMPONENT& aComponent) const;
     bool operator!=( const SCH_COMPONENT& aComponent) const;
 
     SCH_ITEM& operator=( const SCH_ITEM& aItem );
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { Move( aPosition - m_Pos ); }
+    virtual void SetPosition( const wxPoint& aPosition ) override { Move( aPosition - m_Pos ); }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const;
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_field.h b/eeschema/sch_field.h
index 9833548..24550c4 100644
--- a/eeschema/sch_field.h
+++ b/eeschema/sch_field.h
@@ -67,7 +67,7 @@ public:
 
     ~SCH_FIELD();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_FIELD" );
     }
@@ -100,7 +100,7 @@ public:
 
     void Place( SCH_EDIT_FRAME* frame, wxDC* DC );
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     /**
      * Function IsHorizJustifyFlipped
@@ -120,7 +120,7 @@ public:
         return len == 0 || ( len == 1 && m_Text[0] == wxChar( '~' ) );
     }
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     /**
      * Function ImportValues
@@ -130,7 +130,7 @@ public:
      */
     void ImportValues( const LIB_FIELD& aSource );
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     /**
      * Function IsVisible
@@ -142,19 +142,19 @@ public:
     }
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
     /**
      * @copydoc SCH_ITEM::MirrorX()
@@ -163,7 +163,7 @@ public:
      * when the parent component is mirrored.  This function is only needed by the
      * pure function of the master class.
      */
-    virtual void MirrorX( int aXaxis_position )
+    virtual void MirrorX( int aXaxis_position ) override
     {
     }
 
@@ -174,34 +174,34 @@ public:
      * when the parent component is mirrored.  This function is only needed by the
      * pure function of the master class.
      */
-    virtual void MirrorY( int aYaxis_position )
+    virtual void MirrorY( int aYaxis_position ) override
     {
     }
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL );
+    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const;
+    virtual BITMAP_DEF GetMenuImage() const override;
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
-    virtual wxPoint GetPosition() const;
+    virtual wxPoint GetPosition() const override;
 
-    virtual void SetPosition( const wxPoint& aPosition );
+    virtual void SetPosition( const wxPoint& aPosition ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/eeschema/sch_item_struct.h b/eeschema/sch_item_struct.h
index c53f40a..10e083d 100644
--- a/eeschema/sch_item_struct.h
+++ b/eeschema/sch_item_struct.h
@@ -128,7 +128,7 @@ public:
 
     ~SCH_ITEM();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_ITEM" );
     }
@@ -314,7 +314,7 @@ public:
     bool IsConnected( const wxPoint& aPoint ) const;
 
     /** @copydoc EDA_ITEM::HitTest(const wxPoint&) */
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return HitTest( aPosition, 0 );
     }
diff --git a/eeschema/sch_junction.h b/eeschema/sch_junction.h
index db39295..aef90d6 100644
--- a/eeschema/sch_junction.h
+++ b/eeschema/sch_junction.h
@@ -45,7 +45,7 @@ public:
 
     ~SCH_JUNCTION() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_JUNCTION" );
     }
@@ -53,60 +53,60 @@ public:
     static int GetSymbolSize() { return m_symbolSize; }
     static void SetSymbolSize( int aSize ) { m_symbolSize = aSize; }
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_pos += aMoveVector;
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
-    virtual wxString GetSelectMenuText() const { return wxString( _( "Junction" ) ); }
+    virtual wxString GetSelectMenuText() const override { return wxString( _( "Junction" ) ); }
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_junction_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_junction_xpm; }
 
-    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
-    virtual wxPoint GetPosition() const { return m_pos; }
+    virtual wxPoint GetPosition() const override { return m_pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
     virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false,
-                          int aAccuracy = 0 ) const;
-    virtual void Plot( PLOTTER* aPlotter );
+                          int aAccuracy = 0 ) const override;
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const;
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_line.h b/eeschema/sch_line.h
index 02b9789..e52280c 100644
--- a/eeschema/sch_line.h
+++ b/eeschema/sch_line.h
@@ -56,7 +56,7 @@ public:
     SCH_LINE* Next() const { return (SCH_LINE*) Pnext; }
     SCH_LINE* Back() const { return (SCH_LINE*) Pback; }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_LINE" );
     }
@@ -76,7 +76,7 @@ public:
 
     void SetEndPoint( const wxPoint& aPosition ) { m_end = aPosition; }
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     /**
      * Function GetLength
@@ -85,21 +85,21 @@ public:
     double GetLength() const;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
-    virtual void Move( const wxPoint& aMoveVector );
+    virtual void Move( const wxPoint& aMoveVector ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
     /**
      * Check line against \a aLine to see if it overlaps and merge if it does.
@@ -113,44 +113,44 @@ public:
      */
     bool MergeOverlap( SCH_LINE* aLine );
 
-    virtual void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList );
+    virtual void GetEndPoints( std::vector<DANGLING_END_ITEM>& aItemList ) override;
 
-    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsDangling() const { return m_startIsDangling || m_endIsDangling; }
+    virtual bool IsDangling() const override { return m_startIsDangling || m_endIsDangling; }
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const;
+    virtual bool IsConnectable() const override;
 
-    virtual void GetConnectionPoints(std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints(std::vector< wxPoint >& aPoints ) const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const;
+    virtual BITMAP_DEF GetMenuImage() const override;
 
-    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
-    virtual bool operator <( const SCH_ITEM& aItem ) const;
+    virtual bool operator <( const SCH_ITEM& aItem ) const override;
 
-    virtual wxPoint GetPosition() const { return m_start; }
+    virtual wxPoint GetPosition() const override { return m_start; }
 
-    virtual void SetPosition( const wxPoint& aPosition );
+    virtual void SetPosition( const wxPoint& aPosition ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const;
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_marker.h b/eeschema/sch_marker.h
index 4367017..e99fb79 100644
--- a/eeschema/sch_marker.h
+++ b/eeschema/sch_marker.h
@@ -47,15 +47,15 @@ public:
 
     // Do not create a copy constructor.  The one generated by the compiler is adequate.
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_MARKER" );
     }
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDraw_mode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDraw_mode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual void Plot( PLOTTER* aPlotter )
+    virtual void Plot( PLOTTER* aPlotter ) override
     {
         // SCH_MARKERs should not be plotted. However, SCH_ITEM will fail an
         // assertion if we do not confirm this by locally implementing a no-op
@@ -63,23 +63,23 @@ public:
         (void) aPlotter;
     }
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual EDA_RECT const GetBoundingBox() const;
+    virtual EDA_RECT const GetBoundingBox() const override;
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
     /**
      * Function Matches, virtual from the base class EDA_ITEM
@@ -91,26 +91,26 @@ public:
      * @param aFindLocation - a wxPoint where to put the location of matched item. can be NULL.
      * @return True if the DRC main or auxiliary text matches the search criteria.
      */
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual wxString GetSelectMenuText() const { return wxString( _( "ERC Marker" ) ); }
+    virtual wxString GetSelectMenuText() const override { return wxString( _( "ERC Marker" ) ); }
 
-    virtual BITMAP_DEF GetMenuImage() const { return  erc_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  erc_xpm; }
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_Pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
diff --git a/eeschema/sch_no_connect.h b/eeschema/sch_no_connect.h
index ee5a978..1e0da51 100644
--- a/eeschema/sch_no_connect.h
+++ b/eeschema/sch_no_connect.h
@@ -46,69 +46,69 @@ public:
 
     ~SCH_NO_CONNECT() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_NO_CONNECT" );
     }
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_pos += aMoveVector;
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
-    virtual wxString GetSelectMenuText() const { return wxString( _( "No Connect" ) ); }
+    virtual wxString GetSelectMenuText() const override { return wxString( _( "No Connect" ) ); }
 
-    virtual BITMAP_DEF GetMenuImage() const { return noconn_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return noconn_xpm; }
 
-    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath );
+    virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems, SCH_SHEET_PATH* aSheetPath ) override;
 
-    virtual wxPoint GetPosition() const { return m_pos; }
+    virtual wxPoint GetPosition() const override { return m_pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const;
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override;
 };
 
 
diff --git a/eeschema/sch_sheet.h b/eeschema/sch_sheet.h
index 197b5dc..e89d78d 100644
--- a/eeschema/sch_sheet.h
+++ b/eeschema/sch_sheet.h
@@ -96,7 +96,7 @@ public:
 
     ~SCH_SHEET_PIN() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_SHEET_PIN" );
     }
@@ -109,10 +109,10 @@ public:
      * and false for items moved with no reference to anchor (usually large items)
      * @return true for a hierarchical sheet pin
      */
-    virtual bool IsMovableFromAnchorPoint() { return true; }
+    virtual bool IsMovableFromAnchorPoint() override { return true; }
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
     /**
      * Function CreateGraphicShape (virtual)
@@ -120,11 +120,11 @@ public:
      * @param aPoints = a buffer to fill with polygon corners coordinates
      * @param aPos = Position of the shape
      */
-    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos );
+    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos ) override;
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     /**
      * Get the sheet label number.
@@ -159,49 +159,49 @@ public:
      */
     SCH_SHEET* GetParent() const { return (SCH_SHEET*) m_Parent; }
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL )
+    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override
     {
         return EDA_ITEM::Replace( aSearchData, m_Text );
     }
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
-    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_hierar_pin_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_hierar_pin_xpm; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { ConstrainOnEdge( aPosition ); }
+    virtual void SetPosition( const wxPoint& aPosition ) override { ConstrainOnEdge( aPosition ); }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 };
 
 
@@ -255,7 +255,7 @@ public:
 
     ~SCH_SHEET();
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_SHEET" );
     }
@@ -268,7 +268,7 @@ public:
      * items which can be large (hierarchical sheets, compoments)
      * @return false for a hierarchical sheet
      */
-    virtual bool IsMovableFromAnchorPoint() { return false; }
+    virtual bool IsMovableFromAnchorPoint() override { return false; }
 
     wxString GetName() const { return m_name; }
 
@@ -309,11 +309,11 @@ public:
      */
     int GetScreenCount() const;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /* there is no member for orientation in sch_sheet, to preserve file
      * format, we detect orientation based on pin edges
@@ -412,12 +412,12 @@ public:
      */
     int GetMinHeight() const;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
-                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE aDrawMode, EDA_COLOR_T aColor = UNSPECIFIED_COLOR ) override;
 
-    virtual EDA_RECT const GetBoundingBox() const;
+    virtual EDA_RECT const GetBoundingBox() const override;
 
     /**
      * Function GetResizePos
@@ -427,7 +427,7 @@ public:
      */
     wxPoint GetResizePosition() const;
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
     /**
      * Function ComponentCount
@@ -501,7 +501,7 @@ public:
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_pos += aMoveVector;
 
@@ -511,17 +511,17 @@ public:
         }
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL );
+    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override;
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
     /**
      * Resize this sheet to aSize and adjust all of the labels accordingly.
@@ -542,44 +542,44 @@ public:
      */
     wxPoint GetFileNamePosition();
 
-    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList );
+    virtual void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
 
-    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsDangling() const;
+    virtual bool IsDangling() const override;
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
     virtual SEARCH_RESULT Visit( INSPECTOR* inspector, const void* testData,
-                                 const KICAD_T scanTypes[] );
+                                 const KICAD_T scanTypes[] ) override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return add_hierarchical_subsheet_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return add_hierarchical_subsheet_xpm; }
 
     virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems,
-                                 SCH_SHEET_PATH*      aSheetPath );
+                                 SCH_SHEET_PATH*      aSheetPath ) override;
 
     SCH_ITEM& operator=( const SCH_ITEM& aSheet );
 
-    virtual wxPoint GetPosition() const { return m_pos; }
+    virtual wxPoint GetPosition() const override { return m_pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition );
+    virtual void SetPosition( const wxPoint& aPosition ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
 protected:
diff --git a/eeschema/sch_text.h b/eeschema/sch_text.h
index 26501b5..ed64981 100644
--- a/eeschema/sch_text.h
+++ b/eeschema/sch_text.h
@@ -90,7 +90,7 @@ public:
 
     ~SCH_TEXT() { }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_TEXT" );
     }
@@ -133,7 +133,7 @@ public:
     virtual wxPoint GetSchematicTextOffset() const;
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset,
-                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR ) override;
 
     /**
      * Function CreateGraphicShape
@@ -147,74 +147,74 @@ public:
         aPoints.clear();
     }
 
-    virtual void SwapData( SCH_ITEM* aItem );
+    virtual void SwapData( SCH_ITEM* aItem ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual int GetPenSize() const;
+    virtual int GetPenSize() const override;
 
     // Geometric transforms (used in block operations):
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation );
+    virtual bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
 
-    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL )
+    virtual bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override
     {
         return EDA_ITEM::Replace( aSearchData, m_Text );
     }
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
-    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList );
+    virtual bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
 
-    virtual bool IsDangling() const { return m_isDangling; }
+    virtual bool IsDangling() const override { return m_isDangling; }
 
-    virtual bool IsSelectStateChanged( const wxRect& aRect );
+    virtual bool IsSelectStateChanged( const wxRect& aRect ) override;
 
-    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const;
+    virtual void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
 
-    virtual bool CanIncrementLabel() const { return true; }
+    virtual bool CanIncrementLabel() const override { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_text_xpm; }
 
     virtual void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems,
-                                 SCH_SHEET_PATH*      aSheetPath );
+                                 SCH_SHEET_PATH*      aSheetPath ) override;
 
-    virtual wxPoint GetPosition() const { return m_Pos; }
+    virtual wxPoint GetPosition() const override { return m_Pos; }
 
-    virtual void SetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; }
+    virtual void SetPosition( const wxPoint& aPosition ) override { m_Pos = aPosition; }
 
-    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const;
+    virtual bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
 
     virtual bool HitTest( const EDA_RECT& aRect, bool aContained = false,
-                          int aAccuracy = 0 ) const;
+                          int aAccuracy = 0 ) const override;
 
-    virtual void Plot( PLOTTER* aPlotter );
+    virtual void Plot( PLOTTER* aPlotter ) override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
@@ -229,39 +229,39 @@ public:
     ~SCH_LABEL() { }
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset,
-                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR ) override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_LABEL" );
     }
 
-    virtual void SetOrientation( int aSchematicOrientation );
+    virtual void SetOrientation( int aSchematicOrientation ) override;
 
-    virtual wxPoint GetSchematicTextOffset() const;
+    virtual wxPoint GetSchematicTextOffset() const override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_line_label_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_line_label_xpm; }
 
-    virtual bool IsReplaceable() const { return true; }
+    virtual bool IsReplaceable() const override { return true; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override { return m_Pos == aPosition; }
 };
 
 
@@ -275,41 +275,41 @@ public:
     ~SCH_GLOBALLABEL() { }
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset,
-                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR ) override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_GLOBALLABEL" );
     }
 
-    virtual void SetOrientation( int aSchematicOrientation );
+    virtual void SetOrientation( int aSchematicOrientation ) override;
 
-    virtual wxPoint GetSchematicTextOffset() const;
+    virtual wxPoint GetSchematicTextOffset() const override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos );
+    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos ) override;
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_glabel_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_glabel_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override { return m_Pos == aPosition; }
 };
 
 
@@ -325,41 +325,41 @@ public:
     ~SCH_HIERLABEL() { }
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset,
-                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR );
+                       GR_DRAWMODE draw_mode, EDA_COLOR_T Color = UNSPECIFIED_COLOR ) override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SCH_HIERLABEL" );
     }
 
-    virtual void SetOrientation( int aSchematicOrientation );
+    virtual void SetOrientation( int aSchematicOrientation ) override;
 
-    virtual wxPoint GetSchematicTextOffset() const;
+    virtual wxPoint GetSchematicTextOffset() const override;
 
-    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& Pos );
+    virtual void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& Pos ) override;
 
-    virtual bool Save( FILE* aFile ) const;
+    virtual bool Save( FILE* aFile ) const override;
 
-    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
+    virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual void MirrorY( int aYaxis_position );
+    virtual void MirrorY( int aYaxis_position ) override;
 
-    virtual void MirrorX( int aXaxis_position );
+    virtual void MirrorX( int aXaxis_position ) override;
 
-    virtual void Rotate( wxPoint aPosition );
+    virtual void Rotate( wxPoint aPosition ) override;
 
-    virtual bool IsConnectable() const { return true; }
+    virtual bool IsConnectable() const override { return true; }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_hierarchical_label_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_hierarchical_label_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 private:
-    virtual bool doIsConnected( const wxPoint& aPosition ) const { return m_Pos == aPosition; }
+    virtual bool doIsConnected( const wxPoint& aPosition ) const override { return m_Pos == aPosition; }
 };
 
 #endif /* CLASS_TEXT_LABEL_H */
diff --git a/eeschema/sch_validators.h b/eeschema/sch_validators.h
index e17e2ff..37323c2 100644
--- a/eeschema/sch_validators.h
+++ b/eeschema/sch_validators.h
@@ -48,7 +48,7 @@ public:
 
     SCH_FIELD_VALIDATOR( const SCH_FIELD_VALIDATOR& aValidator );
 
-    virtual wxObject* Clone() const { return new SCH_FIELD_VALIDATOR( *this ); }
+    virtual wxObject* Clone() const override { return new SCH_FIELD_VALIDATOR( *this ); }
 
     /**
      * Function Validate
@@ -59,7 +59,7 @@ public:
      * @param aParent - a pointer to the parent window of the error message dialog.
      * @return true if the text in the control is valid otherwise false.
      */
-    virtual bool Validate( wxWindow *aParent );
+    virtual bool Validate( wxWindow *aParent ) override;
 };
 
 
diff --git a/eeschema/schframe.h b/eeschema/schframe.h
index 4f36b02..210fbc8 100644
--- a/eeschema/schframe.h
+++ b/eeschema/schframe.h
@@ -195,13 +195,13 @@ protected:
      *
      * @return true if the auto save was successful otherwise false.
      */
-    virtual bool doAutoSave();
+    virtual bool doAutoSave() override;
 
     /**
      * Function autoSaveRequired
      * returns true if the schematic has been modified.
      */
-    virtual bool isAutoSaveRequired() const;
+    virtual bool isAutoSaveRequired() const override;
 
     /**
      * Function addCurrentItemToList
@@ -235,7 +235,7 @@ public:
     SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent );
     ~SCH_EDIT_FRAME();
 
-    virtual SCH_SCREEN* GetScreen() const;
+    virtual SCH_SCREEN* GetScreen() const override;
 
     void OnCloseWindow( wxCloseEvent& Event );
 
@@ -273,7 +273,7 @@ public:
     void Process_Config( wxCommandEvent& event );
     void OnSelectTool( wxCommandEvent& aEvent );
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Function GetProjectFileParametersList
@@ -291,7 +291,7 @@ public:
      * saves changes to the project settings to the project (.pro) file.
      * @param aAskForSave = true to open a dialog before saving the settings
      */
-    virtual void SaveProjectSettings( bool aAskForSave );
+    virtual void SaveProjectSettings( bool aAskForSave ) override;
 
     /**
      * Function LoadProjectFile
@@ -368,21 +368,21 @@ public:
      */
     PARAM_CFG_ARRAY& GetConfigurationSettings();
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     void CreateScreens();
-    virtual void ReCreateHToolbar();
-    virtual void ReCreateVToolbar();
+    virtual void ReCreateHToolbar() override;
+    virtual void ReCreateVToolbar() override;
     void ReCreateOptToolbar();
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
-    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     /**
      * Function OnModify
@@ -392,7 +392,7 @@ public:
      */
     void OnModify();
 
-    virtual wxString GetScreenDesc() const;
+    virtual wxString GetScreenDesc() const override;
 
     void InstallConfigFrame( wxCommandEvent& event );
 
@@ -402,15 +402,15 @@ public:
      * this is a virtual function called by EDA_DRAW_FRAME::OnSockRequest().
      * @param cmdline = received command from socket
      */
-    virtual void ExecuteRemoteCommand( const char* cmdline );
+    virtual void ExecuteRemoteCommand( const char* cmdline ) override;
 
-    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent );
+    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent ) override;
 
-    virtual void OnLeftClick( wxDC* aDC, const wxPoint& aPosition );
-    virtual void OnLeftDClick( wxDC* aDC, const wxPoint& aPosition );
-    virtual bool OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu );
+    virtual void OnLeftClick( wxDC* aDC, const wxPoint& aPosition ) override;
+    virtual void OnLeftDClick( wxDC* aDC, const wxPoint& aPosition ) override;
+    virtual bool OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu ) override;
     void OnSelectOptionToolbar( wxCommandEvent& event );
-    virtual double BestZoom();
+    virtual double BestZoom() override;
 
     /**
      * Function LocateAndShowItem
@@ -687,7 +687,7 @@ public:
      */
     void OnSaveProject( wxCommandEvent& aEvent );
 
-    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 );
+    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 ) override;
 
     /**
      * Function AppendOneEEProject
@@ -1222,7 +1222,7 @@ public:
      * Function InitBlockPasteInfos
      * initializes the parameters used by the block paste command.
      */
-    virtual void InitBlockPasteInfos();
+    virtual void InitBlockPasteInfos() override;
 
     /**
      * Function BlockCommand
@@ -1232,7 +1232,7 @@ public:
      * @param aKey = the key modifiers (Alt, Shift ...)
      * @return the block command id (BLOCK_MOVE, BLOCK_COPY...)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace
@@ -1241,7 +1241,7 @@ public:
      * (bloc move, drag, copy .. )
      * Parameters must be initialized in GetScreen()->m_BlockLocate
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd
@@ -1255,7 +1255,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* aDC );
+    virtual bool HandleBlockEnd( wxDC* aDC ) override;
 
     /**
      * Function RepeatDrawItem
@@ -1347,7 +1347,7 @@ public:
      * @param aData = a pointer on an auxiliary data (not always used, NULL if not used)
      */
     virtual void PrintPage( wxDC* aDC, LSET aPrintMask,
-                            bool aPrintMirrorMode, void* aData = NULL );
+                            bool aPrintMirrorMode, void* aData = NULL ) override;
 
     void SetSimulatorCommand( const wxString& aCommand ) { m_simulatorCommand = aCommand; }
 
diff --git a/eeschema/viewlib_frame.h b/eeschema/viewlib_frame.h
index 1e06441..adaf691 100644
--- a/eeschema/viewlib_frame.h
+++ b/eeschema/viewlib_frame.h
@@ -61,7 +61,7 @@ public:
 
     ~LIB_VIEW_FRAME();
 
-    virtual void OnSize( wxSizeEvent& event );
+    virtual void OnSize( wxSizeEvent& event ) override;
 
     /**
      * Function ReCreateListLib
@@ -74,23 +74,23 @@ public:
     void ReCreateListCmp();
     void Process_Special_Functions( wxCommandEvent& event );
     void DisplayLibInfos();
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
     void OnCloseWindow( wxCloseEvent& Event );
     void CloseLibraryViewer( wxCommandEvent& event );
-    virtual void ReCreateHToolbar();
-    virtual void ReCreateVToolbar();
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateHToolbar() override;
+    virtual void ReCreateVToolbar() override;
+    virtual void ReCreateMenuBar() override;
 
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    virtual double BestZoom();
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual double BestZoom() override;
     void ClickOnLibList( wxCommandEvent& event );
     void ClickOnCmpList( wxCommandEvent& event );
     void OnSetRelativeOffset( wxCommandEvent& event );
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -100,10 +100,10 @@ public:
      * case insensitive
      * </p>
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * set a filter to display only libraries and/or components
@@ -143,7 +143,7 @@ private:
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     void SelectCurrentLibrary();
     void SelectAndViewLibraryPart( int option );
@@ -154,7 +154,7 @@ private:
      */
     void ExportToSchematicLibraryPart( wxCommandEvent& event );
     void ViewOneLibraryContent( PART_LIB* Lib, int Flag );
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
     void DClickOnCmpList( wxCommandEvent& event );
 
 // Private members:
diff --git a/gerbview/class_excellon.h b/gerbview/class_excellon.h
index d115d7b..cdbbf27 100644
--- a/gerbview/class_excellon.h
+++ b/gerbview/class_excellon.h
@@ -106,7 +106,7 @@ public: EXCELLON_IMAGE( GERBVIEW_FRAME* aParent, int layer ) :
 
     ~EXCELLON_IMAGE() {};
 
-    virtual void ResetDefaultValues()
+    virtual void ResetDefaultValues() override
     {
         GERBER_IMAGE::ResetDefaultValues();
         SelectUnits( false );
diff --git a/gerbview/class_gbr_layer_box_selector.h b/gerbview/class_gbr_layer_box_selector.h
index d70fd37..13b8a25 100644
--- a/gerbview/class_gbr_layer_box_selector.h
+++ b/gerbview/class_gbr_layer_box_selector.h
@@ -41,16 +41,16 @@ public:
     }
 
     // Reload the Layers names and bitmaps
-    virtual void Resync();
+    virtual void Resync() override;
 
     // Returns a color index from the layer id
-    virtual EDA_COLOR_T GetLayerColor( int aLayer ) const;
+    virtual EDA_COLOR_T GetLayerColor( int aLayer ) const override;
 
     // Returns true if the layer id is enabled (i.e. is it should be displayed)
-    virtual bool IsLayerEnabled( int aLayer ) const { return true; }
+    virtual bool IsLayerEnabled( int aLayer ) const override { return true; }
 
     // Returns the name of the layer id
-    virtual wxString GetLayerName( int aLayer ) const;
+    virtual wxString GetLayerName( int aLayer ) const override;
 };
 
 #endif //CLASS_GBR_LAYER_BOX_SELECTOR_H
diff --git a/gerbview/class_gbr_screen.h b/gerbview/class_gbr_screen.h
index 6a1a69f..1e2f735 100644
--- a/gerbview/class_gbr_screen.h
+++ b/gerbview/class_gbr_screen.h
@@ -56,13 +56,13 @@ public:
 //    void        SetPreviousZoom();
 //    void        SetLastZoom();
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function ClearUndoORRedoList
      * virtual pure in BASE_SCREEN, so it must be defined here
      */
-    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 };
 
 
diff --git a/gerbview/class_gerber_draw_item.h b/gerbview/class_gerber_draw_item.h
index e129a9d..1c26795 100644
--- a/gerbview/class_gerber_draw_item.h
+++ b/gerbview/class_gerber_draw_item.h
@@ -213,7 +213,7 @@ public:
      */
     D_CODE* GetDcodeDescr();
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     /* Display on screen: */
     void Draw( EDA_DRAW_PANEL*         aPanel,
@@ -240,7 +240,7 @@ public:
     /* divers */
     int Shape() const { return m_Shape; }
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     wxString ShowGBRShape();
 
@@ -250,7 +250,7 @@ public:
      * @param aRefPos a wxPoint to test
      * @return bool - true if a hit, else false
      */
-    virtual bool HitTest( const wxPoint& aRefPos ) const;
+    virtual bool HitTest( const wxPoint& aRefPos ) const override;
 
     /**
      * Function HitTest (overloaded)
@@ -266,7 +266,7 @@ public:
      * returns the class name.
      * @return wxString
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "GERBER_DRAW_ITEM" );
     }
@@ -301,7 +301,7 @@ public:
         delete this;
     }
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 
 };
diff --git a/gerbview/class_gerbview_layer_widget.h b/gerbview/class_gerbview_layer_widget.h
index 6e01e3b..bde6fa9 100644
--- a/gerbview/class_gerbview_layer_widget.h
+++ b/gerbview/class_gerbview_layer_widget.h
@@ -75,7 +75,7 @@ class GERBER_LAYER_WIDGET : public LAYER_WIDGET
      * @return true if bitmaps shown in Render layer list
      * are alternate bitmaps, or false if they are "normal" bitmaps
      */
-    virtual bool useAlternateBitmap(int aRow);
+    virtual bool useAlternateBitmap(int aRow) override;
 
 public:
 
@@ -98,11 +98,11 @@ public:
     void ReFillRender();
 
     //-----<implement LAYER_WIDGET abstract callback functions>-----------
-    virtual void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor );
-    virtual bool OnLayerSelect( int aLayer );
-    virtual void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
-    virtual void OnRenderColorChange( int aId, EDA_COLOR_T aColor );
-    virtual void OnRenderEnable( int aId, bool isEnabled );
+    virtual void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor ) override;
+    virtual bool OnLayerSelect( int aLayer ) override;
+    virtual void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ) override;
+    virtual void OnRenderColorChange( int aId, EDA_COLOR_T aColor ) override;
+    virtual void OnRenderEnable( int aId, bool isEnabled ) override;
     /**
      * Function SetLayersManagerTabsText
      * Update the layer manager tabs labels
diff --git a/gerbview/dialogs/dialog_print_using_printer.cpp b/gerbview/dialogs/dialog_print_using_printer.cpp
index 17e0b80..d4b23b9 100644
--- a/gerbview/dialogs/dialog_print_using_printer.cpp
+++ b/gerbview/dialogs/dialog_print_using_printer.cpp
@@ -70,14 +70,14 @@ public:
     ~DIALOG_PRINT_USING_PRINTER() {};
 
 private:
-    virtual void OnCloseWindow( wxCloseEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
     void OnInitDialog( wxInitDialogEvent& event );
-    virtual void OnPageSetup( wxCommandEvent& event );
-    virtual void OnPrintPreview( wxCommandEvent& event );
-    virtual void OnPrintButtonClick( wxCommandEvent& event );
-    virtual void OnScaleSelectionClick( wxCommandEvent& event );
+    virtual void OnPageSetup( wxCommandEvent& event ) override;
+    virtual void OnPrintPreview( wxCommandEvent& event ) override;
+    virtual void OnPrintButtonClick( wxCommandEvent& event ) override;
+    virtual void OnScaleSelectionClick( wxCommandEvent& event ) override;
 
-    virtual void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override { Close(); }
     void SetPrintParameters();
     void InitValues();
 
diff --git a/gerbview/dialogs/dialog_show_page_borders.h b/gerbview/dialogs/dialog_show_page_borders.h
index 8c0b65b..9a69343 100644
--- a/gerbview/dialogs/dialog_show_page_borders.h
+++ b/gerbview/dialogs/dialog_show_page_borders.h
@@ -41,7 +41,7 @@ public:
     ~DIALOG_PAGE_SHOW_PAGE_BORDERS() {};
 
 private:
-    virtual void OnOKBUttonClick( wxCommandEvent& event );
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
+    virtual void OnOKBUttonClick( wxCommandEvent& event ) override;
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
 };
 
diff --git a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
index 6285301..e396019 100644
--- a/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
+++ b/gerbview/dialogs/gerbview_dialog_display_options_frame.cpp
@@ -53,10 +53,10 @@ public:
     ~DIALOG_DISPLAY_OPTIONS() {};
 
 private:
-    virtual void OnOKBUttonClick( wxCommandEvent& event );
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
+    virtual void OnOKBUttonClick( wxCommandEvent& event ) override;
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
     void initOptDialog( );
-    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event )
+    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) override
     {
         m_OptMiddleButtonPanLimited->Enable( m_OptMiddleButtonPan->GetValue() );
     }
diff --git a/gerbview/gerbview.cpp b/gerbview/gerbview.cpp
index 9524979..7f35a6e 100644
--- a/gerbview/gerbview.cpp
+++ b/gerbview/gerbview.cpp
@@ -69,11 +69,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -102,7 +102,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/gerbview/gerbview_frame.h b/gerbview/gerbview_frame.h
index 8a8656d..3db65d8 100644
--- a/gerbview/gerbview_frame.h
+++ b/gerbview/gerbview_frame.h
@@ -128,21 +128,21 @@ public:
      */
     EDA_RECT            GetGerberLayoutBoundingBox();
 
-    virtual void                SetPageSettings( const PAGE_INFO& aPageSettings );
-    virtual const PAGE_INFO&    GetPageSettings() const;
-    virtual const wxSize        GetPageSizeIU() const;
+    virtual void                SetPageSettings( const PAGE_INFO& aPageSettings ) override;
+    virtual const PAGE_INFO&    GetPageSettings() const override;
+    virtual const wxSize        GetPageSizeIU() const override;
 
-    virtual const wxPoint&      GetAuxOrigin() const;
-    virtual void                SetAuxOrigin( const wxPoint& aPoint );
+    virtual const wxPoint&      GetAuxOrigin() const override;
+    virtual void                SetAuxOrigin( const wxPoint& aPoint ) override;
 
-    virtual const wxPoint&      GetGridOrigin() const { return m_grid_origin; }
-    virtual void                SetGridOrigin( const wxPoint& aPoint )
+    virtual const wxPoint&      GetGridOrigin() const override { return m_grid_origin; }
+    virtual void                SetGridOrigin( const wxPoint& aPoint ) override
     {
         m_grid_origin = aPoint;
     }
 
-    virtual const TITLE_BLOCK&  GetTitleBlock() const;
-    virtual void                SetTitleBlock( const TITLE_BLOCK& aTitleBlock );
+    virtual const TITLE_BLOCK&  GetTitleBlock() const override;
+    virtual void                SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
 
     /**
      * Function SetCurItem
@@ -212,11 +212,11 @@ public:
 
     void    OnCloseWindow( wxCloseEvent& Event );
 
-    virtual bool    OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl );
+    virtual bool    OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl ) override;
 
     // Virtual basic functions:
-    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    virtual void    ReCreateHToolbar();
+    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    virtual void    ReCreateHToolbar() override;
 
     /**
      * Function ReCreateVToolbar
@@ -224,19 +224,19 @@ public:
      *
      * @note This is currently not used.
      */
-    virtual void    ReCreateVToolbar();
+    virtual void    ReCreateVToolbar() override;
 
     /**
      * Create or update the left vertical toolbar (option toolbar
      */
     void    ReCreateOptToolbar();
 
-    virtual void    ReCreateMenuBar();
-    virtual void    OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    virtual void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
-    virtual bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
-    virtual double  BestZoom();
-    virtual void    UpdateStatusBar();
+    virtual void    ReCreateMenuBar() override;
+    virtual void    OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual void    OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual bool    OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
+    virtual double  BestZoom() override;
+    virtual void    UpdateStatusBar() override;
 
     /**
      * Function GetZoomLevelIndicator
@@ -244,7 +244,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    virtual const wxString GetZoomLevelIndicator() const;
+    virtual const wxString GetZoomLevelIndicator() const override;
 
     /**
      * Function ReportMessage
@@ -306,7 +306,7 @@ public:
      * It may be overloaded by derived classes
      * @param aVisible = true if the grid must be shown
      */
-    virtual void    SetGridVisibility( bool aVisible );
+    virtual void    SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetVisibleLayers
@@ -464,11 +464,11 @@ public:
      */
     PARAM_CFG_ARRAY&    GetConfigurationSettings( void );
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
-    virtual void                ShowChangedLanguage();
+    virtual void                ShowChangedLanguage() override;
 
     void                Process_Special_Functions( wxCommandEvent& event );
     void                OnSelectOptionToolbar( wxCommandEvent& event );
@@ -510,7 +510,7 @@ public:
     void                OnQuit( wxCommandEvent& event );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -521,7 +521,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     GERBER_DRAW_ITEM*   GerberGeneralLocateAndDisplay();
     GERBER_DRAW_ITEM*   Locate( const wxPoint& aPosition, int typeloc );
@@ -546,13 +546,13 @@ public:
      * returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to
      * the \a aKey (ALT, SHIFT ALT ..)
      */
-    virtual int         BlockCommand( EDA_KEY key );
+    virtual int         BlockCommand( EDA_KEY key ) override;
 
     /**
      * Function HandleBlockPlace
      * handles the block place command.
      */
-    virtual void        HandleBlockPlace( wxDC* DC );
+    virtual void        HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd( )
@@ -565,7 +565,7 @@ public:
      * @return false if no item selected, or command finished,
      *         true if some items found and HandleBlockPlace must be called later.
      */
-    virtual bool        HandleBlockEnd( wxDC* DC );
+    virtual bool        HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function Block_Move
@@ -631,7 +631,7 @@ public:
     bool                LoadExcellonFiles( const wxString& aFileName );
     bool                Read_EXCELLON_File( const wxString& aFullFileName );
 
-    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Set Size Items (Lines, Flashes) from DCodes List
@@ -677,7 +677,7 @@ public:
      * @param aData = a pointer on an auxiliary data (not always used, NULL if not used)
      */
     virtual void    PrintPage( wxDC* aDC, LSET aPrintMasklayer, bool aPrintMirrorMode,
-                               void* aData = NULL );
+                               void* aData = NULL ) override;
 
     /**
      * Function DrawItemsDCodeID
diff --git a/gerbview/select_layers_to_pcb.h b/gerbview/select_layers_to_pcb.h
index 13f85e9..f0879c3 100644
--- a/gerbview/select_layers_to_pcb.h
+++ b/gerbview/select_layers_to_pcb.h
@@ -57,14 +57,14 @@ public: LAYERS_MAP_DIALOG( GERBVIEW_FRAME* parent );
 private:
     void initDialog();
     void normalizeBrdLayersCount();
-    virtual void OnBrdLayersCountSelection( wxCommandEvent& event );
+    virtual void OnBrdLayersCountSelection( wxCommandEvent& event ) override;
     void OnSelectLayer( wxCommandEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 
-    virtual void OnStoreSetup( wxCommandEvent& event );
-    virtual void OnGetSetup( wxCommandEvent& event );
-    virtual void OnResetClick( wxCommandEvent& event );
+    virtual void OnStoreSetup( wxCommandEvent& event ) override;
+    virtual void OnGetSetup( wxCommandEvent& event ) override;
+    virtual void OnResetClick( wxCommandEvent& event ) override;
 
     DECLARE_EVENT_TABLE()
 };
diff --git a/include/base_struct.h b/include/base_struct.h
index e6238f3..6320a45 100644
--- a/include/base_struct.h
+++ b/include/base_struct.h
@@ -501,10 +501,10 @@ public:
 #endif
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
 
diff --git a/include/basic_gal.h b/include/basic_gal.h
index 2ca3e34..e10d0ca 100644
--- a/include/basic_gal.h
+++ b/include/basic_gal.h
@@ -94,12 +94,12 @@ public:
     }
 
     /// @brief Save the context.
-    virtual void Save()
+    virtual void Save() override
     {
         m_transformHistory.push( m_transform );
     }
 
-    virtual void Restore()
+    virtual void Restore() override
     {
         m_transform = m_transformHistory.top();
         m_transformHistory.pop();
@@ -110,20 +110,20 @@ public:
      * @brief Draw a polyline
      * @param aPointList is a list of 2D-Vectors containing the polyline points.
      */
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList );
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override;
 
     /** Start and end points are defined as 2D-Vectors.
      * @param aStartPoint   is the start point of the line.
      * @param aEndPoint     is the end point of the line.
      */
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /**
      * @brief Translate the context.
      *
      * @param aTranslation is the translation vector.
      */
-    virtual void Translate( const VECTOR2D& aTranslation )
+    virtual void Translate( const VECTOR2D& aTranslation ) override
     {
         m_transform.m_moveOffset += aTranslation;
     }
@@ -133,7 +133,7 @@ public:
      *
      * @param aAngle is the rotation angle in radians.
      */
-    virtual void Rotate( double aAngle )
+    virtual void Rotate( double aAngle ) override
     {
         m_transform.m_rotAngle = aAngle;
         m_transform.m_rotCenter = m_transform.m_moveOffset;
diff --git a/include/class_base_screen.h b/include/class_base_screen.h
index 16737da..f7fccfe 100644
--- a/include/class_base_screen.h
+++ b/include/class_base_screen.h
@@ -491,7 +491,7 @@ public:
      * returns the class name.
      * @return wxString
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "BASE_SCREEN" );
     }
@@ -501,7 +501,7 @@ public:
     void ClearBlockCommand() { m_BlockLocate.Clear(); }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const;
+    virtual void Show( int nestLevel, std::ostream& os ) const override;
 #endif
 };
 
diff --git a/include/class_board_item.h b/include/class_board_item.h
index 7b202ff..a37aa57 100644
--- a/include/class_board_item.h
+++ b/include/class_board_item.h
@@ -273,7 +273,7 @@ public:
      */
     wxString GetLayerName() const;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return EDA_ITEM::HitTest( aPosition );
     }
@@ -321,7 +321,7 @@ public:
     static std::string FormatInternalUnits( const wxSize& aSize );
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /*!
      * Function IncrementItemReference
diff --git a/include/class_draw_panel_gal.h b/include/class_draw_panel_gal.h
index 531c5e5..6a392d2 100644
--- a/include/class_draw_panel_gal.h
+++ b/include/class_draw_panel_gal.h
@@ -63,7 +63,7 @@ public:
                         const wxSize& aSize, GAL_TYPE aGalType = GAL_TYPE_OPENGL );
     ~EDA_DRAW_PANEL_GAL();
 
-    virtual void SetFocus();
+    virtual void SetFocus() override;
 
     /**
      * Function SwitchBackend
@@ -112,7 +112,7 @@ public:
     }
 
     /// @copydoc wxWindow::Refresh()
-    virtual void Refresh( bool aEraseBackground = true, const wxRect* aRect = NULL );
+    virtual void Refresh( bool aEraseBackground = true, const wxRect* aRect = NULL ) override;
 
     /**
      * Function ForceRefresh()
diff --git a/include/class_drawpanel.h b/include/class_drawpanel.h
index f30aa37..ecf2421 100644
--- a/include/class_drawpanel.h
+++ b/include/class_drawpanel.h
@@ -242,7 +242,7 @@ public:
      * </p>
      * @param aDC The device context to prepare.
      */
-    virtual void DoPrepareDC( wxDC& aDC );
+    virtual void DoPrepareDC( wxDC& aDC ) override;
 
     /**
      * Function DeviceToLogical
@@ -334,7 +334,7 @@ public:
     void RefreshDrawingRect( const EDA_RECT& aRect, bool aEraseBackground = true );
 
     /// @copydoc wxWindow::Refresh()
-    virtual void Refresh( bool eraseBackground = true, const wxRect* rect = NULL );
+    virtual void Refresh( bool eraseBackground = true, const wxRect* rect = NULL ) override;
 
     /**
      * Function GetScreenCenterLogicalPosition
diff --git a/include/class_pcb_screen.h b/include/class_pcb_screen.h
index e26d34c..e6c9924 100644
--- a/include/class_pcb_screen.h
+++ b/include/class_pcb_screen.h
@@ -61,7 +61,7 @@ public:
     void        SetPreviousZoom();
     void        SetLastZoom();
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function GetCurItem
@@ -99,7 +99,7 @@ public:
      * items are removed from the beginning of the list.
      * So this function can be called to remove old commands
      */
-    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
 };
 
 #endif  // CLASS_PCB_SCREEN_H_
diff --git a/include/class_worksheet_dataitem.h b/include/class_worksheet_dataitem.h
index 346bcde..34a4870 100644
--- a/include/class_worksheet_dataitem.h
+++ b/include/class_worksheet_dataitem.h
@@ -306,7 +306,7 @@ private:
 public:
     WORKSHEET_DATAITEM_POLYPOLYGON( );
 
-    virtual int GetPenSizeUi()
+    virtual int GetPenSizeUi() override
     {
         return KiROUND( m_LineWidth * m_WSunits2Iu );
     }
@@ -314,7 +314,7 @@ public:
    /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; };
+    virtual bool HasEndPoint() override { return false; };
 
     /**
      * add a corner in corner list
@@ -377,7 +377,7 @@ public:
      */
     void SetBoundingBox();
 
-    virtual bool IsInsidePage( int ii ) const;
+    virtual bool IsInsidePage( int ii ) const override;
 };
 
 
@@ -405,9 +405,9 @@ public:
     /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; }
+    virtual bool HasEndPoint() override { return false; }
 
-    virtual int GetPenSizeUi()
+    virtual int GetPenSizeUi() override
     {
         if( m_LineWidth )
             return KiROUND( m_LineWidth * m_WSunits2Iu );
@@ -510,7 +510,7 @@ public:
     /**
      * @return false  (no end point)
      */
-    virtual bool HasEndPoint() { return false; }
+    virtual bool HasEndPoint() override { return false; }
 
     /**
      * @return the PPI of the bitmap
diff --git a/include/config_params.h b/include/config_params.h
index 0425e94..9d4dad1 100644
--- a/include/config_params.h
+++ b/include/config_params.h
@@ -141,8 +141,8 @@ public:
                    int max = std::numeric_limits<int>::max(),
                    const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 /**
@@ -171,8 +171,8 @@ public:
                    const wxChar* group = NULL,
                    double aBiu2cfgunit = 1.0 );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -192,8 +192,8 @@ public:
     PARAM_CFG_SETCOLOR( bool Insetup, const wxString& ident, EDA_COLOR_T* ptparam,
                         EDA_COLOR_T default_val, const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -216,8 +216,8 @@ public:
                       double default_val = 0.0, double min = 0.0, double max = 10000.0,
                       const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -237,8 +237,8 @@ public:
     PARAM_CFG_BOOL( bool Insetup, const wxString& ident, bool* ptparam,
                     int default_val = false, const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -261,8 +261,8 @@ public:
                         const wxString& default_val = wxEmptyString,
                         const wxChar* group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -280,8 +280,8 @@ public:
 public:
     PARAM_CFG_FILENAME( const wxString& ident, wxString* ptparam,
             const wxChar* group = NULL );
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
@@ -295,8 +295,8 @@ public:
                                 wxArrayString* ptparam,
                                 const wxChar*  group = NULL );
 
-    virtual void ReadParam( wxConfigBase* aConfig ) const;
-    virtual void SaveParam( wxConfigBase* aConfig ) const;
+    virtual void ReadParam( wxConfigBase* aConfig ) const override;
+    virtual void SaveParam( wxConfigBase* aConfig ) const override;
 };
 
 
diff --git a/include/dialog_env_var_config.h b/include/dialog_env_var_config.h
index 7dc387c..75ea169 100644
--- a/include/dialog_env_var_config.h
+++ b/include/dialog_env_var_config.h
@@ -43,15 +43,15 @@ private:
     bool         m_extDefsChanged;
 
 protected:
-    virtual void OnAddRow( wxCommandEvent& aEvent );
-    virtual void OnDeleteSelectedRows( wxCommandEvent& aEvent );
-    virtual void OnHelpRequest( wxCommandEvent& aEvent );
+    virtual void OnAddRow( wxCommandEvent& aEvent ) override;
+    virtual void OnDeleteSelectedRows( wxCommandEvent& aEvent ) override;
+    virtual void OnHelpRequest( wxCommandEvent& aEvent ) override;
 
 public:
     DIALOG_ENV_VAR_CONFIG( wxWindow* parent, const ENV_VAR_MAP& aEnvVarMap );
 
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
 
     bool ExternalDefsChanged() const { return m_extDefsChanged; }
 
diff --git a/include/dialog_get_component.h b/include/dialog_get_component.h
index 5c5314b..61992c0 100644
--- a/include/dialog_get_component.h
+++ b/include/dialog_get_component.h
@@ -72,9 +72,9 @@ public:
 
 private:
     void     initDialog( wxArrayString& aHistoryList );
-    virtual void     OnCancel( wxCommandEvent& event );
-    virtual void     Accept( wxCommandEvent& event );
-    virtual void     GetExtraSelection( wxCommandEvent& event );
+    virtual void     OnCancel( wxCommandEvent& event ) override;
+    virtual void     Accept( wxCommandEvent& event ) override;
+    virtual void     GetExtraSelection( wxCommandEvent& event ) override;
 };
 
 
diff --git a/include/dialog_helpers.h b/include/dialog_helpers.h
index 90458d9..31f1667 100644
--- a/include/dialog_helpers.h
+++ b/include/dialog_helpers.h
@@ -88,12 +88,12 @@ public:
     wxString GetTextSelection( int aColumn = 0 );
 
 private:
-    virtual void     onClose( wxCloseEvent& event );
-    virtual void     onCancelClick( wxCommandEvent& event );
-    virtual void     onOkClick( wxCommandEvent& event );
-    virtual void     onListItemSelected( wxListEvent& event );
-    virtual void     onListItemActivated( wxListEvent& event );
-    virtual void     textChangeInFilterBox(wxCommandEvent& event);
+    virtual void     onClose( wxCloseEvent& event ) override;
+    virtual void     onCancelClick( wxCommandEvent& event ) override;
+    virtual void     onOkClick( wxCommandEvent& event ) override;
+    virtual void     onListItemSelected( wxListEvent& event ) override;
+    virtual void     onListItemActivated( wxListEvent& event ) override;
+    virtual void     textChangeInFilterBox(wxCommandEvent& event) override;
 
     void    initDialog( const wxArrayString& aItemHeaders,
                         const wxString& aSelection);
diff --git a/include/dialog_hotkeys_editor.h b/include/dialog_hotkeys_editor.h
index f6f3e5b..f580d79 100644
--- a/include/dialog_hotkeys_editor.h
+++ b/include/dialog_hotkeys_editor.h
@@ -44,8 +44,8 @@ protected:
 
     WIDGET_HOTKEY_LIST* m_hotkeyListCtrl;
 
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
 
     virtual EDA_BASE_FRAME* GetParent()
     {
@@ -65,7 +65,7 @@ private:
      *
      * @param aEvent is the button press event, unused
      */
-    virtual void ResetClicked( wxCommandEvent& aEvent );
+    virtual void ResetClicked( wxCommandEvent& aEvent ) override;
 
     /**
      * Function DefaultsClicked
@@ -73,7 +73,7 @@ private:
      *
      * @param aEvent is the button press event, unused
      */
-    virtual void DefaultsClicked( wxCommandEvent& aEvent );
+    virtual void DefaultsClicked( wxCommandEvent& aEvent ) override;
 };
 
 /**
diff --git a/include/dialog_shim.h b/include/dialog_shim.h
index 9edc03c..736f7d9 100644
--- a/include/dialog_shim.h
+++ b/include/dialog_shim.h
@@ -85,9 +85,9 @@ public:
 
     bool IsQuasiModal()         { return m_qmodal_showing; }
 
-    virtual bool Show( bool show );
+    virtual bool Show( bool show ) override;
 
-    virtual bool Enable( bool enable );
+    virtual bool Enable( bool enable ) override;
 
 protected:
 
diff --git a/include/draw_frame.h b/include/draw_frame.h
index c9f9e07..3bb1b92 100644
--- a/include/draw_frame.h
+++ b/include/draw_frame.h
@@ -332,7 +332,7 @@ public:
     void SkipNextLeftButtonReleaseEvent();
 
     ///> @copydoc EDA_BASE_FRAME::WriteHotkeyConfig
-    virtual int WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, wxString* aFullFileName = NULL );
+    virtual int WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, wxString* aFullFileName = NULL ) override;
 
     /**
      * Function GetHotkeyConfig()
@@ -382,7 +382,7 @@ public:
 
     virtual void ReCreateHToolbar() = 0;
     virtual void ReCreateVToolbar() = 0;
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
     virtual void ReCreateAuxiliaryToolbar();
 
     /**
@@ -686,9 +686,9 @@ public:
     void OnSockRequest( wxSocketEvent& evt );
     void OnSockRequestServer( wxSocketEvent& evt );
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Append a message to the message panel.
diff --git a/include/eda_pattern_match.h b/include/eda_pattern_match.h
index fb23a14..c5fd7c1 100644
--- a/include/eda_pattern_match.h
+++ b/include/eda_pattern_match.h
@@ -65,8 +65,8 @@ public:
 class EDA_PATTERN_MATCH_SUBSTR : public EDA_PATTERN_MATCH
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 
 protected:
     wxString m_pattern;
@@ -79,8 +79,8 @@ protected:
 class EDA_PATTERN_MATCH_REGEX : public EDA_PATTERN_MATCH
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 
 protected:
     wxString m_pattern;
@@ -91,8 +91,8 @@ protected:
 class EDA_PATTERN_MATCH_WILDCARD : public EDA_PATTERN_MATCH_REGEX
 {
 public:
-    virtual bool SetPattern( const wxString& aPattern );
-    virtual int Find( const wxString& aCandidate ) const;
+    virtual bool SetPattern( const wxString& aPattern ) override;
+    virtual int Find( const wxString& aCandidate ) const override;
 };
 
 #endif  // EDA_PATTERN_MATCH_H
diff --git a/include/filter_reader.h b/include/filter_reader.h
index 3a99f18..d707214 100644
--- a/include/filter_reader.h
+++ b/include/filter_reader.h
@@ -48,14 +48,14 @@ public:
 
     ~FILTER_READER();
 
-    virtual char* ReadLine() throw( IO_ERROR );
+    virtual char* ReadLine() throw( IO_ERROR ) override;
 
-    virtual const wxString& GetSource() const
+    virtual const wxString& GetSource() const override
     {
         return reader.GetSource();
     }
 
-    virtual unsigned LineNumber() const
+    virtual unsigned LineNumber() const override
     {
         return reader.LineNumber();
     }
@@ -82,14 +82,14 @@ public:
 
     ~WHITESPACE_FILTER_READER();
 
-    virtual char* ReadLine() throw( IO_ERROR );
+    virtual char* ReadLine() throw( IO_ERROR ) override;
 
-    virtual const wxString& GetSource() const
+    virtual const wxString& GetSource() const override
     {
         return reader.GetSource();
     }
 
-    virtual unsigned LineNumber() const
+    virtual unsigned LineNumber() const override
     {
         return reader.LineNumber();
     }
diff --git a/include/gal/cairo/cairo_compositor.h b/include/gal/cairo/cairo_compositor.h
index 6d5d74a..906458f 100644
--- a/include/gal/cairo/cairo_compositor.h
+++ b/include/gal/cairo/cairo_compositor.h
@@ -45,28 +45,28 @@ public:
     virtual ~CAIRO_COMPOSITOR();
 
     /// @copydoc COMPOSITOR::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     /// @copydoc COMPOSITOR::Resize()
-    virtual void Resize( unsigned int aWidth, unsigned int aHeight );
+    virtual void Resize( unsigned int aWidth, unsigned int aHeight ) override;
 
     /// @copydoc COMPOSITOR::CreateBuffer()
-    virtual unsigned int CreateBuffer();
+    virtual unsigned int CreateBuffer() override;
 
     /// @copydoc COMPOSITOR::GetBuffer()
-    inline virtual unsigned int GetBuffer() const
+    inline virtual unsigned int GetBuffer() const override
     {
         return m_current + 1;
     }
 
     /// @copydoc COMPOSITOR::SetBuffer()
-    virtual void SetBuffer( unsigned int aBufferHandle );
+    virtual void SetBuffer( unsigned int aBufferHandle ) override;
 
     /// @copydoc COMPOSITOR::ClearBuffer()
-    virtual void ClearBuffer();
+    virtual void ClearBuffer() override;
 
     /// @copydoc COMPOSITOR::DrawBuffer()
-    virtual void DrawBuffer( unsigned int aBufferHandle );
+    virtual void DrawBuffer( unsigned int aBufferHandle ) override;
 
     /**
      * Function SetMainContext()
diff --git a/include/gal/cairo/cairo_gal.h b/include/gal/cairo/cairo_gal.h
index 1f395f7..9781e9c 100644
--- a/include/gal/cairo/cairo_gal.h
+++ b/include/gal/cairo/cairo_gal.h
@@ -90,152 +90,152 @@ public:
     // ---------------
 
     /// @copydoc GAL::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     /// @copydoc GAL::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
     /// @copydoc GAL::DrawLine()
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawSegment()
-    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint, double aWidth );
+    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint, double aWidth ) override;
 
     /// @copydoc GAL::DrawCircle()
-    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius );
+    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius ) override;
 
     /// @copydoc GAL::DrawArc()
     virtual void DrawArc( const VECTOR2D& aCenterPoint, double aRadius,
-                          double aStartAngle, double aEndAngle );
+                          double aStartAngle, double aEndAngle ) override;
 
     /// @copydoc GAL::DrawRectangle()
-    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawPolyline()
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) { drawPoly( aPointList ); }
-    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) { drawPoly( aPointList, aListSize ); }
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override { drawPoly( aPointList ); }
+    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) override { drawPoly( aPointList, aListSize ); }
 
     /// @copydoc GAL::DrawPolygon()
-    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) { drawPoly( aPointList ); }
-    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) { drawPoly( aPointList, aListSize ); }
+    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) override { drawPoly( aPointList ); }
+    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) override { drawPoly( aPointList, aListSize ); }
 
     /// @copydoc GAL::DrawCurve()
     virtual void DrawCurve( const VECTOR2D& startPoint, const VECTOR2D& controlPointA,
-                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint );
+                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint ) override;
 
     // --------------
     // Screen methods
     // --------------
 
     /// @brief Resizes the canvas.
-    virtual void ResizeScreen( int aWidth, int aHeight );
+    virtual void ResizeScreen( int aWidth, int aHeight ) override;
 
     /// @brief Shows/hides the GAL canvas
-    virtual bool Show( bool aShow );
+    virtual bool Show( bool aShow ) override;
 
     /// @copydoc GAL::Flush()
-    virtual void Flush();
+    virtual void Flush() override;
 
     /// @copydoc GAL::ClearScreen()
-    virtual void ClearScreen( const COLOR4D& aColor );
+    virtual void ClearScreen( const COLOR4D& aColor ) override;
 
     // -----------------
     // Attribute setting
     // -----------------
 
     /// @copydoc GAL::SetIsFill()
-    virtual void SetIsFill( bool aIsFillEnabled );
+    virtual void SetIsFill( bool aIsFillEnabled ) override;
 
     /// @copydoc GAL::SetIsStroke()
-    virtual void SetIsStroke( bool aIsStrokeEnabled );
+    virtual void SetIsStroke( bool aIsStrokeEnabled ) override;
 
     /// @copydoc GAL::SetStrokeColor()
-    virtual void SetStrokeColor( const COLOR4D& aColor );
+    virtual void SetStrokeColor( const COLOR4D& aColor ) override;
 
     /// @copydoc GAL::SetFillColor()
-    virtual void SetFillColor( const COLOR4D& aColor );
+    virtual void SetFillColor( const COLOR4D& aColor ) override;
 
     /// @copydoc GAL::SetLineWidth()
-    virtual void SetLineWidth( double aLineWidth );
+    virtual void SetLineWidth( double aLineWidth ) override;
 
     /// @copydoc GAL::SetLayerDepth()
-    virtual void SetLayerDepth( double aLayerDepth );
+    virtual void SetLayerDepth( double aLayerDepth ) override;
 
     // --------------
     // Transformation
     // --------------
 
     /// @copydoc GAL::Transform()
-    virtual void Transform( const MATRIX3x3D& aTransformation );
+    virtual void Transform( const MATRIX3x3D& aTransformation ) override;
 
     /// @copydoc GAL::Rotate()
-    virtual void Rotate( double aAngle );
+    virtual void Rotate( double aAngle ) override;
 
     /// @copydoc GAL::Translate()
-    virtual void Translate( const VECTOR2D& aTranslation );
+    virtual void Translate( const VECTOR2D& aTranslation ) override;
 
     /// @copydoc GAL::Scale()
-    virtual void Scale( const VECTOR2D& aScale );
+    virtual void Scale( const VECTOR2D& aScale ) override;
 
     /// @copydoc GAL::Save()
-    virtual void Save();
+    virtual void Save() override;
 
     /// @copydoc GAL::Restore()
-    virtual void Restore();
+    virtual void Restore() override;
 
     // --------------------------------------------
     // Group methods
     // ---------------------------------------------
 
     /// @copydoc GAL::BeginGroup()
-    virtual int BeginGroup();
+    virtual int BeginGroup() override;
 
     /// @copydoc GAL::EndGroup()
-    virtual void EndGroup();
+    virtual void EndGroup() override;
 
     /// @copydoc GAL::DrawGroup()
-    virtual void DrawGroup( int aGroupNumber );
+    virtual void DrawGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ChangeGroupColor()
-    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor );
+    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor ) override;
 
     /// @copydoc GAL::ChangeGroupDepth()
-    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth );
+    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth ) override;
 
     /// @copydoc GAL::DeleteGroup()
-    virtual void DeleteGroup( int aGroupNumber );
+    virtual void DeleteGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ClearCache()
-    virtual void ClearCache();
+    virtual void ClearCache() override;
 
     // --------------------------------------------------------
     // Handling the world <-> screen transformation
     // --------------------------------------------------------
 
     /// @copydoc GAL::SaveScreen()
-    virtual void SaveScreen();
+    virtual void SaveScreen() override;
 
     /// @copydoc GAL::RestoreScreen()
-    virtual void RestoreScreen();
+    virtual void RestoreScreen() override;
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RENDER_TARGET aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget ) override;
 
     /// @copydoc GAL::GetTarget()
-    virtual RENDER_TARGET GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const override;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RENDER_TARGET aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget ) override;
 
     // -------
     // Cursor
     // -------
 
     /// @copydoc GAL::SetCursorSize()
-    virtual void SetCursorSize( unsigned int aCursorSize );
+    virtual void SetCursorSize( unsigned int aCursorSize ) override;
 
     /// @copydoc GAL::DrawCursor()
-    virtual void DrawCursor( const VECTOR2D& aCursorPosition );
+    virtual void DrawCursor( const VECTOR2D& aCursorPosition ) override;
 
     /**
      * Function PostPaint
@@ -262,7 +262,7 @@ public:
     }
 
 protected:
-    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
 private:
     /// Super class definition
diff --git a/include/gal/opengl/cached_container.h b/include/gal/opengl/cached_container.h
index 7bfc784..02a3ab5 100644
--- a/include/gal/opengl/cached_container.h
+++ b/include/gal/opengl/cached_container.h
@@ -50,19 +50,19 @@ public:
     CACHED_CONTAINER( unsigned int aSize = defaultInitSize );
 
     ///> @copydoc VERTEX_CONTAINER::SetItem()
-    virtual void SetItem( VERTEX_ITEM* aItem );
+    virtual void SetItem( VERTEX_ITEM* aItem ) override;
 
     ///> @copydoc VERTEX_CONTAINER::FinishItem()
-    virtual void FinishItem();
+    virtual void FinishItem() override;
 
     ///> @copydoc VERTEX_CONTAINER::Allocate()
-    virtual VERTEX* Allocate( unsigned int aSize );
+    virtual VERTEX* Allocate( unsigned int aSize ) override;
 
     ///> @copydoc VERTEX_CONTAINER::Delete()
-    virtual void Delete( VERTEX_ITEM* aItem );
+    virtual void Delete( VERTEX_ITEM* aItem ) override;
 
     ///> @copydoc VERTEX_CONTAINER::Clear()
-    virtual void Clear();
+    virtual void Clear() override;
 
 protected:
     ///> Maps size of free memory chunks to their offsets
diff --git a/include/gal/opengl/gpu_manager.h b/include/gal/opengl/gpu_manager.h
index 5ed2a08..7ca407e 100644
--- a/include/gal/opengl/gpu_manager.h
+++ b/include/gal/opengl/gpu_manager.h
@@ -110,19 +110,19 @@ public:
     ~GPU_CACHED_MANAGER();
 
     ///> @copydoc GPU_MANAGER::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     ///> @copydoc GPU_MANAGER::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     ///> @copydoc GPU_MANAGER::DrawIndices()
-    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
+    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize ) override;
 
     ///> @copydoc GPU_MANAGER::DrawAll()
-    virtual void DrawAll();
+    virtual void DrawAll() override;
 
     ///> @copydoc GPU_MANAGER::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
 protected:
     /**
@@ -164,19 +164,19 @@ public:
     GPU_NONCACHED_MANAGER( VERTEX_CONTAINER* aContainer );
 
     ///> @copydoc GPU_MANAGER::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     ///> @copydoc GPU_MANAGER::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     ///> @copydoc GPU_MANAGER::DrawIndices()
-    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
+    virtual void DrawIndices( unsigned int aOffset, unsigned int aSize ) override;
 
     ///> @copydoc GPU_MANAGER::DrawAll()
-    virtual void DrawAll();
+    virtual void DrawAll() override;
 
     ///> @copydoc GPU_MANAGER::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 };
 } // namespace KIGFX
 #endif /* GPU_MANAGER_H_ */
diff --git a/include/gal/opengl/noncached_container.h b/include/gal/opengl/noncached_container.h
index e4f76db..1f78992 100644
--- a/include/gal/opengl/noncached_container.h
+++ b/include/gal/opengl/noncached_container.h
@@ -45,19 +45,19 @@ public:
     virtual ~NONCACHED_CONTAINER();
 
     ///< @copydoc VERTEX_CONTAINER::SetItem( VERTEX_ITEM* aItem )
-    virtual void SetItem( VERTEX_ITEM* aItem );
+    virtual void SetItem( VERTEX_ITEM* aItem ) override;
 
     ///< @copydoc VERTEX_CONTAINER::Allocate( unsigned int aSize )
-    virtual VERTEX* Allocate( unsigned int aSize );
+    virtual VERTEX* Allocate( unsigned int aSize ) override;
 
     ///< @copydoc VERTEX_CONTAINER::Delete( VERTEX_ITEM* aItem )
-    virtual void Delete( VERTEX_ITEM* aItem ) {}
+    virtual void Delete( VERTEX_ITEM* aItem ) override {}
 
     ///< @copydoc VERTEX_CONTAINER::Clear()
-    virtual void Clear();
+    virtual void Clear() override;
 
     ///< @copydoc VERTEX_CONTAINER::GetSize()
-    virtual inline unsigned int GetSize() const
+    virtual inline unsigned int GetSize() const override
     {
         // As the m_freePtr points to the first free space, we can safely assume
         // that this is the number of vertices stored inside
diff --git a/include/gal/opengl/opengl_compositor.h b/include/gal/opengl/opengl_compositor.h
index 4974fe9..ca5d770 100644
--- a/include/gal/opengl/opengl_compositor.h
+++ b/include/gal/opengl/opengl_compositor.h
@@ -44,19 +44,19 @@ public:
     virtual ~OPENGL_COMPOSITOR();
 
     /// @copydoc COMPOSITOR::Initialize()
-    virtual void Initialize();
+    virtual void Initialize() override;
 
     /// @copydoc COMPOSITOR::Resize()
-    virtual void Resize( unsigned int aWidth, unsigned int aHeight );
+    virtual void Resize( unsigned int aWidth, unsigned int aHeight ) override;
 
     /// @copydoc COMPOSITOR::CreateBuffer()
-    virtual unsigned int CreateBuffer();
+    virtual unsigned int CreateBuffer() override;
 
     /// @copydoc COMPOSITOR::SetBuffer()
-    virtual void SetBuffer( unsigned int aBufferHandle );
+    virtual void SetBuffer( unsigned int aBufferHandle ) override;
 
     /// @copydoc COMPOSITOR::GetBuffer()
-    virtual unsigned int GetBuffer() const
+    virtual unsigned int GetBuffer() const override
     {
         if( m_currentFbo == DIRECT_RENDERING )
             return DIRECT_RENDERING;
@@ -65,10 +65,10 @@ public:
     }
 
     /// @copydoc COMPOSITOR::ClearBuffer()
-    virtual void ClearBuffer();
+    virtual void ClearBuffer() override;
 
     /// @copydoc COMPOSITOR::DrawBuffer()
-    virtual void DrawBuffer( unsigned int aBufferHandle );
+    virtual void DrawBuffer( unsigned int aBufferHandle ) override;
 
     // Constant used by glBindFramebuffer to turn off rendering to framebuffers
     static const unsigned int DIRECT_RENDERING = 0;
diff --git a/include/gal/opengl/opengl_gal.h b/include/gal/opengl/opengl_gal.h
index 83598ba..daf286d 100644
--- a/include/gal/opengl/opengl_gal.h
+++ b/include/gal/opengl/opengl_gal.h
@@ -83,135 +83,135 @@ public:
     virtual ~OPENGL_GAL();
 
    /// @copydoc GAL::IsInitialized()
-    virtual bool IsInitialized() const { return IsShownOnScreen(); }
+    virtual bool IsInitialized() const override { return IsShownOnScreen(); }
 
     // ---------------
     // Drawing methods
     // ---------------
 
     /// @copydoc GAL::BeginDrawing()
-    virtual void BeginDrawing();
+    virtual void BeginDrawing() override;
 
     /// @copydoc GAL::EndDrawing()
-    virtual void EndDrawing();
+    virtual void EndDrawing() override;
 
     /// @copydoc GAL::DrawLine()
-    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawSegment()
     virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint,
-                              double aWidth );
+                              double aWidth ) override;
 
     /// @copydoc GAL::DrawCircle()
-    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius );
+    virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius ) override;
 
     /// @copydoc GAL::DrawArc()
     virtual void DrawArc( const VECTOR2D& aCenterPoint, double aRadius,
-                          double aStartAngle, double aEndAngle );
+                          double aStartAngle, double aEndAngle ) override;
 
     /// @copydoc GAL::DrawRectangle()
-    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void DrawRectangle( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
     /// @copydoc GAL::DrawPolyline()
-    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList );
-    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize );
+    virtual void DrawPolyline( const std::deque<VECTOR2D>& aPointList ) override;
+    virtual void DrawPolyline( const VECTOR2D aPointList[], int aListSize ) override;
 
     /// @copydoc GAL::DrawPolygon()
-    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList );
-    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize );
+    virtual void DrawPolygon( const std::deque<VECTOR2D>& aPointList ) override;
+    virtual void DrawPolygon( const VECTOR2D aPointList[], int aListSize ) override;
 
     /// @copydoc GAL::DrawCurve()
     virtual void DrawCurve( const VECTOR2D& startPoint, const VECTOR2D& controlPointA,
-                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint );
+                            const VECTOR2D& controlPointB, const VECTOR2D& endPoint ) override;
 
     // --------------
     // Screen methods
     // --------------
 
     /// @brief Resizes the canvas.
-    virtual void ResizeScreen( int aWidth, int aHeight );
+    virtual void ResizeScreen( int aWidth, int aHeight ) override;
 
     /// @brief Shows/hides the GAL canvas
-    virtual bool Show( bool aShow );
+    virtual bool Show( bool aShow ) override;
 
     /// @copydoc GAL::Flush()
-    virtual void Flush();
+    virtual void Flush() override;
 
     /// @copydoc GAL::ClearScreen()
-    virtual void ClearScreen( const COLOR4D& aColor );
+    virtual void ClearScreen( const COLOR4D& aColor ) override;
 
     // --------------
     // Transformation
     // --------------
 
     /// @copydoc GAL::Transform()
-    virtual void Transform( const MATRIX3x3D& aTransformation );
+    virtual void Transform( const MATRIX3x3D& aTransformation ) override;
 
     /// @copydoc GAL::Rotate()
-    virtual void Rotate( double aAngle );
+    virtual void Rotate( double aAngle ) override;
 
     /// @copydoc GAL::Translate()
-    virtual void Translate( const VECTOR2D& aTranslation );
+    virtual void Translate( const VECTOR2D& aTranslation ) override;
 
     /// @copydoc GAL::Scale()
-    virtual void Scale( const VECTOR2D& aScale );
+    virtual void Scale( const VECTOR2D& aScale ) override;
 
     /// @copydoc GAL::Save()
-    virtual void Save();
+    virtual void Save() override;
 
     /// @copydoc GAL::Restore()
-    virtual void Restore();
+    virtual void Restore() override;
 
     // --------------------------------------------
     // Group methods
     // ---------------------------------------------
 
     /// @copydoc GAL::BeginGroup()
-    virtual int BeginGroup();
+    virtual int BeginGroup() override;
 
     /// @copydoc GAL::EndGroup()
-    virtual void EndGroup();
+    virtual void EndGroup() override;
 
     /// @copydoc GAL::DrawGroup()
-    virtual void DrawGroup( int aGroupNumber );
+    virtual void DrawGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ChangeGroupColor()
-    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor );
+    virtual void ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor ) override;
 
     /// @copydoc GAL::ChangeGroupDepth()
-    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth );
+    virtual void ChangeGroupDepth( int aGroupNumber, int aDepth ) override;
 
     /// @copydoc GAL::DeleteGroup()
-    virtual void DeleteGroup( int aGroupNumber );
+    virtual void DeleteGroup( int aGroupNumber ) override;
 
     /// @copydoc GAL::ClearCache()
-    virtual void ClearCache();
+    virtual void ClearCache() override;
 
     // --------------------------------------------------------
     // Handling the world <-> screen transformation
     // --------------------------------------------------------
 
     /// @copydoc GAL::SaveScreen()
-    virtual void SaveScreen();
+    virtual void SaveScreen() override;
 
     /// @copydoc GAL::RestoreScreen()
-    virtual void RestoreScreen();
+    virtual void RestoreScreen() override;
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RENDER_TARGET aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget ) override;
 
     /// @copydoc GAL::GetTarget()
-    virtual RENDER_TARGET GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const override;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RENDER_TARGET aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget ) override;
 
     // -------
     // Cursor
     // -------
 
     /// @copydoc GAL::DrawCursor()
-    virtual void DrawCursor( const VECTOR2D& aCursorPosition );
+    virtual void DrawCursor( const VECTOR2D& aCursorPosition ) override;
 
     /**
      * @brief Function PostPaint
@@ -248,7 +248,7 @@ public:
     } TessParams;
 
 protected:
-    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
+    virtual void drawGridLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint ) override;
 
 private:
     /// Super class definition
diff --git a/include/geometry/shape_circle.h b/include/geometry/shape_circle.h
index eeb5c26..26879e2 100644
--- a/include/geometry/shape_circle.h
+++ b/include/geometry/shape_circle.h
@@ -47,19 +47,19 @@ public:
     ~SHAPE_CIRCLE()
     {}
 
-    virtual SHAPE* Clone() const
+    virtual SHAPE* Clone() const override
     {
         return new SHAPE_CIRCLE( *this );
     }
 
-    virtual const BOX2I BBox( int aClearance = 0 ) const
+    virtual const BOX2I BBox( int aClearance = 0 ) const override
     {
         const VECTOR2I rc( m_radius + aClearance, m_radius + aClearance );
 
         return BOX2I( m_center - rc, rc * 2 );
     }
 
-    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override
     {
         int rc = aClearance + m_radius;
 
@@ -86,12 +86,12 @@ public:
         return m_center;
     }
 
-    virtual void Move( const VECTOR2I& aVector )
+    virtual void Move( const VECTOR2I& aVector ) override
     {
         m_center += aVector;
     }
 
-    virtual bool IsSolid() const
+    virtual bool IsSolid() const override
     {
         return true;
     }
diff --git a/include/geometry/shape_convex.h b/include/geometry/shape_convex.h
index fb6c3a8..0a461b1 100644
--- a/include/geometry/shape_convex.h
+++ b/include/geometry/shape_convex.h
@@ -56,7 +56,7 @@ public:
        SHAPE( SH_CONVEX ), m_points( aOther.m_points )
     {}
 
-    virtual SHAPE* Clone() const
+    virtual SHAPE* Clone() const override
     {
         return new SHAPE_CONVEX( *this );
     }
@@ -71,7 +71,7 @@ public:
     }
 
     /// @copydoc SHAPE::BBox()
-    virtual const BOX2I BBox( int aClearance = 0 ) const
+    virtual const BOX2I BBox( int aClearance = 0 ) const override
     {
         return m_points.BBox( aClearance );
     }
@@ -166,17 +166,17 @@ public:
     }
 
     /// @copydoc SHAPE::Collide()
-    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override
     {
         return m_points.Collide( aSeg, aClearance );
     }
 
-    virtual void Move( const VECTOR2I& aVector )
+    virtual void Move( const VECTOR2I& aVector ) override
     {
         m_points.Move( aVector );
     }
 
-    virtual bool IsSolid() const
+    virtual bool IsSolid() const override
     {
         return true;
     }
diff --git a/include/geometry/shape_line_chain.h b/include/geometry/shape_line_chain.h
index 459b684..fd2e30e0 100644
--- a/include/geometry/shape_line_chain.h
+++ b/include/geometry/shape_line_chain.h
@@ -127,7 +127,7 @@ public:
     ~SHAPE_LINE_CHAIN()
     {}
 
-    virtual SHAPE* Clone() const;
+    virtual SHAPE* Clone() const override;
 
     /**
      * Function Clear()
@@ -261,7 +261,7 @@ public:
     }
 
     /// @copydoc SHAPE::BBox()
-    virtual const BOX2I BBox( int aClearance = 0 ) const
+    virtual const BOX2I BBox( int aClearance = 0 ) const override
     {
         BOX2I bbox;
         bbox.Compute( m_points );
@@ -280,7 +280,7 @@ public:
      * @param aClearance minimum distance that does not qualify as a collision.
      * @return true, when a collision has been found
      */
-    virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const;
+    virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const override;
 
     /**
      * Function Collide()
@@ -290,7 +290,7 @@ public:
      * @param aClearance minimum distance that does not qualify as a collision.
      * @return true, when a collision has been found
      */
-    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override;
 
     /**
      * Function Distance()
@@ -552,10 +552,10 @@ public:
     const VECTOR2I NearestPoint( const SEG& aSeg, int& dist ) const;
 
     /// @copydoc SHAPE::Format()
-    virtual const std::string Format() const;
+    virtual const std::string Format() const override;
 
     /// @copydoc SHAPE::Parse()
-    virtual bool Parse( std::stringstream& aStream );
+    virtual bool Parse( std::stringstream& aStream ) override;
 
     bool operator!=( const SHAPE_LINE_CHAIN& aRhs ) const
     {
@@ -573,13 +573,13 @@ public:
 
     bool CompareGeometry( const SHAPE_LINE_CHAIN & aOther ) const;
 
-    virtual void Move( const VECTOR2I& aVector )
+    virtual void Move( const VECTOR2I& aVector ) override
     {
         for( std::vector<VECTOR2I>::iterator i = m_points.begin(); i != m_points.end(); ++i )
             (*i) += aVector;
     }
 
-    virtual bool IsSolid() const
+    virtual bool IsSolid() const override
     {
         return false;
     }
diff --git a/include/geometry/shape_poly_set.h b/include/geometry/shape_poly_set.h
index 0edd6dd..2430532 100644
--- a/include/geometry/shape_poly_set.h
+++ b/include/geometry/shape_poly_set.h
@@ -308,25 +308,25 @@ class SHAPE_POLY_SET : public SHAPE
         void Simplify( POLYGON_MODE aFastMode );
 
         /// @copydoc SHAPE::Format()
-        virtual const std::string Format() const;
+        virtual const std::string Format() const override;
 
         /// @copydoc SHAPE::Parse()
-        virtual bool Parse( std::stringstream& aStream );
+        virtual bool Parse( std::stringstream& aStream ) override;
 
         /// @copydoc SHAPE::Move()
-        virtual void Move( const VECTOR2I& aVector );
+        virtual void Move( const VECTOR2I& aVector ) override;
 
         /// @copydoc SHAPE::IsSolid()
-        virtual bool IsSolid() const
+        virtual bool IsSolid() const override
         {
             return true;
         }
 
-        virtual const BOX2I BBox( int aClearance = 0 ) const;
+        virtual const BOX2I BBox( int aClearance = 0 ) const override;
 
         // fixme: add collision support
-        virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const { return false; }
-        virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const { return false; }
+        virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const override { return false; }
+        virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override { return false; }
 
 
         ///> Returns true is a given subpolygon contains the point aP. If aSubpolyIndex < 0 (default value),
diff --git a/include/geometry/shape_rect.h b/include/geometry/shape_rect.h
index 6c08fcc..85e71f7 100644
--- a/include/geometry/shape_rect.h
+++ b/include/geometry/shape_rect.h
@@ -64,13 +64,13 @@ public:
         m_h( aOther.m_h )
     {};
 
-    virtual SHAPE* Clone() const
+    virtual SHAPE* Clone() const override
     {
         return new SHAPE_RECT( *this );
     }
 
     /// @copydoc SHAPE::BBox()
-    virtual const BOX2I BBox( int aClearance = 0 ) const
+    virtual const BOX2I BBox( int aClearance = 0 ) const override
     {
         BOX2I bbox( VECTOR2I( m_p0.x - aClearance,  m_p0.y - aClearance ),
                     VECTOR2I( m_w + 2 * aClearance, m_h + 2 * aClearance ) );
@@ -90,7 +90,7 @@ public:
     }
 
     /// @copydoc SHAPE::Collide()
-    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override;
 
     /**
      * Function GetPosition()
@@ -132,12 +132,12 @@ public:
         return m_h;
     }
 
-    virtual void Move( const VECTOR2I& aVector )
+    virtual void Move( const VECTOR2I& aVector ) override
     {
         m_p0 += aVector;
     }
 
-    virtual bool IsSolid() const
+    virtual bool IsSolid() const override
     {
         return true;
     }
diff --git a/include/geometry/shape_segment.h b/include/geometry/shape_segment.h
index 97198c4..25599a9 100644
--- a/include/geometry/shape_segment.h
+++ b/include/geometry/shape_segment.h
@@ -42,22 +42,22 @@ public:
 
     ~SHAPE_SEGMENT() {};
 
-    virtual SHAPE* Clone() const
+    virtual SHAPE* Clone() const override
     {
         return new SHAPE_SEGMENT( m_seg, m_width );
     }
 
-    virtual const BOX2I BBox( int aClearance = 0 ) const
+    virtual const BOX2I BBox( int aClearance = 0 ) const override
     {
         return BOX2I( m_seg.A, m_seg.B - m_seg.A ).Inflate( aClearance + ( m_width + 1 ) / 2 );
     }
 
-    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const override
     {
         return m_seg.Distance( aSeg ) < ( m_width + 1 ) / 2 + aClearance;
     }
 
-    virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const
+    virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const override
     {
         return m_seg.Distance( aP ) < ( m_width + 1 ) / 2 + aClearance;
     }
@@ -82,12 +82,12 @@ public:
         return m_width;
     }
 
-    virtual bool IsSolid() const
+    virtual bool IsSolid() const override
     {
         return true;
     }
 
-    virtual void Move( const VECTOR2I& aVector )
+    virtual void Move( const VECTOR2I& aVector ) override
     {
         m_seg.A += aVector;
         m_seg.B += aVector;
diff --git a/include/html_messagebox.h b/include/html_messagebox.h
index df5e894..e0c5771 100644
--- a/include/html_messagebox.h
+++ b/include/html_messagebox.h
@@ -41,7 +41,7 @@ class HTML_MESSAGE_BOX : public DIALOG_DISPLAY_HTML_TEXT_BASE
 {
 protected:
     // Handlers for HTML_MESSAGE_BOX_BASE events.
-    virtual void OnCloseButtonClick( wxCommandEvent& event );
+    virtual void OnCloseButtonClick( wxCommandEvent& event ) override;
 
 public:
     /**
diff --git a/include/kiface_i.h b/include/kiface_i.h
index 5cb41b8..6a4134f 100644
--- a/include/kiface_i.h
+++ b/include/kiface_i.h
@@ -42,7 +42,7 @@ public:
 
         // see base class KIFACE in kiway.h for doxygen docs
 
-    VTBL_ENTRY bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) = 0;
+    VTBL_ENTRY bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override = 0;
     /*
     {
         typically call start_common() in your overload
@@ -50,16 +50,16 @@ public:
     }
     */
 
-    VTBL_ENTRY void OnKifaceEnd()
+    VTBL_ENTRY void OnKifaceEnd() override
     {
         // overload this if you want, end_common() may be handy.
         end_common();
     }
 
     VTBL_ENTRY  wxWindow* CreateWindow( wxWindow* aParent,
-            int aClassId, KIWAY* aKIWAY, int aCtlBits = 0 ) = 0;
+            int aClassId, KIWAY* aKIWAY, int aCtlBits = 0 ) override = 0;
 
-    VTBL_ENTRY void* IfaceOrAddress( int aDataId ) = 0;
+    VTBL_ENTRY void* IfaceOrAddress( int aDataId ) override = 0;
 
     //-----</KIFACE API>---------------------------------------------------------
 
diff --git a/include/kiway.h b/include/kiway.h
index 444f804..d51b03e 100644
--- a/include/kiway.h
+++ b/include/kiway.h
@@ -364,7 +364,7 @@ public:
 
     void OnKiwayEnd();
 
-    virtual bool ProcessEvent( wxEvent& aEvent );
+    virtual bool ProcessEvent( wxEvent& aEvent ) override;
 
 private:
 
diff --git a/include/kiway_express.h b/include/kiway_express.h
index 74bbd07..6e36c91 100644
--- a/include/kiway_express.h
+++ b/include/kiway_express.h
@@ -62,7 +62,7 @@ public:
     const std::string&  GetPayload()                    { return m_payload; }
     void SetPayload( const std::string& aPayload )      { m_payload = aPayload; }
 
-    virtual KIWAY_EXPRESS* Clone() const 	{ return new KIWAY_EXPRESS( *this ); }
+    virtual KIWAY_EXPRESS* Clone() const override 	{ return new KIWAY_EXPRESS( *this ); }
 
     //KIWAY_EXPRESS() {}
 
diff --git a/include/kiway_player.h b/include/kiway_player.h
index 4b9c1bd..f8a8410 100644
--- a/include/kiway_player.h
+++ b/include/kiway_player.h
@@ -205,7 +205,7 @@ public:
     /**
      * Our version of Destroy() which is virtual from wxWidgets
      */
-    virtual bool Destroy();
+    virtual bool Destroy() override;
 
 protected:
 
diff --git a/include/origin_viewitem.h b/include/origin_viewitem.h
index adfcc4b..38cc9dc 100644
--- a/include/origin_viewitem.h
+++ b/include/origin_viewitem.h
@@ -48,18 +48,18 @@ public:
                      MARKER_STYLE aStyle = CIRCLE_X, int aSize = 16,
                      const VECTOR2D& aPosition = VECTOR2D( 0, 0 ) );
 
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
         aLayers[0] = ITEM_GAL_LAYER( GP_OVERLAY );
         aCount = 1;
     }
 
 #if defined(DEBUG)
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -67,7 +67,7 @@ public:
     /** Get class name
      * @return  string "ORIGIN_VIEWITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "ORIGIN_VIEWITEM" );
     }
diff --git a/include/plot_common.h b/include/plot_common.h
index e1daeb1..cf36510 100644
--- a/include/plot_common.h
+++ b/include/plot_common.h
@@ -494,7 +494,7 @@ class HPGL_PLOTTER : public PLOTTER
 public:
     HPGL_PLOTTER();
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_HPGL;
     }
@@ -504,20 +504,20 @@ public:
         return wxString( wxT( "plt" ) );
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
 
     /// HPGL doesn't handle line thickness or color
-    virtual void SetCurrentLineWidth( int width )
+    virtual void SetCurrentLineWidth( int width ) override
     {
         // This is the truth
         currentPenWidth = userToDeviceSize( penDiameter );
     }
 
-    virtual void SetDefaultLineWidth( int width ) {};
-    virtual void SetDash( bool dashed );
+    virtual void SetDefaultLineWidth( int width ) override {};
+    virtual void SetDash( bool dashed ) override;
 
-    virtual void SetColor( EDA_COLOR_T color ) {};
+    virtual void SetColor( EDA_COLOR_T color ) override {};
 
     virtual void SetPenSpeed( int speed )
     {
@@ -532,33 +532,33 @@ public:
     virtual void SetPenDiameter( double diameter );
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-               int width = USE_DEFAULT_LINE_WIDTH );
+               int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH);
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH) override;
 
     virtual void ThickSegment( const wxPoint& start, const wxPoint& end, int width,
-                               EDA_DRAW_MODE_T tracemode );
+                               EDA_DRAW_MODE_T tracemode ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
-    virtual void PenTo( const wxPoint& pos, char plume );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
-                                 EDA_DRAW_MODE_T trace_mode );
+                                 EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadOval( const wxPoint& pos, const wxSize& size, double orient,
-                               EDA_DRAW_MODE_T trace_mode );
+                               EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRect( const wxPoint& pos, const wxSize& size,
-                               double orient, EDA_DRAW_MODE_T trace_mode );
+                               double orient, EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRoundRect( const wxPoint& aPadPos, const wxSize& aSize,
                                     int aCornerRadius, double aOrient,
-                                    EDA_DRAW_MODE_T aTraceMode );
+                                    EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadCustom( const wxPoint& aPadPos, const wxSize& aSize,
                                  SHAPE_POLY_SET* aPolygons,
-                                 EDA_DRAW_MODE_T aTraceMode );
+                                 EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadTrapez( const wxPoint& aPadPos, const wxPoint *aCorners,
-                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
+                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode ) override;
 
 protected:
     void penControl( char plume );
@@ -584,13 +584,13 @@ public:
     /**
      * PS and PDF fully implement native text (for the Latin-1 subset)
      */
-    virtual void SetTextMode( PlotTextMode mode )
+    virtual void SetTextMode( PlotTextMode mode ) override
     {
         if( mode != PLOTTEXTMODE_DEFAULT )
             m_textMode = mode;
     }
 
-    virtual void SetDefaultLineWidth( int width );
+    virtual void SetDefaultLineWidth( int width ) override;
 
     /**
      * Set the 'fine' scaling for the postscript engine
@@ -603,25 +603,25 @@ public:
 
     // Pad routines are handled with lower level primitives
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
-                                 EDA_DRAW_MODE_T trace_mode );
+                                 EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadOval( const wxPoint& pos, const wxSize& size, double orient,
-                               EDA_DRAW_MODE_T trace_mode );
+                               EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRect( const wxPoint& pos, const wxSize& size,
-                               double orient, EDA_DRAW_MODE_T trace_mode );
+                               double orient, EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRoundRect( const wxPoint& aPadPos, const wxSize& aSize,
                                     int aCornerRadius, double aOrient,
-                                    EDA_DRAW_MODE_T aTraceMode );
+                                    EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadCustom( const wxPoint& aPadPos, const wxSize& aSize,
                                  SHAPE_POLY_SET* aPolygons,
-                                 EDA_DRAW_MODE_T aTraceMode );
+                                 EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadTrapez( const wxPoint& aPadPos, const wxPoint *aCorners,
-                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
+                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode ) override;
 
     /** The SetColor implementation is split with the subclasses:
      * The PSLIKE computes the rgb values, the subclass emits the
      * operator to actually do it
      */
-    virtual void SetColor( EDA_COLOR_T color );
+    virtual void SetColor( EDA_COLOR_T color ) override;
 
 protected:
     void computeTextParameters( const wxPoint&           aPos,
@@ -678,32 +678,32 @@ public:
         return wxString( wxT( "ps" ) );
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_POST;
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
-    virtual void SetCurrentLineWidth( int width );
-    virtual void SetDash( bool dashed );
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
+    virtual void SetCurrentLineWidth( int width ) override;
+    virtual void SetDash( bool dashed ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
                        const wxString&             aText,
@@ -714,9 +714,9 @@ public:
                        int                         aWidth,
                        bool                        aItalic,
                        bool                        aBold,
-                       bool                        aMultilineAllowed = false );
+                       bool                        aMultilineAllowed = false ) override;
 protected:
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
 };
 
 class PDF_PLOTTER : public PSLIKE_PLOTTER
@@ -729,7 +729,7 @@ public:
         pageTreeHandle = 0;
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_PDF;
     }
@@ -747,31 +747,31 @@ public:
      * The base class open the file in text mode, so we should have this
      * function overlaid for PDF files, which are binary files
      */
-    virtual bool OpenFile( const wxString& aFullFilename );
+    virtual bool OpenFile( const wxString& aFullFilename ) override;
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
     virtual void StartPage();
     virtual void ClosePage();
-    virtual void SetCurrentLineWidth( int width );
-    virtual void SetDash( bool dashed );
+    virtual void SetCurrentLineWidth( int width ) override;
+    virtual void SetDash( bool dashed ) override;
 
     /** PDF can have multiple pages, so SetPageSettings can be called
      * with the outputFile open (but not inside a page stream!) */
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings );
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH);
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
 
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
@@ -783,14 +783,14 @@ public:
                        int                         aWidth,
                        bool                        aItalic,
                        bool                        aBold,
-                       bool                        aMultilineAllowed = false );
+                       bool                        aMultilineAllowed = false ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
 
 protected:
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
     int allocPdfObject();
     int startPdfObject(int handle = -1);
     void closePdfObject();
@@ -816,33 +816,33 @@ public:
         return wxString( wxT( "svg" ) );
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_SVG;
     }
 
-    virtual void SetColor( EDA_COLOR_T color );
-    virtual bool StartPlot();
-    virtual bool EndPlot();
-    virtual void SetCurrentLineWidth( int width );
-    virtual void SetDash( bool dashed );
+    virtual void SetColor( EDA_COLOR_T color ) override;
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
+    virtual void SetCurrentLineWidth( int width ) override;
+    virtual void SetDash( bool dashed ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
 
     virtual void PlotImage( const wxImage& aImage, const wxPoint& aPos,
-                            double aScaleFactor );
+                            double aScaleFactor ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
                        const wxString&             aText,
@@ -853,7 +853,7 @@ public:
                        int                         aWidth,
                        bool                        aItalic,
                        bool                        aBold,
-                       bool                        aMultilineAllowed = false );
+                       bool                        aMultilineAllowed = false ) override;
 
 protected:
     FILL_T m_fillMode;              // true if the current contour
@@ -874,7 +874,7 @@ protected:
      * initialize m_pen_rgb_color from reduced values r, g ,b
      * ( reduced values are 0.0 to 1.0 )
      */
-    virtual void emitSetRGBColor( double r, double g, double b );
+    virtual void emitSetRGBColor( double r, double g, double b ) override;
 
     /**
      * function setSVGPlotStyle()
@@ -915,7 +915,7 @@ class GERBER_PLOTTER : public PLOTTER
 public:
     GERBER_PLOTTER();
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_GERBER;
     }
@@ -930,44 +930,44 @@ public:
      * Write GERBER header to file
      * initialize global variable g_Plot_PlotOutputFile
      */
-    virtual bool StartPlot();
-    virtual bool EndPlot();
-    virtual void SetCurrentLineWidth( int width );
-    virtual void SetDefaultLineWidth( int width );
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
+    virtual void SetCurrentLineWidth( int width ) override;
+    virtual void SetDefaultLineWidth( int width ) override;
 
     // RS274X has no dashing, nor colours
-    virtual void SetDash( bool dashed ) {}
-    virtual void SetColor( EDA_COLOR_T color ) {}
+    virtual void SetDash( bool dashed ) override {}
+    virtual void SetColor( EDA_COLOR_T color ) override {}
     // Currently, aScale and aMirror are not used in gerber plotter
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                          double aScale, bool aMirror );
+                          double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Arc( const wxPoint& aCenter, double aStAngle, double aEndAngle,
-                      int aRadius, FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                      int aRadius, FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
 
     /**
      * Gerber polygon: they can (and *should*) be filled with the
      * appropriate G36/G37 sequence
      */
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
 
-    virtual void PenTo( const wxPoint& pos, char plume );
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
 
     /**
      * Filled circular flashes are stored as apertures
      */
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
-                                 EDA_DRAW_MODE_T trace_mode );
+                                 EDA_DRAW_MODE_T trace_mode ) override;
 
     /**
      * Filled oval flashes are handled as aperture in the 90 degree positions only
      */
     virtual void FlashPadOval( const wxPoint& pos, const wxSize& size, double orient,
-                               EDA_DRAW_MODE_T trace_mode );
+                               EDA_DRAW_MODE_T trace_mode ) override;
 
     /**
      * Filled rect flashes are handled as aperture in the 0 90 180 or 270 degree orientation only
@@ -975,7 +975,7 @@ public:
      * TODO: always use flashed shapes (aperture macros)
      */
     virtual void FlashPadRect( const wxPoint& pos, const wxSize& size,
-                               double orient, EDA_DRAW_MODE_T trace_mode );
+                               double orient, EDA_DRAW_MODE_T trace_mode ) override;
 
     /**
      * Roundrect pad at the moment are not handled as aperture, since
@@ -984,23 +984,23 @@ public:
      */
     virtual void FlashPadRoundRect( const wxPoint& aPadPos, const wxSize& aSize,
                                     int aCornerRadius, double aOrient,
-                                    EDA_DRAW_MODE_T aTraceMode );
+                                    EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadCustom( const wxPoint& aPadPos, const wxSize& aSize,
                                  SHAPE_POLY_SET* aPolygons,
-                                 EDA_DRAW_MODE_T aTraceMode );
+                                 EDA_DRAW_MODE_T aTraceMode ) override;
     /**
      * Trapezoidal pad at the moment are *never* handled as aperture, since
      * they require aperture macros
      * TODO: always use flashed shapes (aperture macros)
      */
     virtual void FlashPadTrapez( const wxPoint& aPadPos, const wxPoint *aCorners,
-                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
+                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode ) override;
 
     /**
      * Change the plot polarity and begin a new layer
      * Used to 'scratch off' silk screen away from solder mask
      */
-    virtual void SetLayerPolarity( bool aPositive );
+    virtual void SetLayerPolarity( bool aPositive ) override;
 
     /**
      * Function SetGerberCoordinatesFormat
@@ -1012,7 +1012,7 @@ public:
      *
      * Should be called only after SetViewport() is called
      */
-    virtual void SetGerberCoordinatesFormat( int aResolution, bool aUseInches = false );
+    virtual void SetGerberCoordinatesFormat( int aResolution, bool aUseInches = false ) override;
 
 protected:
     void selectAperture( const wxSize& size, APERTURE::APERTURE_TYPE type );
@@ -1054,7 +1054,7 @@ public:
         m_currentColor = BLACK;
     }
 
-    virtual PlotFormat GetPlotterType() const
+    virtual PlotFormat GetPlotterType() const override
     {
         return PLOT_FORMAT_DXF;
     }
@@ -1067,58 +1067,58 @@ public:
     /**
      * DXF handles NATIVE text emitting TEXT entities
      */
-    virtual void SetTextMode( PlotTextMode mode )
+    virtual void SetTextMode( PlotTextMode mode ) override
     {
         if( mode != PLOTTEXTMODE_DEFAULT )
             textAsLines = ( mode != PLOTTEXTMODE_NATIVE );
     }
 
-    virtual bool StartPlot();
-    virtual bool EndPlot();
+    virtual bool StartPlot() override;
+    virtual bool EndPlot() override;
 
     // For now we don't use 'thick' primitives, so no line width
-    virtual void SetCurrentLineWidth( int width )
+    virtual void SetCurrentLineWidth( int width ) override
     {
         currentPenWidth = 0;
     }
 
-    virtual void SetDefaultLineWidth( int width )
+    virtual void SetDefaultLineWidth( int width ) override
     {
         // DXF lines are infinitesimal
         defaultPenWidth = 0;
     }
 
-    virtual void SetDash( bool dashed );
+    virtual void SetDash( bool dashed ) override;
 
-    virtual void SetColor( EDA_COLOR_T color );
+    virtual void SetColor( EDA_COLOR_T color ) override;
 
     virtual void SetViewport( const wxPoint& aOffset, double aIusPerDecimil,
-                  double aScale, bool aMirror );
+                  double aScale, bool aMirror ) override;
     virtual void Rect( const wxPoint& p1, const wxPoint& p2, FILL_T fill,
-                       int width = USE_DEFAULT_LINE_WIDTH );
+                       int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void Circle( const wxPoint& pos, int diametre, FILL_T fill,
-                         int width = USE_DEFAULT_LINE_WIDTH );
+                         int width = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void PlotPoly( const std::vector< wxPoint >& aCornerList,
-                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH );
+                           FILL_T aFill, int aWidth = USE_DEFAULT_LINE_WIDTH ) override;
     virtual void ThickSegment( const wxPoint& start, const wxPoint& end, int width,
-                               EDA_DRAW_MODE_T tracemode );
+                               EDA_DRAW_MODE_T tracemode ) override;
     virtual void Arc( const wxPoint& centre, double StAngle, double EndAngle,
-                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH );
-    virtual void PenTo( const wxPoint& pos, char plume );
+                      int rayon, FILL_T fill, int width = USE_DEFAULT_LINE_WIDTH ) override;
+    virtual void PenTo( const wxPoint& pos, char plume ) override;
     virtual void FlashPadCircle( const wxPoint& pos, int diametre,
-                                 EDA_DRAW_MODE_T trace_mode );
+                                 EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadOval( const wxPoint& pos, const wxSize& size, double orient,
-                               EDA_DRAW_MODE_T trace_mode );
+                               EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRect( const wxPoint& pos, const wxSize& size,
-                               double orient, EDA_DRAW_MODE_T trace_mode );
+                               double orient, EDA_DRAW_MODE_T trace_mode ) override;
     virtual void FlashPadRoundRect( const wxPoint& aPadPos, const wxSize& aSize,
                                     int aCornerRadius, double aOrient,
-                                    EDA_DRAW_MODE_T aTraceMode );
+                                    EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadCustom( const wxPoint& aPadPos, const wxSize& aSize,
                                  SHAPE_POLY_SET* aPolygons,
-                                 EDA_DRAW_MODE_T aTraceMode );
+                                 EDA_DRAW_MODE_T aTraceMode ) override;
     virtual void FlashPadTrapez( const wxPoint& aPadPos, const wxPoint *aCorners,
-                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
+                                 double aPadOrient, EDA_DRAW_MODE_T aTrace_Mode ) override;
 
     virtual void Text( const wxPoint&              aPos,
                        enum EDA_COLOR_T            aColor,
@@ -1130,7 +1130,7 @@ public:
                        int                         aWidth,
                        bool                        aItalic,
                        bool                        aBold,
-                       bool                        aMultilineAllowed = false );
+                       bool                        aMultilineAllowed = false ) override;
 
 protected:
     bool textAsLines;
diff --git a/include/plugins/3dapi/ifsg_appearance.h b/include/plugins/3dapi/ifsg_appearance.h
index 7b6cce4..ceb8f16 100644
--- a/include/plugins/3dapi/ifsg_appearance.h
+++ b/include/plugins/3dapi/ifsg_appearance.h
@@ -38,9 +38,9 @@ public:
     IFSG_APPEARANCE( SGNODE* aParent );
     IFSG_APPEARANCE( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool SetEmissive( float aRVal, float aGVal, float aBVal );
     bool SetEmissive( const SGCOLOR* aRGBColor );
diff --git a/include/plugins/3dapi/ifsg_colors.h b/include/plugins/3dapi/ifsg_colors.h
index ca16c17..fedf6a9 100644
--- a/include/plugins/3dapi/ifsg_colors.h
+++ b/include/plugins/3dapi/ifsg_colors.h
@@ -45,9 +45,9 @@ public:
     IFSG_COLORS( SGNODE* aParent );
     IFSG_COLORS( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetColorList( size_t& aListSize, SGCOLOR*& aColorList );
     bool SetColorList( size_t aListSize, const SGCOLOR* aColorList );
diff --git a/include/plugins/3dapi/ifsg_coordindex.h b/include/plugins/3dapi/ifsg_coordindex.h
index 60d0ff1..0735411 100644
--- a/include/plugins/3dapi/ifsg_coordindex.h
+++ b/include/plugins/3dapi/ifsg_coordindex.h
@@ -44,9 +44,9 @@ public:
     IFSG_COORDINDEX( SGNODE* aParent );
     IFSG_COORDINDEX( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 };
 
 #endif  // IFSG_COORDINDEX_H
diff --git a/include/plugins/3dapi/ifsg_coords.h b/include/plugins/3dapi/ifsg_coords.h
index fe24bde..4dde3bd 100644
--- a/include/plugins/3dapi/ifsg_coords.h
+++ b/include/plugins/3dapi/ifsg_coords.h
@@ -44,9 +44,9 @@ public:
     IFSG_COORDS( SGNODE* aParent );
     IFSG_COORDS( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetCoordsList( size_t& aListSize, SGPOINT*& aCoordsList );
     bool SetCoordsList( size_t aListSize, const SGPOINT* aCoordsList );
diff --git a/include/plugins/3dapi/ifsg_faceset.h b/include/plugins/3dapi/ifsg_faceset.h
index 0e4abe6..4fcd578 100644
--- a/include/plugins/3dapi/ifsg_faceset.h
+++ b/include/plugins/3dapi/ifsg_faceset.h
@@ -44,9 +44,9 @@ public:
     IFSG_FACESET( SGNODE* aParent );
     IFSG_FACESET( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool CalcNormals( SGNODE** aPtr );
 };
diff --git a/include/plugins/3dapi/ifsg_index.h b/include/plugins/3dapi/ifsg_index.h
index a72cbdb..e0cd062 100644
--- a/include/plugins/3dapi/ifsg_index.h
+++ b/include/plugins/3dapi/ifsg_index.h
@@ -42,9 +42,9 @@ class SGLIB_API IFSG_INDEX : public IFSG_NODE
 public:
     IFSG_INDEX();
 
-    virtual bool Attach( SGNODE* aNode ) = 0;
-    virtual bool NewNode( SGNODE* aParent ) = 0;
-    virtual bool NewNode( IFSG_NODE& aParent ) = 0;
+    virtual bool Attach( SGNODE* aNode ) override = 0;
+    virtual bool NewNode( SGNODE* aParent ) override = 0;
+    virtual bool NewNode( IFSG_NODE& aParent ) override = 0;
 
     bool GetIndices( size_t& nIndices, int*& aIndexList );
 
diff --git a/include/plugins/3dapi/ifsg_normals.h b/include/plugins/3dapi/ifsg_normals.h
index 1d89f7a..30a28f5 100644
--- a/include/plugins/3dapi/ifsg_normals.h
+++ b/include/plugins/3dapi/ifsg_normals.h
@@ -44,9 +44,9 @@ public:
     IFSG_NORMALS( SGNODE* aParent );
     IFSG_NORMALS( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool GetNormalList( size_t& aListSize, SGVECTOR*& aNormalList );
     bool SetNormalList( size_t aListSize, const SGVECTOR* aNormalList );
diff --git a/include/plugins/3dapi/ifsg_shape.h b/include/plugins/3dapi/ifsg_shape.h
index 975769a..9960995 100644
--- a/include/plugins/3dapi/ifsg_shape.h
+++ b/include/plugins/3dapi/ifsg_shape.h
@@ -44,9 +44,9 @@ public:
     IFSG_SHAPE( SGNODE* aParent );
     IFSG_SHAPE( IFSG_NODE& aParent );
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 };
 
 #endif  // IFSG_SHAPE_H
diff --git a/include/plugins/3dapi/ifsg_transform.h b/include/plugins/3dapi/ifsg_transform.h
index b27f8c7..26b5d54 100644
--- a/include/plugins/3dapi/ifsg_transform.h
+++ b/include/plugins/3dapi/ifsg_transform.h
@@ -46,9 +46,9 @@ public:
     // since a transform may own another transform and that construct
     // invites accidental misuse of the copy constructor
 
-    virtual bool Attach( SGNODE* aNode );
-    virtual bool NewNode( SGNODE* aParent );
-    virtual bool NewNode( IFSG_NODE& aParent );
+    virtual bool Attach( SGNODE* aNode ) override;
+    virtual bool NewNode( SGNODE* aParent ) override;
+    virtual bool NewNode( IFSG_NODE& aParent ) override;
 
     bool SetScaleOrientation( const SGVECTOR& aScaleAxis, double aAngle );
     bool SetRotation( const SGVECTOR& aRotationAxis, double aAngle );
diff --git a/include/reporter.h b/include/reporter.h
index 3f79d6e..cba2f62 100644
--- a/include/reporter.h
+++ b/include/reporter.h
@@ -105,7 +105,7 @@ public:
     {
     }
 
-    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 
@@ -124,7 +124,7 @@ public:
     {
     }
 
-    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 
@@ -143,7 +143,7 @@ public:
     {
     }
 
-    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+    virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 /**
@@ -161,7 +161,7 @@ class NULL_REPORTER : public REPORTER
 
         static REPORTER& GetInstance();
 
-        virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED );
+        virtual REPORTER& Report( const wxString& aText, SEVERITY aSeverity = RPT_UNDEFINED ) override;
 };
 
 #endif     // _REPORTER_H_
diff --git a/include/richio.h b/include/richio.h
index 11b3efd..e8b23ce 100644
--- a/include/richio.h
+++ b/include/richio.h
@@ -365,7 +365,7 @@ public:
      */
     ~FILE_LINE_READER();
 
-    virtual char* ReadLine() throw( IO_ERROR );   // see LINE_READER::ReadLine() description
+    virtual char* ReadLine() throw( IO_ERROR ) override;   // see LINE_READER::ReadLine() description
 
     /**
      * Function Rewind
@@ -412,7 +412,7 @@ public:
      */
     STRING_LINE_READER( const STRING_LINE_READER& aStartingPoint );
 
-    virtual char* ReadLine() throw( IO_ERROR );    // see LINE_READER::ReadLine() description
+    virtual char* ReadLine() throw( IO_ERROR ) override;    // see LINE_READER::ReadLine() description
 };
 
 
@@ -435,7 +435,7 @@ public:
      */
     INPUTSTREAM_LINE_READER( wxInputStream* aStream, const wxString& aSource );
 
-    virtual char* ReadLine() throw( IO_ERROR );    // see LINE_READER::ReadLine() description
+    virtual char* ReadLine() throw( IO_ERROR ) override;    // see LINE_READER::ReadLine() description
 };
 
 
@@ -612,7 +612,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 };
 
@@ -644,7 +644,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 
     FILE*       m_fp;               ///< takes ownership
@@ -675,7 +675,7 @@ public:
 
 protected:
     //-----<OUTPUTFORMATTER>------------------------------------------------
-    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR );
+    virtual void write( const char* aOutBuf, int aCount ) throw( IO_ERROR ) override;
     //-----</OUTPUTFORMATTER>-----------------------------------------------
 };
 
diff --git a/include/tool/context_menu.h b/include/tool/context_menu.h
index 906bb63..184270a 100644
--- a/include/tool/context_menu.h
+++ b/include/tool/context_menu.h
@@ -60,7 +60,7 @@ public:
      * the menu.
      * @param aTitle is the new title.
      */
-    virtual void SetTitle( const wxString& aTitle );
+    virtual void SetTitle( const wxString& aTitle ) override;
 
     /**
      * Function SetIcon()
diff --git a/include/ttl/halfedge/hetriang.h b/include/ttl/halfedge/hetriang.h
index 1642e92..0c5ee90 100644
--- a/include/ttl/halfedge/hetriang.h
+++ b/include/ttl/halfedge/hetriang.h
@@ -343,7 +343,7 @@ public:
     }
 
     /// @copydoc Edge::setSourceNode()
-    virtual const NODE_PTR& GetTargetNode() const
+    virtual const NODE_PTR& GetTargetNode() const override
     {
         return m_target;
     }
diff --git a/include/view/view_group.h b/include/view/view_group.h
index 2a31a61..863f3f5 100644
--- a/include/view/view_group.h
+++ b/include/view/view_group.h
@@ -102,7 +102,7 @@ public:
      *
      * @return The current bounding box
      */
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function ViewDraw()
@@ -111,7 +111,7 @@ public:
      * @param aLayer is the layer which should be drawn.
      * @param aGal is the GAL that should be used for drawing.
      */
-    virtual void ViewDraw( int aLayer, GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /**
      * Function ViewGetLayers()
@@ -120,7 +120,7 @@ public:
      * @param aLayers[] is the output layer index array.
      * @param aCount is the number of layer indices in aLayers[].
      */
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /**
      * Function SetLayer()
@@ -170,23 +170,23 @@ protected:
     /// These functions cannot be used with VIEW_GROUP as they are intended only to work with
     /// singular VIEW_ITEMs (there is only one-to-one relation between item/layer combination and
     /// its group).
-    virtual int getGroup( int aLayer ) const
+    virtual int getGroup( int aLayer ) const override
     {
         return -1;
     }
 
-    virtual std::vector<int> getAllGroups() const
+    virtual std::vector<int> getAllGroups() const override
     {
         return std::vector<int>();
     }
 
-    virtual void setGroup( int aLayer, int aGroup )
+    virtual void setGroup( int aLayer, int aGroup ) override
     {}
 
-    virtual void deleteGroups()
+    virtual void deleteGroups() override
     {}
 
-    virtual bool storesGroups() const
+    virtual bool storesGroups() const override
     {
         return false;
     }
diff --git a/include/view/wx_view_controls.h b/include/view/wx_view_controls.h
index 764a954..ba77891 100644
--- a/include/view/wx_view_controls.h
+++ b/include/view/wx_view_controls.h
@@ -69,7 +69,7 @@ public:
      *
      * @param aEnabled says whether the option should be enabled or disabled.
      */
-    virtual void SetGrabMouse( bool aEnabled );
+    virtual void SetGrabMouse( bool aEnabled ) override;
 
     /**
      * Function SetAutoPan()
@@ -77,7 +77,7 @@ public:
      *
      * @param aEnabled says whether the option should enabled or disabled.
      */
-    virtual void SetAutoPan( bool aEnabled )
+    virtual void SetAutoPan( bool aEnabled ) override
     {
         m_autoPanEnabled = aEnabled;
 
@@ -86,17 +86,17 @@ public:
     }
 
     /// @copydoc VIEW_CONTROLS::GetMousePosition()
-    virtual VECTOR2I GetMousePosition() const;
+    virtual VECTOR2I GetMousePosition() const override;
 
     /// @copydoc VIEW_CONTROLS::GetCursorPosition()
-    virtual VECTOR2D GetCursorPosition() const;
+    virtual VECTOR2D GetCursorPosition() const override;
 
     /// @copydoc VIEW_CONTROLS::CursorWarp()
     virtual void WarpCursor( const VECTOR2D& aPosition, bool aWorldCoordinates = false,
-            bool aWarpView = false ) const;
+            bool aWarpView = false ) const override;
 
     /// @copydoc VIEW_CONTROLS::CenterOnCursor()
-    virtual void CenterOnCursor() const;
+    virtual void CenterOnCursor() const override;
 
     /// Adjusts the scrollbars position to match the current viewport.
     void UpdateScrollbars();
diff --git a/include/worksheet_shape_builder.h b/include/worksheet_shape_builder.h
index a54a361..65cbe70 100644
--- a/include/worksheet_shape_builder.h
+++ b/include/worksheet_shape_builder.h
@@ -143,25 +143,25 @@ public:
 
     /** The function to draw a WS_DRAW_ITEM_LINE
      */
-    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC );
+    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on the line
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     /**
      * return true if the point aPosition is on the ending point of this item
      * This is avirtual function which should be overriden for items defien by
      * 2 points
      */
-    virtual bool HitTestEndPoint( const wxPoint& aPosition);
+    virtual bool HitTestEndPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a polygon
@@ -193,18 +193,18 @@ public:
 
     /** The function to draw a WS_DRAW_ITEM_POLYGON
      */
-    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC );
+    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is inside one polygon
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a not filled rectangle with thick segment
@@ -221,25 +221,25 @@ public:
 
     /** The function to draw a WS_DRAW_ITEM_RECT
      */
-    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC );
+    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on one edge of the rectangle
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     /**
      * return true if the point aPosition is on the ending point of this item
      * This is avirtual function which should be overriden for items defien by
      * 2 points
      */
-    virtual bool HitTestEndPoint( const wxPoint& aPosition);
+    virtual bool HitTestEndPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a graphic text.
@@ -255,7 +255,7 @@ public:
 
     /** The function to draw a WS_DRAW_ITEM_TEXT
      */
-    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC );
+    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC ) override;
 
     // Accessors:
     int GetPenWidth() { return GetThickness(); }
@@ -264,12 +264,12 @@ public:
      * Virtual function
      * return true if the point aPosition is on the text
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * return true if the point aPosition is on the starting point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 };
 
 // This class draws a bitmap.
@@ -293,18 +293,18 @@ public:
 
     /** The function to draw a WS_DRAW_ITEM_BITMAP
      */
-    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC );
+    virtual void DrawWsItem( EDA_RECT* aClipBox, wxDC* aDC ) override;
 
     /**
      * Virtual function
      * return true if the point aPosition is on bitmap
      */
-    virtual bool HitTest( const wxPoint& aPosition) const;
+    virtual bool HitTest( const wxPoint& aPosition) const override;
 
     /**
      * return true if the point aPosition is on the reference point of this item.
      */
-    virtual bool HitTestStartPoint( const wxPoint& aPosition);
+    virtual bool HitTestStartPoint( const wxPoint& aPosition) override;
 
     const wxPoint& GetPosition() { return m_pos; }
 };
diff --git a/include/worksheet_viewitem.h b/include/worksheet_viewitem.h
index 23d0aa1..765dd57 100644
--- a/include/worksheet_viewitem.h
+++ b/include/worksheet_viewitem.h
@@ -115,17 +115,17 @@ public:
     }
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewDraw()
-    virtual void ViewDraw( int aLayer, GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
     /// @copydoc EDA_ITEM::Show()
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -133,7 +133,7 @@ public:
     /** Get class name
      * @return  string "WORKSHEET_VIEWITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "WORKSHEET_VIEWITEM" );
     }
diff --git a/include/wxBasePcbFrame.h b/include/wxBasePcbFrame.h
index 75d55b7..156a755 100644
--- a/include/wxBasePcbFrame.h
+++ b/include/wxBasePcbFrame.h
@@ -84,7 +84,7 @@ protected:
 
     void updateGridSelectBox();
     void updateZoomSelectBox();
-    virtual void unitsChangeRefresh();
+    virtual void unitsChangeRefresh() override;
 
     /**
      * Function loadFootprint
@@ -129,18 +129,18 @@ public:
      */
     EDA_RECT    GetBoardBoundingBox( bool aBoardEdgesOnly = false ) const;
 
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings );
-    virtual const PAGE_INFO& GetPageSettings() const;
-    virtual const wxSize GetPageSizeIU() const;
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
+    virtual const PAGE_INFO& GetPageSettings() const override;
+    virtual const wxSize GetPageSizeIU() const override;
 
-    virtual const wxPoint& GetAuxOrigin() const;
-    virtual void SetAuxOrigin( const wxPoint& aPoint );
+    virtual const wxPoint& GetAuxOrigin() const override;
+    virtual void SetAuxOrigin( const wxPoint& aPoint ) override;
 
-    virtual const wxPoint& GetGridOrigin() const;
-    virtual void SetGridOrigin( const wxPoint& aPoint );
+    virtual const wxPoint& GetGridOrigin() const override;
+    virtual void SetGridOrigin( const wxPoint& aPoint ) override;
 
-    virtual const TITLE_BLOCK& GetTitleBlock() const;
-    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock );
+    virtual const TITLE_BLOCK& GetTitleBlock() const override;
+    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
 
     /**
      * Function GetDesignSettings
@@ -158,7 +158,7 @@ public:
      * Must be overloaded in frames which have display options
      * (board editor and footprint editor)
      */
-    virtual void* GetDisplayOptions() { return &m_DisplayOptions; }
+    virtual void* GetDisplayOptions() override { return &m_DisplayOptions; }
 
     const ZONE_SETTINGS& GetZoneSettings() const;
     void SetZoneSettings( const ZONE_SETTINGS& aSettings );
@@ -187,23 +187,23 @@ public:
 
     // General
     virtual void OnCloseWindow( wxCloseEvent& Event ) = 0;
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) { }
-    virtual void ReCreateHToolbar() = 0;
-    virtual void ReCreateVToolbar() = 0;
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) = 0;
-    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) = 0;
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) = 0;
-    virtual void ReCreateMenuBar();
-    virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg );
-    virtual void UpdateStatusBar();
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override { }
+    virtual void ReCreateHToolbar() override = 0;
+    virtual void ReCreateVToolbar() override = 0;
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
+    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override = 0;
+    virtual void ReCreateMenuBar() override;
+    virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg ) override;
+    virtual void UpdateStatusBar() override;
 
-    virtual PCB_SCREEN* GetScreen() const { return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); }
+    virtual PCB_SCREEN* GetScreen() const override { return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); }
 
     /**
      * Function BestZoom
      * @return the "best" zoom to show the entire board or footprint on the screen.
      */
-    virtual double BestZoom();
+    virtual double BestZoom() override;
 
     /**
      * Function GetZoomLevelIndicator
@@ -211,7 +211,7 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    virtual const wxString GetZoomLevelIndicator() const;
+    virtual const wxString GetZoomLevelIndicator() const override;
 
     virtual void Show3D_Frame( wxCommandEvent& event );
 
@@ -260,7 +260,7 @@ public:
     BOARD_ITEM* GetCurItem();
 
     ///> @copydoc EDA_DRAW_FRAME::UpdateMsgPanel()
-    virtual void UpdateMsgPanel();
+    virtual void UpdateMsgPanel() override;
 
     /**
      * Function GetCollectorsGuide
@@ -636,8 +636,8 @@ public:
         return GetScreen()->m_Active_Layer;
     }
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     bool InvokeDialogGrid();
 
@@ -668,18 +668,18 @@ public:
      * Virtual function SetNextGrid()
      * changes the grid size settings to the next one available.
      */
-    virtual void SetNextGrid();
+    virtual void SetNextGrid() override;
 
     /**
      * Virtual function SetPrevGrid()
      * changes the grid size settings to the previous one available.
      */
-    virtual void SetPrevGrid();
+    virtual void SetPrevGrid() override;
 
     void ClearSelection();
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
     /**
      * Function SwitchCanvas
diff --git a/include/wxPcbStruct.h b/include/wxPcbStruct.h
index 3d22ae4..fcd1d33 100644
--- a/include/wxPcbStruct.h
+++ b/include/wxPcbStruct.h
@@ -159,7 +159,7 @@ protected:
      */
     void syncLayerVisibilities();
 
-    virtual void unitsChangeRefresh();
+    virtual void unitsChangeRefresh() override;
 
     /**
      * Function doAutoSave
@@ -168,13 +168,13 @@ protected:
      *
      * @return true if the auto save was successful.
      */
-    virtual bool doAutoSave();
+    virtual bool doAutoSave() override;
 
     /**
      * Function isautoSaveRequired
      * returns true if the board has been modified.
      */
-    virtual bool isAutoSaveRequired() const;
+    virtual bool isAutoSaveRequired() const override;
 
     /**
      * Function duplicateZone
@@ -195,7 +195,7 @@ protected:
      * Duplicate selected item if possible and start a move
      * @param aIncrement increment the item number if appropriate
      */
-    virtual void duplicateItems( bool aIncrement );
+    virtual void duplicateItems( bool aIncrement ) override;
 
     // protected so that PCB::IFACE::CreateWindow() is the only factory.
     PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent );
@@ -230,9 +230,9 @@ public:
      * this is a virtual function called by EDA_DRAW_FRAME::OnSockRequest().
      * @param cmdline = received command from socket
      */
-    virtual void ExecuteRemoteCommand( const char* cmdline );
+    virtual void ExecuteRemoteCommand( const char* cmdline ) override;
 
-    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent );
+    virtual void KiwayMailIn( KIWAY_EXPRESS& aEvent ) override;
 
     /**
      * Function ToPlotter
@@ -294,7 +294,7 @@ public:
      * @param aData = a pointer on an auxiliary data (NULL if not used)
      */
     virtual void PrintPage( wxDC* aDC, LSET aPrintMaskLayer, bool aPrintMirrorMode,
-                            void* aData = NULL );
+                            void* aData = NULL ) override;
 
     void GetKicadAbout( wxCommandEvent& event );
 
@@ -302,7 +302,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -310,22 +310,22 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     /**
      * Function SetGridColor() , virtual
      * @param aColor = the new color of the grid
      */
-    virtual void SetGridColor( EDA_COLOR_T aColor );
+    virtual void SetGridColor( EDA_COLOR_T aColor ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::SetCursorShape()
-    virtual void SetCursorShape( int aCursorShape );
+    virtual void SetCursorShape( int aCursorShape ) override;
 
     // Configurations:
     void Process_Config( wxCommandEvent& event );
@@ -349,7 +349,7 @@ public:
      * saves changes to the project settings to the project (.pro) file.
      * @param aAskForSave = true to open a dialog before saving the settings
      */
-    virtual void SaveProjectSettings( bool aAskForSave );
+    virtual void SaveProjectSettings( bool aAskForSave ) override;
 
     /**
      * Load the current project's file configuration settings which are pertinent
@@ -376,9 +376,9 @@ public:
      */
     PARAM_CFG_ARRAY& GetConfigurationSettings();
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     wxConfigBase* GetSettings() { return config(); };
 
@@ -403,7 +403,7 @@ public:
     void SetLastNetListRead( const wxString& aNetListFile );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -414,7 +414,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     /**
      * Function OnHotkeyDeleteItem
@@ -499,7 +499,7 @@ public:
      */
     TRACK * OnHotkeyBeginRoute( wxDC* aDC );
 
-    virtual void OnCloseWindow( wxCloseEvent& Event );
+    virtual void OnCloseWindow( wxCloseEvent& Event ) override;
     void Process_Special_Functions( wxCommandEvent& event );
     void Tracks_and_Vias_Size_Event( wxCommandEvent& event );
     void OnSelectTool( wxCommandEvent& aEvent );
@@ -514,13 +514,13 @@ public:
     void ProcessMuWaveFunctions( wxCommandEvent& event );
     void MuWaveCommand( wxDC* DC, const wxPoint& MousePos );
 
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    virtual void ReCreateHToolbar();
-    virtual void ReCreateAuxiliaryToolbar();
-    virtual void ReCreateVToolbar();
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    virtual void ReCreateHToolbar() override;
+    virtual void ReCreateAuxiliaryToolbar() override;
+    virtual void ReCreateVToolbar() override;
     void ReCreateMicrowaveVToolbar();
     void ReCreateOptToolbar();
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
 
     /**
      * Re create the layer Box by clearing the old list, and building
@@ -552,14 +552,14 @@ public:
      * to update auxiliary information.
      * </p>
      */
-    virtual void OnModify();
+    virtual void OnModify() override;
 
     /**
      * Function SetActiveLayer
      * will change the currently active layer to \a aLayer and also
      * update the PCB_LAYER_WIDGET.
      */
-    virtual void SetActiveLayer( LAYER_ID aLayer );
+    virtual void SetActiveLayer( LAYER_ID aLayer ) override;
 
     /**
      * Function IsElementVisible
@@ -597,12 +597,12 @@ public:
      * Function Show3D_Frame
      * displays the 3D view of current printed circuit board.
      */
-    virtual void Show3D_Frame( wxCommandEvent& event );
+    virtual void Show3D_Frame( wxCommandEvent& event ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /**
      * Function ShowDesignRulesEditor
@@ -615,8 +615,8 @@ public:
     void PrepareLayerIndicator();
 
     /* mouse functions events: */
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
-    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
+    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnRightClick
@@ -625,10 +625,10 @@ public:
      * @param aMousePos The current mouse position
      * @param aPopMenu The menu to add to.
      */
-    virtual bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu );
+    virtual bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
 
     void OnSelectOptionToolbar( wxCommandEvent& event );
-    virtual void ToolOnRightClick( wxCommandEvent& event );
+    virtual void ToolOnRightClick( wxCommandEvent& event ) override;
 
     /**
      * Function SaveCopyInUndoList.
@@ -641,7 +641,7 @@ public:
      */
     virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
                                      UNDO_REDO_T aTypeCommand,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override;
 
     /**
      * Function SaveCopyInUndoList (overloaded).
@@ -654,7 +654,7 @@ public:
      */
     virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
                                      UNDO_REDO_T aTypeCommand,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override;
 
     /**
      * Function PutDataInPreviousState
@@ -677,7 +677,7 @@ public:
      *  - Get an old version of the board from Redo list
      *  @return none
      */
-    virtual void RestoreCopyFromRedoList( wxCommandEvent& aEvent );
+    virtual void RestoreCopyFromRedoList( wxCommandEvent& aEvent ) override;
 
     /**
      * Function RestoreCopyFromUndoList
@@ -686,7 +686,7 @@ public:
      *  - Get an old version of the board from Undo list
      *  @return none
      */
-    virtual void RestoreCopyFromUndoList( wxCommandEvent& aEvent );
+    virtual void RestoreCopyFromUndoList( wxCommandEvent& aEvent ) override;
 
     /* Block operations: */
 
@@ -698,7 +698,7 @@ public:
      * @param aKey = the key modifiers (Alt, Shift ...)
      * @return the block command id (BLOCK_MOVE, BLOCK_COPY...)
      */
-    virtual int BlockCommand( EDA_KEY aKey );
+    virtual int BlockCommand( EDA_KEY aKey ) override;
 
     /**
      * Function HandleBlockPlace()
@@ -707,7 +707,7 @@ public:
      * (bloc move, drag, copy .. )
      * Parameters must be initialized in GetScreen()->m_BlockLocate
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd()
@@ -719,7 +719,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     /**
      * Function Block_SelectItems
@@ -861,7 +861,7 @@ public:
     bool LoadOnePcbFile( const wxString& aFileName, bool aAppend = false,
                          bool aForceFileDialog = false );
      */
-    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 );
+    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl = 0 ) override;
 
     /**
      * Function AppendBoardFile
@@ -907,10 +907,10 @@ public:
     bool Clear_Pcb( bool aQuery );
 
     ///> @copydoc PCB_BASE_FRAME::SetBoard()
-    virtual void SetBoard( BOARD* aBoard );
+    virtual void SetBoard( BOARD* aBoard ) override;
 
     ///> @copydoc PCB_BASE_FRAME::SetPageSettings()
-    virtual void SetPageSettings( const PAGE_INFO& aPageSettings );
+    virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
 
     // Drc control
 
@@ -1138,7 +1138,7 @@ public:
      * @param aDC = the current device context
      * @param aItem = a pointer to the BOARD_ITEM to edit
      */
-    virtual void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem );
+    virtual void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem ) override;
 
     /**
      * Locate track or pad and highlight the corresponding net.
@@ -1288,7 +1288,7 @@ public:
     bool MergeCollinearTracks( TRACK* track, wxDC* DC, int end );
 
     void Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC );
-    virtual void SwitchLayer( wxDC* DC, LAYER_ID layer );
+    virtual void SwitchLayer( wxDC* DC, LAYER_ID layer ) override;
 
     /**
      * Function Add45DegreeSegment
@@ -1666,7 +1666,7 @@ public:
 
     void Begin_Self( wxDC* DC );
 
-    virtual void ShowChangedLanguage();
+    virtual void ShowChangedLanguage() override;
 
     /**
      * Function UpdateTitle
diff --git a/include/wxstruct.h b/include/wxstruct.h
index fc29e7e..990885f 100644
--- a/include/wxstruct.h
+++ b/include/wxstruct.h
@@ -205,9 +205,9 @@ public:
      * @warning If you override this function in a derived class, make sure you call
      *          down to this or the auto save feature will be disabled.
      */
-    virtual bool ProcessEvent( wxEvent& aEvent );
+    virtual bool ProcessEvent( wxEvent& aEvent ) override;
 
-    virtual bool Enable( bool enable );
+    virtual bool Enable( bool enable ) override;
 
     void SetAutoSaveInterval( int aInterval ) { m_autoSaveInterval = aInterval; }
 
diff --git a/kicad/class_treeprojectfiles.h b/kicad/class_treeprojectfiles.h
index 7070a8b..73e9594 100644
--- a/kicad/class_treeprojectfiles.h
+++ b/kicad/class_treeprojectfiles.h
@@ -56,7 +56,7 @@ public:
     TREEPROJECTFILES( TREE_PROJECT_FRAME* parent );
     ~TREEPROJECTFILES();
 private:
-    virtual int OnCompareItems( const wxTreeItemId& item1, const wxTreeItemId& item2 );
+    virtual int OnCompareItems( const wxTreeItemId& item1, const wxTreeItemId& item2 ) override;
 };
 
 #endif  // CLASS_TREEPROJECTFILES_H
diff --git a/kicad/dialogs/dialog_template_selector.h b/kicad/dialogs/dialog_template_selector.h
index 5b18eb0..76201f3 100644
--- a/kicad/dialogs/dialog_template_selector.h
+++ b/kicad/dialogs/dialog_template_selector.h
@@ -119,10 +119,10 @@ private:
     void replaceCurrentPage();
 
     void onNotebookResize( wxSizeEvent& event );
-    virtual void OnPageChange( wxNotebookEvent& event );
-    virtual void onDirectoryBrowseClicked( wxCommandEvent& event );
-    virtual void onValidatePath( wxCommandEvent& event );
-    virtual void OnHtmlLinkActivated( wxHtmlLinkEvent& event );
+    virtual void OnPageChange( wxNotebookEvent& event ) override;
+    virtual void onDirectoryBrowseClicked( wxCommandEvent& event ) override;
+    virtual void onValidatePath( wxCommandEvent& event ) override;
+    virtual void OnHtmlLinkActivated( wxHtmlLinkEvent& event ) override;
 };
 
 #endif
diff --git a/kicad/kicad.cpp b/kicad/kicad.cpp
index 92ec661..e43afa7 100644
--- a/kicad/kicad.cpp
+++ b/kicad/kicad.cpp
@@ -264,7 +264,7 @@ struct APP_KICAD : public wxApp
     }
 #endif
 
-    virtual bool OnInit()
+    virtual bool OnInit() override
     {
         // if( Kiways.OnStart( this ) )
         {
@@ -273,7 +273,7 @@ struct APP_KICAD : public wxApp
         return false;
     }
 
-    virtual int  OnExit()
+    virtual int  OnExit() override
     {
         // Kiways.OnEnd();
 
@@ -282,7 +282,7 @@ struct APP_KICAD : public wxApp
         return wxApp::OnExit();
     }
 
-    virtual int OnRun()
+    virtual int OnRun() override
     {
         try
         {
diff --git a/kicad/kicad.h b/kicad/kicad.h
index c4a75a4..ff669bb 100644
--- a/kicad/kicad.h
+++ b/kicad/kicad.h
@@ -188,7 +188,7 @@ public:
 
     void Process_Config( wxCommandEvent& event );
 
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
     void RecreateBaseHToolbar();
 
     /**
@@ -221,9 +221,9 @@ public:
 
     void CreateNewProject( const wxString& aPrjFullFileName, bool aTemplateSelector );
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function Execute
@@ -246,7 +246,7 @@ public:
         {
         }
 
-        virtual void OnTerminate( int pid, int status );
+        virtual void OnTerminate( int pid, int status ) override;
     };
 
     /**
@@ -278,11 +278,11 @@ public:
 
 private:
 
-    virtual wxConfigBase* config();
+    virtual wxConfigBase* config() override;
 
-    virtual const SEARCH_STACK& sys_search();
+    virtual const SEARCH_STACK& sys_search() override;
 
-    virtual wxString help_name();
+    virtual wxString help_name() override;
 
     TREE_PROJECT_FRAME* m_LeftWin;
     LAUNCHER_PANEL*     m_Launcher;
diff --git a/kicad/pgm_kicad.h b/kicad/pgm_kicad.h
index e73dc4d..5efd760 100644
--- a/kicad/pgm_kicad.h
+++ b/kicad/pgm_kicad.h
@@ -49,9 +49,9 @@ public:
         destroy();
     }
 
-    virtual bool OnPgmInit( wxApp* aWxApp );
-    virtual void OnPgmExit();
-    virtual void MacOpenFile( const wxString& aFileName );
+    virtual bool OnPgmInit( wxApp* aWxApp ) override;
+    virtual void OnPgmExit() override;
+    virtual void MacOpenFile( const wxString& aFileName ) override;
 
     wxFileHistory&  GetFileHistory()            { return m_bm.m_history; }
 
diff --git a/lib_dxf/drw_entities.h b/lib_dxf/drw_entities.h
index 7f7b085..211c54d 100644
--- a/lib_dxf/drw_entities.h
+++ b/lib_dxf/drw_entities.h
@@ -159,7 +159,7 @@ public:
         thickness = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     void parseCode( int code, dxfReader* reader );
 
@@ -183,7 +183,7 @@ public:
         secPoint.z = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -232,7 +232,7 @@ public:
         radious = 0.0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -255,7 +255,7 @@ public:
         endangle    = 0.0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -284,7 +284,7 @@ public:
 
     void            parseCode( int code, dxfReader* reader );
     void            toPolyline( DRW_Polyline* pol, int parts = 128 );
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            correctAxis();
 
 public:
@@ -309,7 +309,7 @@ public:
         fourPoint.z     = 0;
     }
 
-    virtual void    applyExtrusion();
+    virtual void    applyExtrusion() override;
     void            parseCode( int code, dxfReader* reader );
 
 public:
@@ -347,7 +347,7 @@ public:
         invisibleflag = 0;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -370,7 +370,7 @@ public:
         name    = "*U0";
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -400,7 +400,7 @@ public:
         rowspace    = 0;
     }
 
-    virtual void applyExtrusion() { DRW_Point::applyExtrusion(); }
+    virtual void applyExtrusion() override { DRW_Point::applyExtrusion(); }
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -442,7 +442,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion();
+    virtual void applyExtrusion() override;
 
     void addVertex( DRW_Vertex2D v )
     {
@@ -521,7 +521,7 @@ public:
         height  = 0.0;
     }
 
-    virtual void applyExtrusion() {}    // RLZ TODO
+    virtual void applyExtrusion() override {}    // RLZ TODO
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -715,7 +715,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     void parseCode( int code, dxfReader* reader );
 
@@ -820,7 +820,7 @@ public:
         looplist.push_back( v );
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -988,7 +988,7 @@ public:
 
     void parseCode( int code, dxfReader* reader );
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
 
     DRW_Coord getDefPoint() const { return defPoint; }      /*!< Definition point, code 10, 20 & 30 */
     void setDefPoint( const DRW_Coord& p ) { defPoint = p; }
@@ -1280,7 +1280,7 @@ public:
         }
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
@@ -1324,7 +1324,7 @@ public:
         centerPY    = 97.5;
     }
 
-    virtual void applyExtrusion() {}
+    virtual void applyExtrusion() override {}
     void parseCode( int code, dxfReader* reader );
 
 public:
diff --git a/lib_dxf/intern/drw_textcodec.h b/lib_dxf/intern/drw_textcodec.h
index 1a8c56a..d6a8977 100644
--- a/lib_dxf/intern/drw_textcodec.h
+++ b/lib_dxf/intern/drw_textcodec.h
@@ -56,8 +56,8 @@ class DRW_ConvTable : public DRW_Converter
 {
 public:
     DRW_ConvTable( const int* t, int l ) : DRW_Converter( t, l ) {}
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 };
 
 class DRW_ConvDBCSTable : public DRW_Converter
@@ -70,8 +70,8 @@ public:
         doubleTable = dt;
     }
 
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 
 private:
     const int* leadTable;
@@ -88,8 +88,8 @@ public:
         doubleTable = dt;
     }
 
-    virtual std::string fromUtf8( std::string* s );
-    virtual std::string toUtf8( std::string* s );
+    virtual std::string fromUtf8( std::string* s ) override;
+    virtual std::string toUtf8( std::string* s ) override;
 
 private:
     const int* leadTable;
diff --git a/lib_dxf/intern/dxfreader.h b/lib_dxf/intern/dxfreader.h
index 8452449..0049378 100644
--- a/lib_dxf/intern/dxfreader.h
+++ b/lib_dxf/intern/dxfreader.h
@@ -73,14 +73,14 @@ class dxfReaderBinary : public dxfReader
 public:
     dxfReaderBinary( std::ifstream* stream ) : dxfReader( stream ) {}
     virtual ~dxfReaderBinary() {}
-    virtual bool    readCode( int* code );
-    virtual bool    readString( std::string* text );
-    virtual bool    readString();
-    virtual bool    readInt();
-    virtual bool    readInt32();
-    virtual bool    readInt64();
-    virtual bool    readDouble();
-    virtual bool    readBool();
+    virtual bool    readCode( int* code ) override;
+    virtual bool    readString( std::string* text ) override;
+    virtual bool    readString() override;
+    virtual bool    readInt() override;
+    virtual bool    readInt32() override;
+    virtual bool    readInt64() override;
+    virtual bool    readDouble() override;
+    virtual bool    readBool() override;
 };
 
 class dxfReaderAscii : public dxfReader
@@ -88,14 +88,14 @@ class dxfReaderAscii : public dxfReader
 public:
     dxfReaderAscii( std::ifstream* stream ) : dxfReader( stream ) {}
     virtual ~dxfReaderAscii() {}
-    virtual bool    readCode( int* code );
-    virtual bool    readString( std::string* text );
-    virtual bool    readString();
-    virtual bool    readInt();
-    virtual bool    readDouble();
-    virtual bool    readInt32();
-    virtual bool    readInt64();
-    virtual bool    readBool();
+    virtual bool    readCode( int* code ) override;
+    virtual bool    readString( std::string* text ) override;
+    virtual bool    readString() override;
+    virtual bool    readInt() override;
+    virtual bool    readDouble() override;
+    virtual bool    readInt32() override;
+    virtual bool    readInt64() override;
+    virtual bool    readBool() override;
 };
 
 #endif    // DXFREADER_H
diff --git a/lib_dxf/intern/dxfwriter.h b/lib_dxf/intern/dxfwriter.h
index cd9f0bb..50d99a2 100644
--- a/lib_dxf/intern/dxfwriter.h
+++ b/lib_dxf/intern/dxfwriter.h
@@ -47,12 +47,12 @@ class dxfWriterBinary : public dxfWriter
 public:
     dxfWriterBinary( std::ofstream* stream ) : dxfWriter( stream ) {}
     virtual ~dxfWriterBinary() {}
-    virtual bool    writeString( int code, std::string text );
-    virtual bool    writeInt16( int code, int data );
-    virtual bool    writeInt32( int code, int data );
-    virtual bool    writeInt64( int code, unsigned long long int data );
-    virtual bool    writeDouble( int code, double data );
-    virtual bool    writeBool( int code, bool data );
+    virtual bool    writeString( int code, std::string text ) override;
+    virtual bool    writeInt16( int code, int data ) override;
+    virtual bool    writeInt32( int code, int data ) override;
+    virtual bool    writeInt64( int code, unsigned long long int data ) override;
+    virtual bool    writeDouble( int code, double data ) override;
+    virtual bool    writeBool( int code, bool data ) override;
 };
 
 class dxfWriterAscii : public dxfWriter
@@ -60,12 +60,12 @@ class dxfWriterAscii : public dxfWriter
 public:
     dxfWriterAscii( std::ofstream* stream ) : dxfWriter( stream ) {}
     virtual ~dxfWriterAscii() {}
-    virtual bool    writeString( int code, std::string text );
-    virtual bool    writeInt16( int code, int data );
-    virtual bool    writeInt32( int code, int data );
-    virtual bool    writeInt64( int code, unsigned long long int data );
-    virtual bool    writeDouble( int code, double data );
-    virtual bool    writeBool( int code, bool data );
+    virtual bool    writeString( int code, std::string text ) override;
+    virtual bool    writeInt16( int code, int data ) override;
+    virtual bool    writeInt32( int code, int data ) override;
+    virtual bool    writeInt64( int code, unsigned long long int data ) override;
+    virtual bool    writeDouble( int code, double data ) override;
+    virtual bool    writeBool( int code, bool data ) override;
 };
 
 #endif    // DXFWRITER_H
diff --git a/pagelayout_editor/class_pl_editor_screen.h b/pagelayout_editor/class_pl_editor_screen.h
index da22784..f19c42e 100644
--- a/pagelayout_editor/class_pl_editor_screen.h
+++ b/pagelayout_editor/class_pl_editor_screen.h
@@ -48,14 +48,14 @@ public:
 
     ~PL_EDITOR_SCREEN();
 
-    virtual int MilsToIuScalar();
+    virtual int MilsToIuScalar() override;
 
     /**
      * Function ClearUndoORRedoList
      * virtual pure in BASE_SCREEN, so it must be defined here
      */
 
-    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 );
+    virtual void ClearUndoORRedoList( UNDO_REDO_CONTAINER& aList, int aItemCount = -1 ) override;
     /**
      * Function GetCurItem
      * returns the currently selected WORKSHEET_DATAITEM, overriding
diff --git a/pagelayout_editor/design_tree_frame.h b/pagelayout_editor/design_tree_frame.h
index 4789ccc..e8c9b84 100644
--- a/pagelayout_editor/design_tree_frame.h
+++ b/pagelayout_editor/design_tree_frame.h
@@ -82,7 +82,7 @@ public:
     ~DESIGN_TREE_FRAME();
 
     void    ReCreateDesignTree();
-    virtual wxSize  GetMinSize() const;
+    virtual wxSize  GetMinSize() const override;
 
     /** @return the page layout item managed by the cell
      */
diff --git a/pagelayout_editor/dialogs/dialog_new_dataitem.cpp b/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
index ff597ee..4000907 100644
--- a/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
+++ b/pagelayout_editor/dialogs/dialog_new_dataitem.cpp
@@ -43,8 +43,8 @@ public:
     DIALOG_NEW_DATAITEM( PL_EDITOR_FRAME* aCaller, WORKSHEET_DATAITEM* aItem );
 
 private:
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnOKClick( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnOKClick( wxCommandEvent& event ) override;
 
     void initDlg();
 };
diff --git a/pagelayout_editor/dialogs/dialogs_for_printing.cpp b/pagelayout_editor/dialogs/dialogs_for_printing.cpp
index 19cdc0e..eb3ef05 100644
--- a/pagelayout_editor/dialogs/dialogs_for_printing.cpp
+++ b/pagelayout_editor/dialogs/dialogs_for_printing.cpp
@@ -55,9 +55,9 @@ public:
         m_parent = aParent;
     }
 
-    virtual bool OnPrintPage( int aPageNum );
-    virtual bool HasPage( int aPageNum ) { return ( aPageNum <= 2 ); }
-    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    virtual bool OnPrintPage( int aPageNum ) override;
+    virtual bool HasPage( int aPageNum ) override { return ( aPageNum <= 2 ); }
+    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
     void DrawPage( int aPageNum );
 };
 
@@ -77,7 +77,7 @@ public:
         m_parent = aParent;
     }
 
-    virtual bool Show( bool show )
+    virtual bool Show( bool show ) override
     {
         bool        ret;
 
diff --git a/pagelayout_editor/pl_editor.cpp b/pagelayout_editor/pl_editor.cpp
index 6d17b0a..2ab8a62 100644
--- a/pagelayout_editor/pl_editor.cpp
+++ b/pagelayout_editor/pl_editor.cpp
@@ -51,11 +51,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -84,7 +84,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/pagelayout_editor/pl_editor_frame.h b/pagelayout_editor/pl_editor_frame.h
index 066841b..b05c9cf 100644
--- a/pagelayout_editor/pl_editor_frame.h
+++ b/pagelayout_editor/pl_editor_frame.h
@@ -76,7 +76,7 @@ public:
     PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent );
     ~PL_EDITOR_FRAME();
 
-    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl );
+    virtual bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl ) override;
 
     /**
      * Function LoadPageLayoutDescrFile
@@ -103,12 +103,12 @@ public:
     void    OnCloseWindow( wxCloseEvent& Event );
 
     // Virtual basic functions:
-    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    virtual void    ReCreateHToolbar();
+    virtual void    RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    virtual void    ReCreateHToolbar() override;
 
-    virtual void SetPageSettings(const PAGE_INFO&);
-    virtual const PAGE_INFO& GetPageSettings () const;
-    virtual const wxSize GetPageSizeIU() const;
+    virtual void SetPageSettings(const PAGE_INFO&) override;
+    virtual const PAGE_INFO& GetPageSettings () const override;
+    virtual const wxSize GetPageSizeIU() const override;
 
     /**
      * Function GetZoomLevelIndicator
@@ -116,33 +116,33 @@ public:
      * level indicator in dialogs.
      * Virtual from the base class
      */
-    virtual const wxString GetZoomLevelIndicator() const;
+    virtual const wxString GetZoomLevelIndicator() const override;
 
-    virtual PL_EDITOR_SCREEN* GetScreen() const
+    virtual PL_EDITOR_SCREEN* GetScreen() const override
     {
         return (PL_EDITOR_SCREEN*) EDA_DRAW_FRAME::GetScreen();
     }
 
-    virtual const wxPoint& GetAuxOrigin() const
+    virtual const wxPoint& GetAuxOrigin() const override
     {
         static wxPoint dummy;   // ( 0,0 );
         return dummy;
     }
-    virtual void SetAuxOrigin( const wxPoint& aPosition ) {}
+    virtual void SetAuxOrigin( const wxPoint& aPosition ) override {}
 
-    virtual const wxPoint& GetGridOrigin() const
+    virtual const wxPoint& GetGridOrigin() const override
     {
         return m_grid_origin;
     }
-    virtual void SetGridOrigin( const wxPoint& aPoint )
+    virtual void SetGridOrigin( const wxPoint& aPoint ) override
     {
         m_grid_origin = aPoint;
     }
 
-    virtual const TITLE_BLOCK& GetTitleBlock() const;
-    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock );
+    virtual const TITLE_BLOCK& GetTitleBlock() const override;
+    virtual void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
 
-    virtual void UpdateStatusBar();
+    virtual void UpdateStatusBar() override;
 
     /**
      * Must be called to initialize parameters when a new page layout
@@ -154,7 +154,7 @@ public:
      * creates or updates the right vertical toolbar.
      * @note This is currently not used.
      */
-    virtual void    ReCreateVToolbar();
+    virtual void    ReCreateVToolbar() override;
 
     /**
      * Create or update the left vertical toolbar (option toolbar
@@ -162,11 +162,11 @@ public:
      */
     void    ReCreateOptToolbar();
 
-    virtual void    ReCreateMenuBar();
-    virtual void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos );
-    virtual void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos );
-    virtual bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu );
-    virtual double  BestZoom();
+    virtual void    ReCreateMenuBar() override;
+    virtual void    OnLeftClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    virtual void    OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos ) override;
+    virtual bool    OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
+    virtual double  BestZoom() override;
 
     // Events created by clicking on the design tree list:
     void OnTreeSelection( wxTreeEvent& event );
@@ -204,9 +204,9 @@ public:
      */
     PARAM_CFG_ARRAY&    GetConfigurationSettings( void );
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
 
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     void                Process_Special_Functions( wxCommandEvent& event );
     void                OnSelectOptionToolbar( wxCommandEvent& event );
@@ -237,7 +237,7 @@ public:
     void                OnQuit( wxCommandEvent& event );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey.
@@ -248,7 +248,7 @@ public:
      * @param aPosition The cursor position in logical (drawing) units.
      * @param aItem = NULL or pointer on a EDA_ITEM under the mouse cursor
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     void                Process_Settings( wxCommandEvent& event );
     void                Process_Config( wxCommandEvent& event );
@@ -267,7 +267,7 @@ public:
     void                ToPrinter( wxCommandEvent& event );
 
     void                Files_io( wxCommandEvent& event );
-    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     /** Virtual function PrintPage
      * used to print a page
@@ -277,7 +277,7 @@ public:
      * @param aData = a pointer on an auxiliary data (not always used, NULL if not used)
      */
     virtual void    PrintPage( wxDC* aDC, LSET aPrintMasklayer,
-                               bool aPrintMirrorMode, void * aData );
+                               bool aPrintMirrorMode, void * aData ) override;
 
     void OnFileHistory( wxCommandEvent& event );
 
diff --git a/pagelayout_editor/pl_editor_undo_redo.cpp b/pagelayout_editor/pl_editor_undo_redo.cpp
index de00b81..387ffb2 100644
--- a/pagelayout_editor/pl_editor_undo_redo.cpp
+++ b/pagelayout_editor/pl_editor_undo_redo.cpp
@@ -55,13 +55,13 @@ public:
 
     // Required to keep compiler happy on debug builds.
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const {}
+    virtual void Show( int nestLevel, std::ostream& os ) const override {}
 #endif
 
     /** Get class name
      * @return  string "PL_ITEM_LAYOUT"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "PL_ITEM_LAYOUT" );
     }
diff --git a/pagelayout_editor/properties_frame.h b/pagelayout_editor/properties_frame.h
index 18760f1..a8d564d 100644
--- a/pagelayout_editor/properties_frame.h
+++ b/pagelayout_editor/properties_frame.h
@@ -48,8 +48,8 @@ public:
     ~PROPERTIES_FRAME();
 
     // Event functions
-    virtual void OnAcceptPrms( wxCommandEvent& event );
-    virtual void OnSetDefaultValues( wxCommandEvent& event );
+    virtual void OnAcceptPrms( wxCommandEvent& event ) override;
+    virtual void OnSetDefaultValues( wxCommandEvent& event ) override;
 
 
     // Data transfert from general properties to widgets
@@ -64,7 +64,7 @@ public:
     // Data transfert from widgets in properties frame to item
     bool CopyPrmsFromPanelToItem( WORKSHEET_DATAITEM* aItem );
 
-    virtual wxSize GetMinSize() const;
+    virtual wxSize GetMinSize() const override;
 };
 
 #endif /* _PROPERTIES_FRAME_H */
diff --git a/pcb_calculator/UnitSelector.h b/pcb_calculator/UnitSelector.h
index d5adea0..c402624 100644
--- a/pcb_calculator/UnitSelector.h
+++ b/pcb_calculator/UnitSelector.h
@@ -70,7 +70,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (meter)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_THICKNESS: public UNIT_SELECTOR
@@ -85,7 +85,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (meter) including oz/ft^2
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_FREQUENCY: public UNIT_SELECTOR
@@ -100,7 +100,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_ANGLE: public UNIT_SELECTOR
@@ -115,7 +115,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 class UNIT_SELECTOR_RESISTOR: public UNIT_SELECTOR
@@ -130,7 +130,7 @@ public:
      * @return the scaling factor to convert users units
      * to normalized units (Hz)
      */
-    virtual double GetUnitScale();
+    virtual double GetUnitScale() override;
 };
 
 #endif  // _UnitSelector_h_
diff --git a/pcb_calculator/attenuators/attenuator_classes.h b/pcb_calculator/attenuators/attenuator_classes.h
index 7e8e895..34a8517 100644
--- a/pcb_calculator/attenuators/attenuator_classes.h
+++ b/pcb_calculator/attenuators/attenuator_classes.h
@@ -79,7 +79,7 @@ class ATTENUATOR_PI : public ATTENUATOR
 public:
     ATTENUATOR_PI();
     ~ATTENUATOR_PI(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_TEE : public ATTENUATOR
@@ -87,7 +87,7 @@ class ATTENUATOR_TEE : public ATTENUATOR
 public:
     ATTENUATOR_TEE();
     ~ATTENUATOR_TEE(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_BRIDGE : public ATTENUATOR
@@ -95,7 +95,7 @@ class ATTENUATOR_BRIDGE : public ATTENUATOR
 public:
     ATTENUATOR_BRIDGE();
     ~ATTENUATOR_BRIDGE(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 class ATTENUATOR_SPLITTER : public ATTENUATOR
@@ -103,7 +103,7 @@ class ATTENUATOR_SPLITTER : public ATTENUATOR
 public:
     ATTENUATOR_SPLITTER();
     ~ATTENUATOR_SPLITTER(){};
-    virtual bool Calculate();
+    virtual bool Calculate() override;
 };
 
 #endif  // ATTENUATORFUNC_H
diff --git a/pcb_calculator/pcb_calculator.cpp b/pcb_calculator/pcb_calculator.cpp
index 9ca2972..aba7fee 100644
--- a/pcb_calculator/pcb_calculator.cpp
+++ b/pcb_calculator/pcb_calculator.cpp
@@ -55,11 +55,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         switch( aClassId )
         {
@@ -85,7 +85,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/pcb_calculator/pcb_calculator.h b/pcb_calculator/pcb_calculator.h
index 651b725..a0db2a7 100644
--- a/pcb_calculator/pcb_calculator.h
+++ b/pcb_calculator/pcb_calculator.h
@@ -78,16 +78,16 @@ public:
 private:
 
     // Event handlers
-    virtual void OnClosePcbCalc( wxCloseEvent& event );
+    virtual void OnClosePcbCalc( wxCloseEvent& event ) override;
 
     // These 3 functions are called by the OnPaint event, to draw
     // icons that show the current item on the specific panels
-    virtual void OnPaintTranslinePanel( wxPaintEvent& event );
-    virtual void OnPaintAttenuatorPanel( wxPaintEvent& event );
+    virtual void OnPaintTranslinePanel( wxPaintEvent& event ) override;
+    virtual void OnPaintAttenuatorPanel( wxPaintEvent& event ) override;
 
     // Config read-write, virtual from EDA_BASE_FRAME
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     // R/W data files:
     bool ReadDataFile();
@@ -124,28 +124,28 @@ private:
      * Called when the user changes the general parameters (i.e., anything that
      * is not one of the controlling values). This update the calculations.
      */
-    virtual void OnTWParametersChanged( wxCommandEvent& event );
+    virtual void OnTWParametersChanged( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromCurrent
      * Called when the user changes the desired maximum current. This sets the
      * current as the controlling value and performs the calculations.
      */
-    virtual void OnTWCalculateFromCurrent( wxCommandEvent& event );
+    virtual void OnTWCalculateFromCurrent( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromExtWidth
      * Called when the user changes the desired external trace width. This sets
      * the external width as the controlling value and performs the calculations.
      */
-    virtual void OnTWCalculateFromExtWidth( wxCommandEvent& event );
+    virtual void OnTWCalculateFromExtWidth( wxCommandEvent& event ) override;
 
     /**
      * Function OnTWCalculateFromIntWidth
      * Called when the user changes the desired internal trace width. This sets
      * the internal width as the controlling value and performs the calculations.
      */
-    virtual void OnTWCalculateFromIntWidth( wxCommandEvent& event );
+    virtual void OnTWCalculateFromIntWidth( wxCommandEvent& event ) override;
 
     /**
      * Function TWCalculateWidth
@@ -177,8 +177,8 @@ private:
     void TWUpdateModeDisplay();
 
     // Electrical spacing panel:
-    virtual void OnElectricalSpacingUnitsSelection( wxCommandEvent& event );
-    virtual void OnElectricalSpacingRefresh( wxCommandEvent& event );
+    virtual void OnElectricalSpacingUnitsSelection( wxCommandEvent& event ) override;
+    virtual void OnElectricalSpacingRefresh( wxCommandEvent& event ) override;
     void ElectricalSpacingUpdateData( double aUnitScale );
 
     // Transline functions:
@@ -186,42 +186,42 @@ private:
      * Function OnTranslineSelection
      * Called on new transmission line selection
     */
-    virtual void OnTranslineSelection( wxCommandEvent& event );
+    virtual void OnTranslineSelection( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineAnalyse
      * Run a new analyse for the current transline with current parameters
      * and displays the electrical parmeters
      */
-    virtual void OnTranslineAnalyse( wxCommandEvent& event );
+    virtual void OnTranslineAnalyse( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineSynthetize
      * Run a new synthezis for the current transline with current parameters
      * and displays the geometrical parmeters
      */
-    virtual void OnTranslineSynthetize( wxCommandEvent& event );
+    virtual void OnTranslineSynthetize( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineEpsilonR_Button
      * Shows a list of current relative dielectric constant(Er)
      * and set the selected value in main dialog frame
      */
-    virtual void OnTranslineEpsilonR_Button( wxCommandEvent& event );
+    virtual void OnTranslineEpsilonR_Button( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineTanD_Button
      * Shows a list of current dielectric loss factor (tangent delta)
      * and set the selected value in main dialog frame
      */
-    virtual void OnTranslineTanD_Button( wxCommandEvent& event );
+    virtual void OnTranslineTanD_Button( wxCommandEvent& event ) override;
 
     /**
      * Function OnTranslineRho_Button
      * Shows a list of current Specific resistance list (rho)
      * and set the selected value in main dialog frame
      */
-    virtual void OnTranslineRho_Button( wxCommandEvent& event );
+    virtual void OnTranslineRho_Button( wxCommandEvent& event ) override;
 
     /**
      * Function TranslineTypeSelection
@@ -241,25 +241,25 @@ private:
     void TransfDlgDataToTranslineParams();
 
     // Color Code panel
-    virtual void OnToleranceSelection( wxCommandEvent& event );
+    virtual void OnToleranceSelection( wxCommandEvent& event ) override;
     void ToleranceSelection( int aSelection );
 
     // Attenuators Panel
-    virtual void OnAttenuatorSelection( wxCommandEvent& event );
+    virtual void OnAttenuatorSelection( wxCommandEvent& event ) override;
     void SetAttenuator( unsigned aIdx );
-    virtual void OnCalculateAttenuator( wxCommandEvent& event );
+    virtual void OnCalculateAttenuator( wxCommandEvent& event ) override;
     void TransfPanelDataToAttenuator();
     void TransfAttenuatorDataToPanel();
     void TransfAttenuatorResultsToPanel();
 
     // Regulators Panel
-    virtual void OnRegulatorCalcButtonClick( wxCommandEvent& event );
-    virtual void OnRegulTypeSelection( wxCommandEvent& event );
-    virtual void OnRegulatorSelection( wxCommandEvent& event );
-    virtual void OnDataFileSelection( wxCommandEvent& event );
-    virtual void OnAddRegulator( wxCommandEvent& event );
-    virtual void OnEditRegulator( wxCommandEvent& event );
-    virtual void OnRemoveRegulator( wxCommandEvent& event );
+    virtual void OnRegulatorCalcButtonClick( wxCommandEvent& event ) override;
+    virtual void OnRegulTypeSelection( wxCommandEvent& event ) override;
+    virtual void OnRegulatorSelection( wxCommandEvent& event ) override;
+    virtual void OnDataFileSelection( wxCommandEvent& event ) override;
+    virtual void OnAddRegulator( wxCommandEvent& event ) override;
+    virtual void OnEditRegulator( wxCommandEvent& event ) override;
+    virtual void OnRemoveRegulator( wxCommandEvent& event ) override;
 
     /**
      * Function RegulatorPageUpdate:
@@ -315,7 +315,7 @@ public:
     bool   IsPrmSelected( enum PRMS_ID aPrmId );
 
     // Board classes panel:
-    virtual void OnBoardClassesUnitsSelection( wxCommandEvent& event );
+    virtual void OnBoardClassesUnitsSelection( wxCommandEvent& event ) override;
     void BoardClassesUpdateData( double aUnitScale );
 
 };
diff --git a/pcb_calculator/regulators_funct.cpp b/pcb_calculator/regulators_funct.cpp
index 8212a73..c6cda28 100644
--- a/pcb_calculator/regulators_funct.cpp
+++ b/pcb_calculator/regulators_funct.cpp
@@ -49,7 +49,7 @@ public:
     ~DIALOG_EDITOR_DATA() {};
 
     // Event called functions:
-    virtual void OnOKClick( wxCommandEvent& event );
+    virtual void OnOKClick( wxCommandEvent& event ) override;
 
     /**
      * Function IsOK()
@@ -86,7 +86,7 @@ public:
     /**
      * called when the current regulator type is changed
      */
-    virtual void OnRegTypeSelection( wxCommandEvent& event )
+    virtual void OnRegTypeSelection( wxCommandEvent& event ) override
     {
         UpdateDialog();
     }
diff --git a/pcb_calculator/transline/c_microstrip.h b/pcb_calculator/transline/c_microstrip.h
index ff68371..022c81f 100644
--- a/pcb_calculator/transline/c_microstrip.h
+++ b/pcb_calculator/transline/c_microstrip.h
@@ -59,8 +59,8 @@ private:
     double atten_cond_o;        // odd-mode conductors losses (dB)
 
 public:
-    virtual void   analyze();
-    virtual void   synthesize();
+    virtual void   analyze() override;
+    virtual void   synthesize() override;
 
 private:
     double delta_u_thickness_single( double, double );
diff --git a/pcb_calculator/transline/coax.h b/pcb_calculator/transline/coax.h
index 5fe835c..3901410 100644
--- a/pcb_calculator/transline/coax.h
+++ b/pcb_calculator/transline/coax.h
@@ -41,8 +41,8 @@ private:
     double fc;                  // Cutoff frequency for higher order modes
 
 public:
-    virtual void   analyze();
-    virtual void   synthesize();
+    virtual void   analyze() override;
+    virtual void   synthesize() override;
 
 private:
     void   get_coax_sub();
diff --git a/pcb_calculator/transline/coplanar.h b/pcb_calculator/transline/coplanar.h
index e53d29f..5d28752 100644
--- a/pcb_calculator/transline/coplanar.h
+++ b/pcb_calculator/transline/coplanar.h
@@ -42,8 +42,8 @@ private:
     double atten_cond;          // Loss in conductors (dB)
 
 public:
-    virtual void analyze();
-    virtual void synthesize();
+    virtual void analyze() override;
+    virtual void synthesize() override;
 
 protected:
     bool backMetal;
diff --git a/pcb_calculator/transline/microstrip.h b/pcb_calculator/transline/microstrip.h
index 8391b44..0da0adf 100644
--- a/pcb_calculator/transline/microstrip.h
+++ b/pcb_calculator/transline/microstrip.h
@@ -53,8 +53,8 @@ private:
     double Z0_h_1;      // homogeneous stripline impedance
 
 public:
-    virtual void   analyze();
-    virtual void   synthesize();
+    virtual void   analyze() override;
+    virtual void   synthesize() override;
 
 private:
     double er_eff_freq();
diff --git a/pcb_calculator/transline/rectwaveguide.h b/pcb_calculator/transline/rectwaveguide.h
index 3eab2a5..bd42dea 100644
--- a/pcb_calculator/transline/rectwaveguide.h
+++ b/pcb_calculator/transline/rectwaveguide.h
@@ -45,8 +45,8 @@ private:
     double fc10;                // Cutoff frequency for TE10 mode
 
 public:
-    virtual void   analyze();
-    virtual void   synthesize();
+    virtual void   analyze() override;
+    virtual void   synthesize() override;
 
 private:
     double kval_square();
diff --git a/pcb_calculator/transline/stripline.h b/pcb_calculator/transline/stripline.h
index 800f8b0..a6a0673 100644
--- a/pcb_calculator/transline/stripline.h
+++ b/pcb_calculator/transline/stripline.h
@@ -41,8 +41,8 @@ private:
     double atten_cond;          // loss in conductors (dB)
 
 public:
-    virtual void   analyze();
-    virtual void   synthesize();
+    virtual void   analyze() override;
+    virtual void   synthesize() override;
 
 private:
     double lineImpedance( double, double& );
diff --git a/pcb_calculator/transline/twistedpair.h b/pcb_calculator/transline/twistedpair.h
index 7b3bfcb..98687ae 100644
--- a/pcb_calculator/transline/twistedpair.h
+++ b/pcb_calculator/transline/twistedpair.h
@@ -41,8 +41,8 @@ private:
     double atten_cond;          // Loss in conductors (dB)
 
 public:
-    virtual void analyze();
-    virtual void synthesize();
+    virtual void analyze() override;
+    virtual void synthesize() override;
 
 private:
     void calc();
diff --git a/pcbnew/block.cpp b/pcbnew/block.cpp
index 3adc00c..ae41803 100644
--- a/pcbnew/block.cpp
+++ b/pcbnew/block.cpp
@@ -102,12 +102,12 @@ public:
 
 
 private:
-    virtual void ExecuteCommand( wxCommandEvent& event );
-    virtual void OnCancel( wxCommandEvent& event )
+    virtual void ExecuteCommand( wxCommandEvent& event ) override;
+    virtual void OnCancel( wxCommandEvent& event ) override
     {
         EndModal( wxID_CANCEL );
     }
-    virtual void checkBoxClicked( wxCommandEvent& aEvent )
+    virtual void checkBoxClicked( wxCommandEvent& aEvent ) override
     {
         if( m_Include_Modules->GetValue() )
             m_IncludeLockedModules->Enable();
diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp
index 50b5761..7aae345 100644
--- a/pcbnew/class_board.cpp
+++ b/pcbnew/class_board.cpp
@@ -150,7 +150,7 @@ void BOARD::Move( const wxPoint& aMoveVector )        // overload
     // here it does the moving.
     struct MOVER : public INSPECTOR
     {
-        virtual SEARCH_RESULT Inspect( EDA_ITEM* item, const void* data )
+        virtual SEARCH_RESULT Inspect( EDA_ITEM* item, const void* data ) override
         {
             BOARD_ITEM*     brd_item = (BOARD_ITEM*) item;
             const wxPoint*  vector   = (const wxPoint*) data;
@@ -1283,7 +1283,7 @@ MODULE* BOARD::FindModuleByReference( const wxString& aReference ) const
         FINDER() : found( 0 )  {}
 
         // implement interface INSPECTOR
-        virtual SEARCH_RESULT Inspect( EDA_ITEM* item, const void* data )
+        virtual SEARCH_RESULT Inspect( EDA_ITEM* item, const void* data ) override
         {
             MODULE*         module = (MODULE*) item;
             const wxString& ref    = *(const wxString*) data;
diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h
index 0ea9b47..d8cab08 100644
--- a/pcbnew/class_board.h
+++ b/pcbnew/class_board.h
@@ -246,9 +246,9 @@ public:
     BOARD();
     ~BOARD();
 
-    virtual const wxPoint& GetPosition() const;
+    virtual const wxPoint& GetPosition() const override;
 
-    virtual void SetPosition( const wxPoint& aPos );
+    virtual void SetPosition( const wxPoint& aPos ) override;
 
     bool IsEmpty() const
     {
@@ -256,7 +256,7 @@ public:
                m_Track.GetCount() == 0 && m_Zone.GetCount() == 0;
     }
 
-    virtual void Move( const wxPoint& aMoveVector );
+    virtual void Move( const wxPoint& aMoveVector ) override;
 
     void SetFileFormatVersionAtLoad( int aVersion ) { m_fileFormatVersionAtLoad = aVersion; }
     int GetFileFormatVersionAtLoad()  const { return m_fileFormatVersionAtLoad; }
@@ -870,11 +870,11 @@ public:
      * as long as the BOARD has not changed.  Remember, ComputeBoundingBox()'s
      * aBoardEdgesOnly argument is considered in this return value also.
      */
-    virtual const EDA_RECT GetBoundingBox() const { return m_BoundingBox; }
+    virtual const EDA_RECT GetBoundingBox() const override { return m_BoundingBox; }
 
     void SetBoundingBox( const EDA_RECT& aBox ) { m_BoundingBox = aBox; }
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Draw.
@@ -885,7 +885,7 @@ public:
      * @param aOffset = an draw offset value (default = 0,0)
      */
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawHighLight
@@ -912,7 +912,7 @@ public:
      *  else SCAN_CONTINUE, and determined by the inspector.
      */
     virtual SEARCH_RESULT Visit( INSPECTOR* inspector, const void* testData,
-                         const KICAD_T scanTypes[] );
+                         const KICAD_T scanTypes[] ) override;
 
     /**
      * Function FindModuleByReference
@@ -989,13 +989,13 @@ public:
 
     /***************************************************************************/
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "BOARD" );
     }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/class_board_connected_item.h b/pcbnew/class_board_connected_item.h
index 445809f..f80fac7 100644
--- a/pcbnew/class_board_connected_item.h
+++ b/pcbnew/class_board_connected_item.h
@@ -77,7 +77,7 @@ public:
     }
 
     ///> @copydoc BOARD_ITEM::IsConnected()
-    virtual bool IsConnected() const
+    virtual bool IsConnected() const override
     {
         return true;
     }
diff --git a/pcbnew/class_dimension.h b/pcbnew/class_dimension.h
index f804561..326ff9f 100644
--- a/pcbnew/class_dimension.h
+++ b/pcbnew/class_dimension.h
@@ -86,16 +86,16 @@ public:
 
     int GetValue() const { return m_Value; }
 
-    virtual const wxPoint&  GetPosition() const;
+    virtual const wxPoint&  GetPosition() const override;
 
-    virtual void            SetPosition( const wxPoint& aPos );
+    virtual void            SetPosition( const wxPoint& aPos ) override;
 
     void SetTextSize( const wxSize& aTextSize )
     {
         m_Text.SetSize( aTextSize );
     }
 
-    virtual void SetLayer( LAYER_ID aLayer );
+    virtual void SetLayer( LAYER_ID aLayer ) override;
 
     void SetShape( int aShape )         { m_Shape = aShape; }
     int GetShape() const { return m_Shape; }
@@ -185,17 +185,17 @@ public:
     void            Copy( DIMENSION* source );
 
     virtual void    Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-                          GR_DRAWMODE aColorMode, const wxPoint& offset = ZeroOffset );
+                          GR_DRAWMODE aColorMode, const wxPoint& offset = ZeroOffset ) override;
 
     /**
      * Function Move
      * @param offset : moving vector
      */
-    virtual void    Move( const wxPoint& offset );
+    virtual void    Move( const wxPoint& offset ) override;
 
-    virtual void    Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void    Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void    Flip( const wxPoint& aCentre );
+    virtual void    Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function Mirror
@@ -206,34 +206,34 @@ public:
      */
     void            Mirror( const wxPoint& axis_pos );
 
-    virtual void    GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void    GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool    HitTest( const wxPoint& aPosition ) const;
+    virtual bool    HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "DIMENSION" );
     }
 
     // Virtual function
-    virtual const EDA_RECT    GetBoundingBox() const;
+    virtual const EDA_RECT    GetBoundingBox() const override;
 
-    virtual wxString    GetSelectMenuText() const;
+    virtual wxString    GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return add_dimension_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return add_dimension_xpm; }
 
-    virtual EDA_ITEM*   Clone() const;
+    virtual EDA_ITEM*   Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_drawsegment.h b/pcbnew/class_drawsegment.h
index 542e137..634e085 100644
--- a/pcbnew/class_drawsegment.h
+++ b/pcbnew/class_drawsegment.h
@@ -100,8 +100,8 @@ public:
     void SetBezControl2( const wxPoint& aPoint )    { m_BezierC2 = aPoint; }
     const wxPoint& GetBezControl2() const           { return m_BezierC2; }
 
-    virtual void SetPosition( const wxPoint& aPos ) { m_Start = aPos; }
-    virtual const wxPoint& GetPosition() const      { return m_Start; }
+    virtual void SetPosition( const wxPoint& aPos ) override { m_Start = aPos; }
+    virtual const wxPoint& GetPosition() const override      { return m_Start; }
 
     /**
      * Function GetStart
@@ -125,7 +125,7 @@ public:
     // m_Start, m_End, and m_Angle.
     // No Set...() function for these attributes.
 
-    virtual const wxPoint GetCenter() const;
+    virtual const wxPoint GetCenter() const override;
     const wxPoint& GetArcStart() const      { return m_End; }
     const wxPoint GetArcEnd() const;
 
@@ -184,20 +184,20 @@ public:
     void Copy( DRAWSEGMENT* source );
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "DRAWSEGMENT" );
     }
@@ -212,15 +212,15 @@ public:
         return GetLineLength( GetStart(), GetEnd() );
     }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Start += aMoveVector;
         m_End   += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function TransformShapeWithClearanceToPolygon
@@ -239,17 +239,17 @@ public:
                                                int             aCircleToSegmentsCount,
                                                double          aCorrectionFactor ) const;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_dashed_line_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_dashed_line_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_edge_mod.h b/pcbnew/class_edge_mod.h
index 6b0df24..0ee1244 100644
--- a/pcbnew/class_edge_mod.h
+++ b/pcbnew/class_edge_mod.h
@@ -66,7 +66,7 @@ public:
      * This is a footprint shape modification.
      * (should be only called by a footprint editing function)
      */
-    virtual void Move( const wxPoint& aMoveVector );
+    virtual void Move( const wxPoint& aMoveVector ) override;
 
     /**
      * Mirror an edge of the footprint.
@@ -81,7 +81,7 @@ public:
      * This is a footprint shape modification.
      * (should be only called by a footprint editing function )
      */
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
     /**
      * Flip entity relative to aCentre.
@@ -91,7 +91,7 @@ public:
      * not usual to flip an item alone, without flipping the parent footprint.
      * (consider Mirror for a mirror transform).
      */
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     void SetStart0( const wxPoint& aPoint )     { m_Start0 = aPoint; }
     const wxPoint& GetStart0() const            { return m_Start0; }
@@ -116,24 +116,24 @@ public:
 
     /* drawing functions */
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "MGRAPHIC" );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  show_mod_edge_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  show_mod_edge_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     wxPoint m_Start0;       // Start point or center, relative to module origin, orient 0.
diff --git a/pcbnew/class_marker_pcb.h b/pcbnew/class_marker_pcb.h
index b526864..aa56655 100644
--- a/pcbnew/class_marker_pcb.h
+++ b/pcbnew/class_marker_pcb.h
@@ -70,23 +70,23 @@ public:
 
     ~MARKER_PCB();
 
-    virtual void Move(const wxPoint& aMoveVector)
+    virtual void Move(const wxPoint& aMoveVector) override
     {
         m_Pos += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset )
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override
     {
         DrawMarker( aPanel, aDC, aDrawMode, aOffset );
     }
 
-    virtual const wxPoint& GetPosition() const      { return m_Pos; }
-    virtual void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }
+    virtual const wxPoint& GetPosition() const override      { return m_Pos; }
+    virtual void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
 
     void SetItem( const BOARD_ITEM* aItem )
     {
@@ -98,36 +98,36 @@ public:
         return m_item;
     }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return HitTestMarker( aPosition );
     }
 
-    virtual bool IsOnLayer( LAYER_ID aLayer ) const;
+    virtual bool IsOnLayer( LAYER_ID aLayer ) const override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  drc_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  drc_xpm; }
 
     ///> @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const
+    virtual const BOX2I ViewBBox() const override
     {
         return GetParent()->ViewBBox();
     }
 
     ///> @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     /** Get class name
      * @return  string "MARKER_PCB"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "MARKER_PCB" );
     }
diff --git a/pcbnew/class_mire.h b/pcbnew/class_mire.h
index b8a5195..bb00181 100644
--- a/pcbnew/class_mire.h
+++ b/pcbnew/class_mire.h
@@ -56,8 +56,8 @@ public:
 
     ~PCB_TARGET();
 
-    virtual void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }
-    virtual const wxPoint& GetPosition() const      { return m_Pos; }
+    virtual void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
+    virtual const wxPoint& GetPosition() const override      { return m_Pos; }
 
     void SetShape( int aShape )     { m_Shape = aShape; }
     int GetShape() const            { return m_Shape; }
@@ -68,23 +68,23 @@ public:
     void SetWidth( int aWidth )     { m_Width = aWidth; }
     int GetWidth() const            { return m_Width; }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     void Copy( PCB_TARGET* source );
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "PCB_TARGET" );
     }
@@ -92,19 +92,19 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     // Virtual function
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_mires_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_mires_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_module.h b/pcbnew/class_module.h
index aefd2c4..e680d79 100644
--- a/pcbnew/class_module.h
+++ b/pcbnew/class_module.h
@@ -145,7 +145,7 @@ public:
      */
     EDA_RECT GetFootprintRect() const;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     DLIST<D_PAD>& Pads()                        { return m_Pads; }
     const DLIST<D_PAD>& Pads() const            { return m_Pads; }
@@ -156,8 +156,8 @@ public:
     DLIST<S3D_MASTER>& Models()                 { return m_3D_Drawings; }
     const DLIST<S3D_MASTER>& Models() const     { return m_3D_Drawings; }
 
-    virtual void SetPosition( const wxPoint& aPos );
-    virtual const wxPoint& GetPosition() const { return m_Pos; }
+    virtual void SetPosition( const wxPoint& aPos ) override;
+    virtual const wxPoint& GetPosition() const override { return m_Pos; }
 
     void SetOrientation( double newangle );
     double GetOrientation() const { return m_Orient; }
@@ -202,11 +202,11 @@ public:
     void IncrementFlag() { m_arflag += 1; }
     int GetFlag() const { return m_arflag; }
 
-    virtual void Move( const wxPoint& aMoveVector );
+    virtual void Move( const wxPoint& aMoveVector ) override;
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function MoveAnchorPosition
@@ -234,7 +234,7 @@ public:
 #define MODULE_PADS_LOCKED  0x08        ///< In autoplace: module waiting for autoplace
 
 
-    virtual bool IsLocked() const
+    virtual bool IsLocked() const override
     {
         return (m_ModuleStatus & MODULE_is_LOCKED) != 0;
     }
@@ -297,7 +297,7 @@ public:
     virtual void Draw( EDA_DRAW_PANEL* aPanel,
                wxDC*           aDC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  aOffset = ZeroOffset );
+               const wxPoint&  aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawOutlinesWhenMoving
@@ -383,14 +383,14 @@ public:
     void DrawAncre( EDA_DRAW_PANEL* panel, wxDC* DC,
                     const wxPoint& offset, int dim_ancre, GR_DRAWMODE draw_mode );
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function GetReference
@@ -451,7 +451,7 @@ public:
      * Implementation of the generic "reference" incrementing interface
      * Increments the numeric suffix, filling any sequence gaps
      */
-    virtual bool IncrementItemReference();
+    virtual bool IncrementItemReference() override;
 
     /**
      * Function IncrementReference
@@ -547,18 +547,18 @@ public:
     void Add3DModel( S3D_MASTER* a3DModel );
 
     virtual SEARCH_RESULT Visit( INSPECTOR* inspector, const void* testData,
-                         const KICAD_T scanTypes[] );
+                         const KICAD_T scanTypes[] ) override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "MODULE" );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  module_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  module_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /**
      * Function RunOnChildren
@@ -569,16 +569,16 @@ public:
     void RunOnChildren( boost::function<void (BOARD_ITEM*)> aFunction );
 
     /// @copydoc VIEW_ITEM::ViewUpdate()
-    virtual void ViewUpdate( int aUpdateFlags = KIGFX::VIEW_ITEM::ALL );
+    virtual void ViewUpdate( int aUpdateFlags = KIGFX::VIEW_ITEM::ALL ) override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function CopyNetlistSettings
@@ -650,7 +650,7 @@ public:
     const wxArrayString* GetInitialComments() const { return m_initial_comments; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
diff --git a/pcbnew/class_netinfo.h b/pcbnew/class_netinfo.h
index 44e0197..4563e78 100644
--- a/pcbnew/class_netinfo.h
+++ b/pcbnew/class_netinfo.h
@@ -517,22 +517,22 @@ public:
         return aItem && PCB_T == aItem->Type();
     }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "NETINFO_ITEM" );
     }
 
-    virtual void Show( int nestLevel, std::ostream& os ) const
+    virtual void Show( int nestLevel, std::ostream& os ) const override
     {
     }
 
-    virtual const wxPoint& GetPosition() const
+    virtual const wxPoint& GetPosition() const override
     {
         static wxPoint dummy(0, 0);
         return dummy;
     }
 
-    virtual void SetPosition( const wxPoint& aPos )
+    virtual void SetPosition( const wxPoint& aPos ) override
     {
     }
 
@@ -649,7 +649,7 @@ public:
      *       a pads or net name on pad and vias
      */
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC, GR_DRAWMODE aDrawMode,
-               const wxPoint& offset );
+               const wxPoint& offset ) override;
 
     /**
      * Function GetNet
@@ -684,7 +684,7 @@ public:
      *
      * @param aList is the list in which to place the  status information.
      */
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Clear
diff --git a/pcbnew/class_pad.h b/pcbnew/class_pad.h
index ef5a9ba..ca216c9 100644
--- a/pcbnew/class_pad.h
+++ b/pcbnew/class_pad.h
@@ -138,7 +138,7 @@ public:
      * Increments the numeric suffix, filling any sequence gaps and skipping
      * pads that aren't connectable
      */
-    virtual bool IncrementItemReference();
+    virtual bool IncrementItemReference() override;
 
     /**
      * Function IncrementPadName
@@ -162,8 +162,8 @@ public:
     PAD_SHAPE_T GetShape() const                { return m_padShape; }
     void SetShape( PAD_SHAPE_T aShape )         { m_padShape = aShape; m_boundingRadius = -1; }
 
-    virtual void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; }
-    virtual const wxPoint& GetPosition() const      { return m_Pos; }
+    virtual void SetPosition( const wxPoint& aPos ) override { m_Pos = aPos; }
+    virtual const wxPoint& GetPosition() const override      { return m_Pos; }
 
     void SetY( int y )                          { m_Pos.y = y; }
     void SetX( int x )                          { m_Pos.x = x; }
@@ -187,7 +187,7 @@ public:
     const wxPoint& GetOffset() const            { return m_Offset; }
 
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
 
     /**
@@ -221,7 +221,7 @@ public:
     void GetOblongDrillGeometry( wxPoint& aStartPoint, wxPoint& aEndPoint, int& aWidth ) const;
 
     void SetLayerSet( LSET aLayerMask )         { m_layerMask = aLayerMask; }
-    virtual LSET GetLayerSet() const   { return m_layerMask; }
+    virtual LSET GetLayerSet() const override   { return m_layerMask; }
 
     void SetAttribute( PAD_ATTR_T aAttribute );
     PAD_ATTR_T GetAttribute() const             { return m_Attribute; }
@@ -268,7 +268,7 @@ public:
      * @param aItem is another BOARD_CONNECTED_ITEM or NULL
      * @return int - the clearance in internal units.
      */
-    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
    // Mask margins handling:
 
@@ -306,7 +306,7 @@ public:
 
     /* drawing functions */
     virtual void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawShape
@@ -463,21 +463,21 @@ public:
     int GetSubRatsnest() const                  { return m_SubRatsnest; }
     void SetSubRatsnest( int aSubRatsnest )     { m_SubRatsnest = aSubRatsnest; }
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool IsOnLayer( LAYER_ID aLayer ) const
+    virtual bool IsOnLayer( LAYER_ID aLayer ) const override
     {
         return m_layerMask[aLayer];
     }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "PAD" );
     }
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     ///> Set absolute coordinates.
     void SetDrawCoord();
@@ -492,17 +492,17 @@ public:
      */
     static int Compare( const D_PAD* padref, const D_PAD* padcmp );
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
         SetLocalCoord();
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return pad_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return pad_xpm; }
 
     /**
      * Function ShowPadShape
@@ -524,7 +524,7 @@ public:
      */
     void AppendConfigs( PARAM_CFG_ARRAY* aResult );
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /**
      * same as Clone, but returns a D_PAD item.
@@ -537,13 +537,13 @@ public:
     }
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /**
      * Function CopyNetlistSettings
@@ -563,7 +563,7 @@ public:
     void CopyNetlistSettings( D_PAD* aPad, bool aCopyLocalSettings );
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/class_pcb_layer_box_selector.h b/pcbnew/class_pcb_layer_box_selector.h
index 8cf2057..c9c756a 100644
--- a/pcbnew/class_pcb_layer_box_selector.h
+++ b/pcbnew/class_pcb_layer_box_selector.h
@@ -76,7 +76,7 @@ public:
 
     // Reload the Layers names and bitmaps
     // Virtual function
-    virtual void Resync();
+    virtual void Resync() override;
 
     // Allow (or not) the layers not activated for the current board to be shown
     // in layer selector. Not actavated layers are flagged
@@ -89,15 +89,15 @@ public:
 private:
     // Returns a color index from the layer id
     // Virtual function
-    virtual EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const;
+    virtual EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const override;
 
     // Returns true if the layer id is enabled (i.e. is it should be displayed)
     // Virtual function
-    virtual bool IsLayerEnabled( LAYER_NUM aLayer ) const;
+    virtual bool IsLayerEnabled( LAYER_NUM aLayer ) const override;
 
     // Returns the name of the layer id
     // Virtual function
-    virtual wxString GetLayerName( LAYER_NUM aLayer ) const;
+    virtual wxString GetLayerName( LAYER_NUM aLayer ) const override;
 
     LSET getEnabledLayers() const;
 };
diff --git a/pcbnew/class_pcb_layer_widget.h b/pcbnew/class_pcb_layer_widget.h
index 7853f4a..8a8ddb2 100644
--- a/pcbnew/class_pcb_layer_widget.h
+++ b/pcbnew/class_pcb_layer_widget.h
@@ -88,11 +88,11 @@ public:
     void SetLayersManagerTabsText();
 
     //-----<implement LAYER_WIDGET abstract callback functions>-----------
-    virtual void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor );
-    virtual bool OnLayerSelect( int aLayer );
-    virtual void OnLayerVisible( int aLayer, bool isVisible, bool isFinal );
-    virtual void OnRenderColorChange( int aId, EDA_COLOR_T aColor );
-    virtual void OnRenderEnable( int aId, bool isEnabled );
+    virtual void OnLayerColorChange( int aLayer, EDA_COLOR_T aColor ) override;
+    virtual bool OnLayerSelect( int aLayer ) override;
+    virtual void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ) override;
+    virtual void OnRenderColorChange( int aId, EDA_COLOR_T aColor ) override;
+    virtual void OnRenderEnable( int aId, bool isEnabled ) override;
     //-----</implement LAYER_WIDGET abstract callback functions>----------
 
     /**
diff --git a/pcbnew/class_pcb_text.h b/pcbnew/class_pcb_text.h
index 8c88533..63ed035 100644
--- a/pcbnew/class_pcb_text.h
+++ b/pcbnew/class_pcb_text.h
@@ -54,34 +54,34 @@ public:
         return aItem && PCB_TEXT_T == aItem->Type();
     }
 
-    virtual const wxPoint& GetPosition() const
+    virtual const wxPoint& GetPosition() const override
     {
         return m_Pos;
     }
 
-    virtual void SetPosition( const wxPoint& aPos )
+    virtual void SetPosition( const wxPoint& aPos ) override
     {
         m_Pos = aPos;
     }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Pos += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /* duplicate structure */
     void Copy( TEXTE_PCB* source );
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& offset = ZeroOffset ) override;
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const
+    virtual bool HitTest( const wxPoint& aPosition ) const override
     {
         return TextHitTest( aPosition );
     }
@@ -89,12 +89,12 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override
     {
         return TextHitTest( aRect, aContained, aAccuracy );
     }
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "PTEXT" );
     }
@@ -131,17 +131,17 @@ public:
                                                int                aCircleToSegmentsCount,
                                                double             aCorrectionFactor ) const;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_text_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_text_xpm; }
 
     // Virtual function
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 };
 
diff --git a/pcbnew/class_text_mod.h b/pcbnew/class_text_mod.h
index a4e59b5..0efb6b5 100644
--- a/pcbnew/class_text_mod.h
+++ b/pcbnew/class_text_mod.h
@@ -73,12 +73,12 @@ public:
         return aItem && PCB_MODULE_TEXT_T == aItem->Type();
     }
 
-    virtual const wxPoint& GetPosition() const
+    virtual const wxPoint& GetPosition() const override
     {
         return m_Pos;
     }
 
-    virtual void SetPosition( const wxPoint& aPos )
+    virtual void SetPosition( const wxPoint& aPos ) override
     {
         m_Pos = aPos;
         SetLocalCoord();
@@ -86,10 +86,10 @@ public:
 
     /// Rotate text, in footprint editor
     /// (for instance in footprint rotation transform)
-    virtual void Rotate( const wxPoint& aOffset, double aAngle );
+    virtual void Rotate( const wxPoint& aOffset, double aAngle ) override;
 
     /// Flip entity during module flip
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /// Mirror text position in footprint edition
     /// the text itself is not mirrored, and the layer not modified,
@@ -98,7 +98,7 @@ public:
     void Mirror( const wxPoint& aCentre, bool aMirrorAroundXAxis );
 
     /// move text in move transform, in footprint editor
-    virtual void Move( const wxPoint& aMoveVector );
+    virtual void Move( const wxPoint& aMoveVector ) override;
 
     /// @deprecated it seems (but the type is used to 'protect'
     //  reference and value from deletion, and for identification)
@@ -122,7 +122,7 @@ public:
      */
     double GetDrawRotation() const;
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     ///> Set absolute coordinates.
     void SetDrawCoord();
@@ -143,7 +143,7 @@ public:
     virtual void Draw( EDA_DRAW_PANEL* aPanel,
                wxDC*           aDC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  aOffset = ZeroOffset );
+               const wxPoint&  aOffset = ZeroOffset ) override;
 
     /**
      * Function DrawUmbilical
@@ -159,34 +159,34 @@ public:
                         GR_DRAWMODE     aDrawMode,
                         const wxPoint&  aOffset = ZeroOffset );
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "MTEXT" );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  footprint_text_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  footprint_text_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
-    virtual wxString GetShownText() const;
+    virtual wxString GetShownText() const override;
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 private:
diff --git a/pcbnew/class_track.h b/pcbnew/class_track.h
index 569c0e9..739b1b0 100644
--- a/pcbnew/class_track.h
+++ b/pcbnew/class_track.h
@@ -97,18 +97,18 @@ public:
     TRACK* Next() const { return static_cast<TRACK*>( Pnext ); }
     TRACK* Back() const { return static_cast<TRACK*>( Pback ); }
 
-    virtual void Move( const wxPoint& aMoveVector )
+    virtual void Move( const wxPoint& aMoveVector ) override
     {
         m_Start += aMoveVector;
         m_End   += aMoveVector;
     }
 
-    virtual void Rotate( const wxPoint& aRotCentre, double aAngle );
+    virtual void Rotate( const wxPoint& aRotCentre, double aAngle ) override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
-    virtual void SetPosition( const wxPoint& aPos ) { m_Start = aPos; }
-    virtual const wxPoint& GetPosition() const      { return m_Start; }
+    virtual void SetPosition( const wxPoint& aPos ) override { m_Start = aPos; }
+    virtual const wxPoint& GetPosition() const override      { return m_Start; }
 
     void SetWidth( int aWidth )                 { m_Width = aWidth; }
     int GetWidth() const                        { return m_Width; }
@@ -129,7 +129,7 @@ public:
             return m_End;
     }
 
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
     /**
      * Function GetBestInsertPoint
@@ -163,7 +163,7 @@ public:
 
     /* Display on screen: */
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
     /**
      * Function TransformShapeWithClearanceToPolygon
@@ -196,7 +196,7 @@ public:
      */
     bool IsNull();
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function ShowWidth
@@ -205,15 +205,15 @@ public:
     wxString ShowWidth() const;
 
     virtual SEARCH_RESULT Visit( INSPECTOR* inspector, const void* testData,
-                         const KICAD_T scanTypes[] );
+                         const KICAD_T scanTypes[] ) override;
 
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function GetVia
@@ -267,7 +267,7 @@ public:
      */
     int GetEndSegments( int NbSegm, TRACK** StartTrack, TRACK** EndTrack );
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "TRACK" );
     }
@@ -281,22 +281,22 @@ public:
      * @param aItem is another BOARD_CONNECTED_ITEM or NULL
      * @return int - the clearance in internal units.
      */
-    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  showtrack_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  showtrack_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLOD()
-    virtual unsigned int ViewGetLOD( int aLayer ) const;
+    virtual unsigned int ViewGetLOD( int aLayer ) const override;
 
 #if defined (DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 
     /**
      * Function ShowState
@@ -344,7 +344,7 @@ public:
 
     // Do not create a copy constructor.  The one generated by the compiler is adequate.
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "ZONE" );
     }
@@ -352,17 +352,17 @@ public:
 
     SEGZONE* Next() const { return static_cast<SEGZONE*>( Pnext ); }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_zone_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_zone_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
 protected:
-    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList ) override;
 };
 
 
@@ -379,11 +379,11 @@ public:
     // Do not create a copy constructor.  The one generated by the compiler is adequate.
 
     virtual void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
-               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset );
+               GR_DRAWMODE aDrawMode, const wxPoint& aOffset = ZeroOffset ) override;
 
-    virtual bool IsOnLayer( LAYER_ID aLayer ) const;
+    virtual bool IsOnLayer( LAYER_ID aLayer ) const override;
 
-    virtual LSET GetLayerSet() const;
+    virtual LSET GetLayerSet() const override;
 
     /**
      * Function SetLayerPair
@@ -403,31 +403,31 @@ public:
      */
     void LayerPair( LAYER_ID* top_layer, LAYER_ID* bottom_layer ) const;
 
-    virtual const wxPoint& GetPosition() const {  return m_Start; }
-    virtual void SetPosition( const wxPoint& aPoint ) { m_Start = aPoint;  m_End = aPoint; }
+    virtual const wxPoint& GetPosition() const override {  return m_Start; }
+    virtual void SetPosition( const wxPoint& aPoint ) override { m_Start = aPoint;  m_End = aPoint; }
 
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "VIA" );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  via_sketch_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  via_sketch_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
 #if defined (DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
     VIATYPE_T GetViaType() const          { return m_ViaType; }
@@ -468,7 +468,7 @@ public:
     bool IsDrillDefault() const { return m_Drill <= 0; }
 
 protected:
-    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfoBase( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
 private:
     /// The bottom layer of the via (the top layer is in m_Layer)
diff --git a/pcbnew/class_zone.h b/pcbnew/class_zone.h
index ed5a2d2..a3affa5 100644
--- a/pcbnew/class_zone.h
+++ b/pcbnew/class_zone.h
@@ -89,8 +89,8 @@ public:
      * Function GetPosition
      * @return a wxPoint, position of the first point of the outline
      */
-    virtual const wxPoint& GetPosition() const;
-    virtual void SetPosition( const wxPoint& aPos ) {}
+    virtual const wxPoint& GetPosition() const override;
+    virtual void SetPosition( const wxPoint& aPos ) override {}
 
     /**
      * Function SetPriority
@@ -111,7 +111,7 @@ public:
      */
     void Copy( ZONE_CONTAINER* src );
 
-    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
+    virtual void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
 
     /**
      * Function Draw
@@ -124,7 +124,7 @@ public:
     virtual void Draw( EDA_DRAW_PANEL* panel,
                wxDC*           DC,
                GR_DRAWMODE     aDrawMode,
-               const wxPoint&  offset = ZeroOffset );
+               const wxPoint&  offset = ZeroOffset ) override;
 
     /**
      * Function DrawDrawFilledArea
@@ -154,9 +154,9 @@ public:
     /** Function GetBoundingBox (virtual)
      * @return an EDA_RECT that is the bounding box of the zone outline
      */
-    virtual const EDA_RECT GetBoundingBox() const;
+    virtual const EDA_RECT GetBoundingBox() const override;
 
-    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const;
+    virtual int GetClearance( BOARD_CONNECTED_ITEM* aItem = NULL ) const override;
 
     /**
      * Function TestForCopperIslandAndRemoveInsulatedIslands
@@ -226,7 +226,7 @@ public:
      * @param aPosition the wxPoint to test
      * @return bool - true if a hit, else false
      */
-    virtual bool HitTest( const wxPoint& aPosition ) const;
+    virtual bool HitTest( const wxPoint& aPosition ) const override;
 
     /**
      * Function HitTest
@@ -339,7 +339,7 @@ public:
     /** @copydoc BOARD_ITEM::HitTest(const EDA_RECT& aRect,
      *                               bool aContained = true, int aAccuracy ) const
      */
-    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const;
+    virtual bool HitTest( const EDA_RECT& aRect, bool aContained = true, int aAccuracy = 0 ) const override;
 
     /**
      * Function FillZoneAreasWithSegments
@@ -366,7 +366,7 @@ public:
      * Move the outlines
      * @param offset = moving vector
      */
-    virtual void Move( const wxPoint& offset );
+    virtual void Move( const wxPoint& offset ) override;
 
     /**
      * Function MoveEdge
@@ -382,7 +382,7 @@ public:
      * @param centre = rot centre
      * @param angle = in 0.1 degree
      */
-    virtual void Rotate( const wxPoint& centre, double angle );
+    virtual void Rotate( const wxPoint& centre, double angle ) override;
 
     /**
      * Function Flip
@@ -390,7 +390,7 @@ public:
      * (like Mirror() but changes layer)
      * @param aCentre - the rotation point.
      */
-    virtual void Flip( const wxPoint& aCentre );
+    virtual void Flip( const wxPoint& aCentre ) override;
 
     /**
      * Function Mirror
@@ -405,7 +405,7 @@ public:
      * returns the class name.
      * @return wxString
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "ZONE_CONTAINER" );
     }
@@ -521,11 +521,11 @@ public:
         m_FillSegmList.insert( m_FillSegmList.end(), aSegments.begin(), aSegments.end() );
     }
 
-    virtual wxString GetSelectMenuText() const;
+    virtual wxString GetSelectMenuText() const override;
 
-    virtual BITMAP_DEF GetMenuImage() const { return  add_zone_xpm; }
+    virtual BITMAP_DEF GetMenuImage() const override { return  add_zone_xpm; }
 
-    virtual EDA_ITEM* Clone() const;
+    virtual EDA_ITEM* Clone() const override;
 
     /**
      * Accessors to parameters used in Keepout zones:
@@ -541,7 +541,7 @@ public:
     void SetDoNotAllowTracks( bool aEnable ) { m_doNotAllowTracks = aEnable; }
 
 #if defined(DEBUG)
-    virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); }
+    virtual void Show( int nestLevel, std::ostream& os ) const override { ShowDummy( os ); }
 #endif
 
 
diff --git a/pcbnew/collectors.h b/pcbnew/collectors.h
index 45ff14a..a719cbf 100644
--- a/pcbnew/collectors.h
+++ b/pcbnew/collectors.h
@@ -355,7 +355,7 @@ public:
      * @return SEARCH_RESULT - SEARCH_QUIT if the Iterator is to stop the scan,
      *   else SCAN_CONTINUE;
      */
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData ) override;
 
 
     /**
@@ -448,7 +448,7 @@ public:
      * Function IsLayerLocked
      * @return bool - true if the given layer is locked, else false.
      */
-    virtual bool IsLayerLocked( LAYER_ID aLayerId ) const
+    virtual bool IsLayerLocked( LAYER_ID aLayerId ) const override
     {
         return m_LayerLocked[aLayerId];
     }
@@ -462,7 +462,7 @@ public:
      * Function IsLayerVisible
      * @return bool - true if the given layer is visible, else false.
      */
-    virtual bool IsLayerVisible( LAYER_ID aLayerId ) const
+    virtual bool IsLayerVisible( LAYER_ID aLayerId ) const override
     {
         return m_LayerVisible[aLayerId];
     }
@@ -476,7 +476,7 @@ public:
      * Function IgnoreLockedLayers
      * @return bool - true if should ignore locked layers, else false.
      */
-    virtual bool IgnoreLockedLayers() const { return m_IgnoreLockedLayers; }
+    virtual bool IgnoreLockedLayers() const override { return m_IgnoreLockedLayers; }
     void SetIgnoreLockedLayers( bool ignore )        { m_IgnoreLockedLayers = ignore; }
 
 
@@ -484,7 +484,7 @@ public:
      * Function IgnoredNonVisibleLayers
      * @return bool - true if should ignore non-visible layers, else false.
      */
-    virtual bool IgnoreNonVisibleLayers() const { return m_IgnoreNonVisibleLayers; }
+    virtual bool IgnoreNonVisibleLayers() const override { return m_IgnoreNonVisibleLayers; }
     void SetIgnoreNonVisibleLayers( bool ignore )        { m_IgnoreLockedLayers = ignore; }
 
 
@@ -492,7 +492,7 @@ public:
      * Function GetPreferredLayer
      * @return int - the preferred layer for HitTest()ing.
      */
-    virtual LAYER_ID GetPreferredLayer() const { return m_PreferredLayer; }
+    virtual LAYER_ID GetPreferredLayer() const override { return m_PreferredLayer; }
     void SetPreferredLayer( LAYER_ID aLayer )           { m_PreferredLayer = aLayer; }
 
 
@@ -501,7 +501,7 @@ public:
      * provides wildcard behavior regarding the preferred layer.
      * @return bool - true if should ignore preferred layer, else false.
      */
-    virtual bool IgnorePreferredLayer() const { return  m_IgnorePreferredLayer; }
+    virtual bool IgnorePreferredLayer() const override { return  m_IgnorePreferredLayer; }
     void SetIgnorePreferredLayer( bool ignore )        { m_IgnorePreferredLayer = ignore; }
 
 
@@ -509,7 +509,7 @@ public:
      * Function IgnoreLockedItems
      * @return bool - true if should ignore locked items, else false.
      */
-    virtual bool IgnoreLockedItems() const { return m_IgnoreLockedItems; }
+    virtual bool IgnoreLockedItems() const override { return m_IgnoreLockedItems; }
     void SetIgnoreLockedItems( bool ignore )        { m_IgnoreLockedItems = ignore; }
 
 
@@ -519,7 +519,7 @@ public:
      * included.
      * @return bool - true if should include, else false.
      */
-    virtual bool IncludeSecondary() const { return m_IncludeSecondary; }
+    virtual bool IncludeSecondary() const override { return m_IncludeSecondary; }
     void SetIncludeSecondary( bool include )       { m_IncludeSecondary = include; }
 
 
@@ -527,63 +527,63 @@ public:
      * Function IgnoreMTextsMarkedNoShow
      * @return bool - true if MTexts marked as "no show" should be ignored.
      */
-    virtual bool IgnoreMTextsMarkedNoShow() const { return m_IgnoreMTextsMarkedNoShow; }
+    virtual bool IgnoreMTextsMarkedNoShow() const override { return m_IgnoreMTextsMarkedNoShow; }
     void SetIgnoreMTextsMarkedNoShow( bool ignore )        { m_IgnoreMTextsMarkedNoShow = ignore; }
 
     /**
      * Function IgnoreMTextsOnCu
      * @return bool - true if should ignore MTexts on back layers
      */
-    virtual bool IgnoreMTextsOnBack() const { return m_IgnoreMTextsOnBack; }
+    virtual bool IgnoreMTextsOnBack() const override { return m_IgnoreMTextsOnBack; }
     void SetIgnoreMTextsOnBack( bool ignore )        { m_IgnoreMTextsOnBack = ignore; }
 
     /**
      * Function IgnoreMTextsOnFront
      * @return bool - true if should ignore MTexts on front layers
      */
-    virtual bool IgnoreMTextsOnFront() const { return m_IgnoreMTextsOnFront; }
+    virtual bool IgnoreMTextsOnFront() const override { return m_IgnoreMTextsOnFront; }
     void SetIgnoreMTextsOnFront( bool ignore )        { m_IgnoreMTextsOnFront = ignore; }
 
     /**
      * Function IgnoreModulesOnBack
      * @return bool - true if should ignore MODULEs on the back side
      */
-    virtual bool IgnoreModulesOnBack() const { return m_IgnoreModulesOnBack; }
+    virtual bool IgnoreModulesOnBack() const override { return m_IgnoreModulesOnBack; }
     void SetIgnoreModulesOnBack( bool ignore )        { m_IgnoreModulesOnBack = ignore; }
 
     /**
      * Function IgnoreModulesOnFront
      * @return bool - true if should ignore MODULEs on component layer.
      */
-    virtual bool IgnoreModulesOnFront() const { return m_IgnoreModulesOnFront; }
+    virtual bool IgnoreModulesOnFront() const override { return m_IgnoreModulesOnFront; }
     void SetIgnoreModulesOnFront( bool ignore )        { m_IgnoreModulesOnFront = ignore; }
 
     /**
      * Function IgnorePadsOnBack
      * @return bool - true if should ignore Pads on Back Side.
      */
-    virtual bool IgnorePadsOnBack() const { return m_IgnorePadsOnBack; }
+    virtual bool IgnorePadsOnBack() const override { return m_IgnorePadsOnBack; }
     void SetIgnorePadsOnBack(bool ignore)          { m_IgnorePadsOnBack = ignore; }
 
     /**
      * Function IgnorePadsOnFront
      * @return bool - true if should ignore PADSs on Front Side.
      */
-    virtual bool IgnorePadsOnFront() const { return m_IgnorePadsOnFront; }
+    virtual bool IgnorePadsOnFront() const override { return m_IgnorePadsOnFront; }
     void SetIgnorePadsOnFront(bool ignore)          { m_IgnorePadsOnFront = ignore; }
 
     /**
      * Function IgnoreModulesVals
      * @return bool - true if should ignore modules values.
      */
-    virtual bool IgnoreModulesVals() const { return m_IgnoreModulesVals; }
+    virtual bool IgnoreModulesVals() const override { return m_IgnoreModulesVals; }
     void SetIgnoreModulesVals(bool ignore)          { m_IgnoreModulesVals = ignore; }
 
     /**
      * Function IgnoreModulesRefs
      * @return bool - true if should ignore modules references.
      */
-    virtual bool IgnoreModulesRefs() const { return m_IgnoreModulesRefs; }
+    virtual bool IgnoreModulesRefs() const override { return m_IgnoreModulesRefs; }
     void SetIgnoreModulesRefs(bool ignore)          { m_IgnoreModulesRefs = ignore; }
 };
 
@@ -623,7 +623,7 @@ public:
      * @return SEARCH_RESULT - SEARCH_QUIT if the Iterator is to stop the scan,
      *   else SCAN_CONTINUE;
      */
-    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData );
+    virtual SEARCH_RESULT Inspect( EDA_ITEM* testItem, const void* testData ) override;
 
 
     /**
diff --git a/pcbnew/dialogs/dialog_SVG_print.cpp b/pcbnew/dialogs/dialog_SVG_print.cpp
index 8848c20..ffef994 100644
--- a/pcbnew/dialogs/dialog_SVG_print.cpp
+++ b/pcbnew/dialogs/dialog_SVG_print.cpp
@@ -68,12 +68,12 @@ private:
 
     void initDialog();
 
-    virtual void OnCloseWindow( wxCloseEvent& event );
-    virtual void OnButtonPlot( wxCommandEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
+    virtual void OnButtonPlot( wxCommandEvent& event ) override;
 
-    virtual void OnButtonCloseClick( wxCommandEvent& event );
+    virtual void OnButtonCloseClick( wxCommandEvent& event ) override;
 
-    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
     void SetPenWidth();
     void ExportSVGFile( bool aOnlyOneFile );
 
diff --git a/pcbnew/dialogs/dialog_cleaning_options.h b/pcbnew/dialogs/dialog_cleaning_options.h
index 8b7ecb6..64e3b30 100644
--- a/pcbnew/dialogs/dialog_cleaning_options.h
+++ b/pcbnew/dialogs/dialog_cleaning_options.h
@@ -43,11 +43,11 @@ public:
     }
 
 private:
-        virtual void OnCancelClick( wxCommandEvent& event )
+        virtual void OnCancelClick( wxCommandEvent& event ) override
         {
             EndModal( wxID_CANCEL );
         }
-        virtual void OnOKClick( wxCommandEvent& event )
+        virtual void OnOKClick( wxCommandEvent& event ) override
         {
             GetOpts( );
             EndModal( wxID_OK );
diff --git a/pcbnew/dialogs/dialog_copper_zones.cpp b/pcbnew/dialogs/dialog_copper_zones.cpp
index 2b14d02..481e8b4 100644
--- a/pcbnew/dialogs/dialog_copper_zones.cpp
+++ b/pcbnew/dialogs/dialog_copper_zones.cpp
@@ -83,10 +83,10 @@ private:
      */
     void initDialog();
 
-    virtual void OnButtonOkClick( wxCommandEvent& event );
-    virtual void OnButtonCancelClick( wxCommandEvent& event );
-    virtual void OnClose( wxCloseEvent& event );
-    virtual void OnCornerSmoothingModeChoice( wxCommandEvent& event );
+    virtual void OnButtonOkClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override;
+    virtual void OnClose( wxCloseEvent& event ) override;
+    virtual void OnCornerSmoothingModeChoice( wxCommandEvent& event ) override;
 
     /**
      * Function AcceptOptions
@@ -96,10 +96,10 @@ private:
      */
     bool AcceptOptions( bool aPromptForErrors, bool aUseExportableSetupOnly = false );
 
-    virtual void OnNetSortingOptionSelected( wxCommandEvent& event );
-    virtual void ExportSetupToOtherCopperZones( wxCommandEvent& event );
-    virtual void OnPadsInZoneClick( wxCommandEvent& event );
-    virtual void OnRunFiltersButtonClick( wxCommandEvent& event );
+    virtual void OnNetSortingOptionSelected( wxCommandEvent& event ) override;
+    virtual void ExportSetupToOtherCopperZones( wxCommandEvent& event ) override;
+    virtual void OnPadsInZoneClick( wxCommandEvent& event ) override;
+    virtual void OnRunFiltersButtonClick( wxCommandEvent& event ) override;
 
     void buildAvailableListOfNets();
 
diff --git a/pcbnew/dialogs/dialog_create_array.h b/pcbnew/dialogs/dialog_create_array.h
index 862b236..d70d086 100644
--- a/pcbnew/dialogs/dialog_create_array.h
+++ b/pcbnew/dialogs/dialog_create_array.h
@@ -284,9 +284,9 @@ public:
         int     m_numberingOffsetX, m_numberingOffsetY;
         ARRAY_NUMBERING_TYPE_T m_priAxisNumType, m_secAxisNumType;
 
-        virtual void        TransformItem( int n, BOARD_ITEM* item, const wxPoint& rotPoint ) const;
-        virtual int         GetArraySize() const;
-        virtual wxString    GetItemNumber( int n ) const;
+        virtual void        TransformItem( int n, BOARD_ITEM* item, const wxPoint& rotPoint ) const override;
+        virtual int         GetArraySize() const override;
+        virtual wxString    GetItemNumber( int n ) const override;
 
 private:
         wxPoint getGridCoords( int n ) const;
@@ -310,9 +310,9 @@ private:
         ARRAY_NUMBERING_TYPE_T m_numberingType;
         long m_numberingOffset;
 
-        virtual void        TransformItem( int n, BOARD_ITEM* item, const wxPoint& rotPoint ) const;
-        virtual int         GetArraySize() const;
-        virtual wxString    GetItemNumber( int n ) const;
+        virtual void        TransformItem( int n, BOARD_ITEM* item, const wxPoint& rotPoint ) const override;
+        virtual int         GetArraySize() const override;
+        virtual wxString    GetItemNumber( int n ) const override;
     };
 
     // Constructor and destructor
@@ -344,8 +344,8 @@ private:
     const wxPoint m_originalItemPosition;
 
     // Event callbacks
-    virtual void    OnParameterChanged( wxCommandEvent& event );
-    virtual void    OnOkClick( wxCommandEvent& event );
+    virtual void    OnParameterChanged( wxCommandEvent& event ) override;
+    virtual void    OnOkClick( wxCommandEvent& event ) override;
 
     // Internal callback handlers
     void setControlEnablement();
diff --git a/pcbnew/dialogs/dialog_design_rules.h b/pcbnew/dialogs/dialog_design_rules.h
index d68ec69..945a7f4 100644
--- a/pcbnew/dialogs/dialog_design_rules.h
+++ b/pcbnew/dialogs/dialog_design_rules.h
@@ -83,44 +83,44 @@ private:
     std::vector <int> m_TracksWidthList;
 
 private:
-    virtual void OnNetClassesNameLeftClick( wxGridEvent& event ) { event.Skip(); }
-    virtual void OnNetClassesNameRightClick( wxGridEvent& event ) { event.Skip(); }
-    virtual void OnAddNetclassClick( wxCommandEvent& event );
-    virtual void OnRemoveNetclassClick( wxCommandEvent& event );
+    virtual void OnNetClassesNameLeftClick( wxGridEvent& event ) override { event.Skip(); }
+    virtual void OnNetClassesNameRightClick( wxGridEvent& event ) override { event.Skip(); }
+    virtual void OnAddNetclassClick( wxCommandEvent& event ) override;
+    virtual void OnRemoveNetclassClick( wxCommandEvent& event ) override;
 
     /*
      * Called on "Move Up" button click
      * the selected(s) rules are moved up
      * The default netclass is always the first rule
      */
-    virtual void OnMoveUpSelectedNetClass( wxCommandEvent& event );
+    virtual void OnMoveUpSelectedNetClass( wxCommandEvent& event ) override;
 
     /*
      * Called on the left Choice Box selection
      */
-    virtual void OnLeftCBSelection( wxCommandEvent& event );
+    virtual void OnLeftCBSelection( wxCommandEvent& event ) override;
 
     /*
      * Called on the Right Choice Box selection
      */
-    virtual void OnRightCBSelection( wxCommandEvent& event );
+    virtual void OnRightCBSelection( wxCommandEvent& event ) override;
 
-    virtual void OnRightToLeftCopyButton( wxCommandEvent& event );
-    virtual void OnLeftToRightCopyButton( wxCommandEvent& event );
+    virtual void OnRightToLeftCopyButton( wxCommandEvent& event ) override;
+    virtual void OnLeftToRightCopyButton( wxCommandEvent& event ) override;
 
-    virtual void OnNotebookPageChanged( wxNotebookEvent& event );
+    virtual void OnNotebookPageChanged( wxNotebookEvent& event ) override;
 
     /*
      * Called on clicking the left "select all" button:
      * select all items of the left netname list list box
      */
-    virtual void OnLeftSelectAllButton( wxCommandEvent& event );
+    virtual void OnLeftSelectAllButton( wxCommandEvent& event ) override;
 
     /*
      * Called on clicking the right "select all" button:
      * select all items of the right netname list list box
      */
-    virtual void OnRightSelectAllButton( wxCommandEvent& event );
+    virtual void OnRightSelectAllButton( wxCommandEvent& event ) override;
 
     /*
      * Function TestDataValidity
@@ -184,7 +184,7 @@ public:
     DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent );
     ~DIALOG_DESIGN_RULES( ) { }
 
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataFromWindow() override;
 };
 
 #endif //__dialog_design_rules_h_
diff --git a/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h b/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
index bc8af25..ec6c4ee 100644
--- a/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
+++ b/pcbnew/dialogs/dialog_design_rules_aux_helper_class.h
@@ -58,7 +58,7 @@ public:
      * Function OnGetItemText
      * is an overloaded method needed by wxListCtrl with wxLC_VIRTUAL options
      */
-    virtual wxString OnGetItemText( long item, long column ) const;
+    virtual wxString OnGetItemText( long item, long column ) const override;
 
     /**
      * Function SetRowItems
diff --git a/pcbnew/dialogs/dialog_display_options.h b/pcbnew/dialogs/dialog_display_options.h
index 7b3ad7b..179c518 100644
--- a/pcbnew/dialogs/dialog_display_options.h
+++ b/pcbnew/dialogs/dialog_display_options.h
@@ -37,7 +37,7 @@ private:
 public:
    DIALOG_DISPLAY_OPTIONS( PCB_EDIT_FRAME* parent );
    ~DIALOG_DISPLAY_OPTIONS( ) { };
-   virtual void OnOkClick( wxCommandEvent& event );
-   virtual void OnCancelClick( wxCommandEvent& event );
+   virtual void OnOkClick( wxCommandEvent& event ) override;
+   virtual void OnCancelClick( wxCommandEvent& event ) override;
 };
 
diff --git a/pcbnew/dialogs/dialog_drc.h b/pcbnew/dialogs/dialog_drc.h
index 382e532..ce32cf1 100644
--- a/pcbnew/dialogs/dialog_drc.h
+++ b/pcbnew/dialogs/dialog_drc.h
@@ -76,48 +76,48 @@ private:
     void SetDrcParmeters( );
 
     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX
-    virtual void OnReportCheckBoxClicked( wxCommandEvent& event );
+    virtual void OnReportCheckBoxClicked( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE
-    virtual void OnButtonBrowseRptFileClick( wxCommandEvent& event );
+    virtual void OnButtonBrowseRptFileClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STARTDRC
-    virtual void OnStartdrcClick( wxCommandEvent& event );
+    virtual void OnStartdrcClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED
-    virtual void OnListUnconnectedClick( wxCommandEvent& event );
+    virtual void OnListUnconnectedClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DELETE_ALL
-    virtual void OnDeleteAllClick( wxCommandEvent& event );
+    virtual void OnDeleteAllClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DELETE_ONE
-    virtual void OnDeleteOneClick( wxCommandEvent& event );
+    virtual void OnDeleteOneClick( wxCommandEvent& event ) override;
 
     /// wxEVT_LEFT_DCLICK event handler for ID_CLEARANCE_LIST
-    virtual void OnLeftDClickClearance( wxMouseEvent& event );
+    virtual void OnLeftDClickClearance( wxMouseEvent& event ) override;
 
     /// wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST
-    virtual void OnRightUpClearance( wxMouseEvent& event );
+    virtual void OnRightUpClearance( wxMouseEvent& event ) override;
 
     /// wxEVT_LEFT_DCLICK event handler for ID_UNCONNECTED_LIST
-    virtual void OnLeftDClickUnconnected( wxMouseEvent& event );
+    virtual void OnLeftDClickUnconnected( wxMouseEvent& event ) override;
 
     /// wxEVT_RIGHT_UP event handler for ID_UNCONNECTED_LIST
-    virtual void OnRightUpUnconnected( wxMouseEvent& event );
+    virtual void OnRightUpUnconnected( wxMouseEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 
     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
-    virtual void OnOkClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
 
     /// handler for activate event, updating data which can be modified outside the dialog
     /// (DRC parameters)
-    virtual void OnActivateDlg( wxActivateEvent& event );
+    virtual void OnActivateDlg( wxActivateEvent& event ) override;
 
-    virtual void OnMarkerSelectionEvent( wxCommandEvent& event );
-    virtual void OnUnconnectedSelectionEvent( wxCommandEvent& event );
-    virtual void OnChangingMarkerList( wxNotebookEvent& event );
+    virtual void OnMarkerSelectionEvent( wxCommandEvent& event ) override;
+    virtual void OnUnconnectedSelectionEvent( wxCommandEvent& event ) override;
+    virtual void OnChangingMarkerList( wxNotebookEvent& event ) override;
 
     void DelDRCMarkers();
     void RedrawDrawPanel();
diff --git a/pcbnew/dialogs/dialog_drclistbox.h b/pcbnew/dialogs/dialog_drclistbox.h
index 0add28e..4095e3b 100644
--- a/pcbnew/dialogs/dialog_drclistbox.h
+++ b/pcbnew/dialogs/dialog_drclistbox.h
@@ -71,13 +71,13 @@ public:
 
     //-----<Interface DRC_ITEM_LIST>---------------------------------------
 
-    virtual void            DeleteAllItems()
+    virtual void            DeleteAllItems() override
     {
         m_board->DeleteMARKERs();
     }
 
 
-    virtual const DRC_ITEM* GetItem( int aIndex )
+    virtual const DRC_ITEM* GetItem( int aIndex ) override
     {
         const MARKER_PCB* marker = m_board->GetMARKER( aIndex );
         if( marker )
@@ -85,7 +85,7 @@ public:
         return NULL;
     }
 
-    virtual void DeleteItem( int aIndex )
+    virtual void DeleteItem( int aIndex ) override
     {
         MARKER_PCB* marker = m_board->GetMARKER( aIndex );
         if( marker )
@@ -97,7 +97,7 @@ public:
      * Function GetCount
      * returns the number of items in the list.
      */
-    virtual int  GetCount()
+    virtual int  GetCount() override
     {
         return m_board->GetMARKERCount();
     }
@@ -131,7 +131,7 @@ public:
 
     //-----<Interface DRC_ITEM_LIST>---------------------------------------
 
-    virtual void            DeleteAllItems()
+    virtual void            DeleteAllItems() override
     {
         if( m_vector )
         {
@@ -143,7 +143,7 @@ public:
     }
 
 
-    virtual const DRC_ITEM* GetItem( int aIndex )
+    virtual const DRC_ITEM* GetItem( int aIndex ) override
     {
         if( m_vector &&  (unsigned)aIndex < m_vector->size() )
         {
@@ -153,7 +153,7 @@ public:
         return NULL;
     }
 
-    virtual void DeleteItem( int aIndex )
+    virtual void DeleteItem( int aIndex ) override
     {
         if( m_vector &&  (unsigned)aIndex < m_vector->size() )
         {
@@ -167,7 +167,7 @@ public:
      * Function GetCount
      * returns the number of items in the list.
      */
-    virtual int  GetCount()
+    virtual int  GetCount() override
     {
         if( m_vector )
         {
@@ -244,7 +244,7 @@ public:
      * @param n An index into the list.
      * @return wxString - the simple html text to show in the listbox.
      */
-    virtual wxString OnGetItem( size_t n ) const
+    virtual wxString OnGetItem( size_t n ) const override
     {
         if( m_list )
         {
@@ -262,7 +262,7 @@ public:
      * @param n An index into the list.
      * @return wxString - the simple html text to show in the listbox.
      */
-    virtual wxString OnGetItemMarkup( size_t n ) const
+    virtual wxString OnGetItemMarkup( size_t n ) const override
     {
         return OnGetItem( n );
     }
diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
index b542f3d..aa037c7 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
+++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h
@@ -74,26 +74,26 @@ private:
     void Edit3DShapeFileName();
 
     // virtual event functions
-    virtual void OnEditValue( wxCommandEvent& event );
-    virtual void OnEditReference( wxCommandEvent& event );
+    virtual void OnEditValue( wxCommandEvent& event ) override;
+    virtual void OnEditReference( wxCommandEvent& event ) override;
     void On3DShapeSelection( wxCommandEvent& event );
-    virtual void On3DShapeNameSelected( wxCommandEvent& event );
-    virtual void Edit3DShapeFilename( wxCommandEvent& event )
+    virtual void On3DShapeNameSelected( wxCommandEvent& event ) override;
+    virtual void Edit3DShapeFilename( wxCommandEvent& event ) override
     {
         Edit3DShapeFileName();
     }
-    virtual void Remove3DShape( wxCommandEvent& event );
-    virtual void Add3DShape( wxCommandEvent& event )
+    virtual void Remove3DShape( wxCommandEvent& event ) override;
+    virtual void Add3DShape( wxCommandEvent& event ) override
     {
         BrowseAndAdd3DShapeFile();
     }
-    virtual void GotoModuleEditor( wxCommandEvent& event );
-    virtual void ExchangeModule( wxCommandEvent& event );
-    virtual void ModuleOrientEvent( wxCommandEvent& event );
-    virtual void Cfg3DPath( wxCommandEvent& event );
+    virtual void GotoModuleEditor( wxCommandEvent& event ) override;
+    virtual void ExchangeModule( wxCommandEvent& event ) override;
+    virtual void ModuleOrientEvent( wxCommandEvent& event ) override;
+    virtual void Cfg3DPath( wxCommandEvent& event ) override;
 
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
index c8b8ade..1a6501d 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
+++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h
@@ -59,22 +59,22 @@ private:
     void Edit3DShapeFileName();
 
     // virtual event functions
-    virtual void OnEditValue( wxCommandEvent& event );
-    virtual void OnEditReference( wxCommandEvent& event );
+    virtual void OnEditValue( wxCommandEvent& event ) override;
+    virtual void OnEditReference( wxCommandEvent& event ) override;
     void On3DShapeSelection( wxCommandEvent& event );
-    virtual void On3DShapeNameSelected( wxCommandEvent& event );
-    virtual void Add3DShape( wxCommandEvent& event )
+    virtual void On3DShapeNameSelected( wxCommandEvent& event ) override;
+    virtual void Add3DShape( wxCommandEvent& event ) override
     {
         BrowseAndAdd3DShapeFile();
     }
-    virtual void Remove3DShape( wxCommandEvent& event );
-    virtual void Edit3DShapeFilename( wxCommandEvent& event )
+    virtual void Remove3DShape( wxCommandEvent& event ) override;
+    virtual void Edit3DShapeFilename( wxCommandEvent& event ) override
     {
         Edit3DShapeFileName();
     }
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void Cfg3DPath( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void Cfg3DPath( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_edit_module_text.h b/pcbnew/dialogs/dialog_edit_module_text.h
index 36d0293..705d8b1 100644
--- a/pcbnew/dialogs/dialog_edit_module_text.h
+++ b/pcbnew/dialogs/dialog_edit_module_text.h
@@ -49,11 +49,11 @@ public:
     ~DialogEditModuleText() {};
 
 protected:
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
 
 private:
-    virtual void ModuleOrientEvent( wxCommandEvent& event );
+    virtual void ModuleOrientEvent( wxCommandEvent& event ) override;
 };
 
 #endif /* DIALOG_EDIT_MODULE_TEXT_H */
diff --git a/pcbnew/dialogs/dialog_export_vrml.cpp b/pcbnew/dialogs/dialog_export_vrml.cpp
index 697204e..70fa5dc 100644
--- a/pcbnew/dialogs/dialog_export_vrml.cpp
+++ b/pcbnew/dialogs/dialog_export_vrml.cpp
@@ -162,7 +162,7 @@ public:
         event.Enable( m_cbCopyFiles->GetValue() );
     }
 
-    virtual void OnFileChanged( wxFileDirPickerEvent& event )
+    virtual void OnFileChanged( wxFileDirPickerEvent& event ) override
     {
         // Clicking on file picker button changes the focus to the file picker button which
         // is not the behavior we want.  Set the focus back to the OK button so the next enter
diff --git a/pcbnew/dialogs/dialog_find.h b/pcbnew/dialogs/dialog_find.h
index cd10d3f..adb1663 100644
--- a/pcbnew/dialogs/dialog_find.h
+++ b/pcbnew/dialogs/dialog_find.h
@@ -48,10 +48,10 @@ private:
     // Function called when an item is found
     boost::function<void (BOARD_ITEM*)> callback;
 
-    virtual void onButtonFindItemClick( wxCommandEvent& event );
-    virtual void onButtonFindMarkerClick( wxCommandEvent& event );
-    virtual void onButtonCloseClick( wxCommandEvent& event );
-    virtual void onClose( wxCloseEvent& event );
+    virtual void onButtonFindItemClick( wxCommandEvent& event ) override;
+    virtual void onButtonFindMarkerClick( wxCommandEvent& event ) override;
+    virtual void onButtonCloseClick( wxCommandEvent& event ) override;
+    virtual void onClose( wxCloseEvent& event ) override;
 };
 
 #endif /* DIALOG_FIND_BASE_H */
diff --git a/pcbnew/dialogs/dialog_footprint_wizard_list.h b/pcbnew/dialogs/dialog_footprint_wizard_list.h
index 4201807..40e51ae 100644
--- a/pcbnew/dialogs/dialog_footprint_wizard_list.h
+++ b/pcbnew/dialogs/dialog_footprint_wizard_list.h
@@ -41,7 +41,7 @@ public:
     FOOTPRINT_WIZARD* GetWizard();
 
 private:
-    virtual void OnCellFpGeneratorClick( wxGridEvent& event );
+    virtual void OnCellFpGeneratorClick( wxGridEvent& event ) override;
 };
 
 #endif  // _DIALOG_FOOTPRINT_WIZARD_LIST_H_
diff --git a/pcbnew/dialogs/dialog_fp_lib_table.cpp b/pcbnew/dialogs/dialog_fp_lib_table.cpp
index dbf0b2d..a0df528 100644
--- a/pcbnew/dialogs/dialog_fp_lib_table.cpp
+++ b/pcbnew/dialogs/dialog_fp_lib_table.cpp
@@ -81,10 +81,10 @@ public:
 
     //-----<wxGridTableBase overloads>-------------------------------------------
 
-    virtual int GetNumberRows() { return rows.size(); }
-    virtual int GetNumberCols() { return COL_COUNT; }
+    virtual int GetNumberRows() override { return rows.size(); }
+    virtual int GetNumberCols() override { return COL_COUNT; }
 
-    virtual wxString GetValue( int aRow, int aCol )
+    virtual wxString GetValue( int aRow, int aCol ) override
     {
         if( unsigned( aRow ) < rows.size() )
         {
@@ -105,7 +105,7 @@ public:
         return wxEmptyString;
     }
 
-    virtual void    SetValue( int aRow, int aCol, const wxString &aValue )
+    virtual void    SetValue( int aRow, int aCol, const wxString &aValue ) override
     {
         if( unsigned( aRow ) < rows.size() )
         {
@@ -122,12 +122,12 @@ public:
         }
     }
 
-    virtual bool IsEmptyCell( int aRow, int aCol )
+    virtual bool IsEmptyCell( int aRow, int aCol ) override
     {
         return !GetValue( aRow, aCol );
     }
 
-    virtual bool InsertRows( size_t aPos = 0, size_t aNumRows = 1 )
+    virtual bool InsertRows( size_t aPos = 0, size_t aNumRows = 1 ) override
     {
         if( aPos < rows.size() )
         {
@@ -149,7 +149,7 @@ public:
         return false;
     }
 
-    virtual bool AppendRows( size_t aNumRows = 1 )
+    virtual bool AppendRows( size_t aNumRows = 1 ) override
     {
         // do not modify aNumRows, original value needed for wxGridTableMessage below
         for( int i = aNumRows; i; --i )
@@ -167,7 +167,7 @@ public:
         return true;
     }
 
-    virtual bool DeleteRows( size_t aPos, size_t aNumRows )
+    virtual bool DeleteRows( size_t aPos, size_t aNumRows ) override
     {
         // aPos may be a large positive, e.g. size_t(-1), and the sum of
         // aPos+aNumRows may wrap here, so both ends of the range are tested.
@@ -191,13 +191,13 @@ public:
         return false;
     }
 
-    virtual void Clear()
+    virtual void Clear() override
     {
         rows.clear();
         nickIndex.clear();
     }
 
-    virtual wxString GetColLabelValue( int aCol )
+    virtual wxString GetColLabelValue( int aCol ) override
     {
         switch( aCol )
         {
@@ -228,7 +228,7 @@ protected:
 
     /// handle specialized clipboard text, with leading "(fp_lib_table", OR
     /// spreadsheet formatted text.
-    virtual void paste_text( const wxString& cb_text )
+    virtual void paste_text( const wxString& cb_text ) override
     {
         FP_TBL_MODEL*       tbl = (FP_TBL_MODEL*) m_grid->GetTable();
 
@@ -501,7 +501,7 @@ private:
 
     //-----<event handlers>----------------------------------
 
-    virtual void onKeyDown( wxKeyEvent& ev )
+    virtual void onKeyDown( wxKeyEvent& ev ) override
     {
 #if 0
         // send the key to the current grid
@@ -513,13 +513,13 @@ private:
 #endif
     }
 
-    virtual void pageChangedHandler( wxAuiNotebookEvent& event )
+    virtual void pageChangedHandler( wxAuiNotebookEvent& event ) override
     {
         m_pageNdx = m_auinotebook->GetSelection();
         m_cur_grid = ( m_pageNdx == 0 ) ? m_global_grid : m_project_grid;
     }
 
-    virtual void appendRowHandler( wxCommandEvent& event )
+    virtual void appendRowHandler( wxCommandEvent& event ) override
     {
         if( m_cur_grid->AppendRows( 1 ) )
         {
@@ -532,7 +532,7 @@ private:
         }
     }
 
-    virtual void deleteRowHandler( wxCommandEvent& event )
+    virtual void deleteRowHandler( wxCommandEvent& event ) override
     {
 #if 1
         int currRow = getCursorRow();
@@ -569,7 +569,7 @@ private:
 #endif
     }
 
-    virtual void moveUpHandler( wxCommandEvent& event )
+    virtual void moveUpHandler( wxCommandEvent& event ) override
     {
         int curRow = getCursorRow();
         if( curRow >= 1 )
@@ -601,7 +601,7 @@ private:
         }
     }
 
-    virtual void moveDownHandler( wxCommandEvent& event )
+    virtual void moveDownHandler( wxCommandEvent& event ) override
     {
         FP_TBL_MODEL* tbl = cur_model();
 
@@ -633,7 +633,7 @@ private:
         }
     }
 
-    virtual void optionsEditor( wxCommandEvent& event )
+    virtual void optionsEditor( wxCommandEvent& event ) override
     {
         FP_TBL_MODEL*   tbl = cur_model();
 
@@ -665,19 +665,19 @@ private:
         }
     }
 
-    virtual void OnClickLibraryWizard( wxCommandEvent& event );
+    virtual void OnClickLibraryWizard( wxCommandEvent& event ) override;
 
-    virtual void onCancelButtonClick( wxCommandEvent& event )
+    virtual void onCancelButtonClick( wxCommandEvent& event ) override
     {
         EndModal( 0 );
     }
 
-    virtual void onCancelCaptionButtonClick( wxCloseEvent& event )
+    virtual void onCancelCaptionButtonClick( wxCloseEvent& event ) override
     {
         EndModal( 0 );
     }
 
-    virtual void onOKButtonClick( wxCommandEvent& event )
+    virtual void onOKButtonClick( wxCommandEvent& event ) override
     {
         int dialogRet = 0;
 
diff --git a/pcbnew/dialogs/dialog_fp_plugin_options.cpp b/pcbnew/dialogs/dialog_fp_plugin_options.cpp
index 789657a..b5e12fa 100644
--- a/pcbnew/dialogs/dialog_fp_plugin_options.cpp
+++ b/pcbnew/dialogs/dialog_fp_plugin_options.cpp
@@ -253,7 +253,7 @@ private:
 
     //-----<event handlers>------------------------------------------------------
 
-    virtual void onListBoxItemSelected( wxCommandEvent& event )
+    virtual void onListBoxItemSelected( wxCommandEvent& event ) override
     {
         // change the help text based on the m_listbox selection:
         if( event.IsSelection() )
@@ -274,22 +274,22 @@ private:
         }
     }
 
-    virtual void onListBoxItemDoubleClicked( wxCommandEvent& event )
+    virtual void onListBoxItemDoubleClicked( wxCommandEvent& event ) override
     {
         appendOption();
     }
 
-    virtual void onAppendOption( wxCommandEvent& event )
+    virtual void onAppendOption( wxCommandEvent& event ) override
     {
         appendOption();
     }
 
-    virtual void onAppendRow( wxMouseEvent& event )
+    virtual void onAppendRow( wxMouseEvent& event ) override
     {
         appendRow();
     }
 
-    virtual void onDeleteRow( wxMouseEvent& event )
+    virtual void onDeleteRow( wxMouseEvent& event ) override
     {
         int rowCount = m_grid->GetNumberRows();
         int curRow   = getCursorRow();
@@ -303,7 +303,7 @@ private:
         }
     }
 
-    virtual void onMoveUp( wxMouseEvent& event )
+    virtual void onMoveUp( wxMouseEvent& event ) override
     {
         int curRow = getCursorRow();
         if( curRow >= 1 )
@@ -336,7 +336,7 @@ private:
         }
     }
 
-    virtual void onMoveDown( wxMouseEvent& event )
+    virtual void onMoveDown( wxMouseEvent& event ) override
     {
         int curRow = getCursorRow();
         if( curRow + 1 < m_grid->GetNumberRows() )
@@ -368,17 +368,17 @@ private:
         }
     }
 
-    virtual void onCancelButtonClick( wxCommandEvent& event )
+    virtual void onCancelButtonClick( wxCommandEvent& event ) override
     {
         abort();
     }
 
-    virtual void onCancelCaptionButtonClick( wxCloseEvent& event )
+    virtual void onCancelCaptionButtonClick( wxCloseEvent& event ) override
     {
         abort();
     }
 
-    virtual void onOKButtonClick( wxCommandEvent& event )
+    virtual void onOKButtonClick( wxCommandEvent& event ) override
     {
         saveColSizes();
 
diff --git a/pcbnew/dialogs/dialog_freeroute_exchange.h b/pcbnew/dialogs/dialog_freeroute_exchange.h
index d9bad9c..7e7960a 100644
--- a/pcbnew/dialogs/dialog_freeroute_exchange.h
+++ b/pcbnew/dialogs/dialog_freeroute_exchange.h
@@ -35,10 +35,10 @@ private:
 
 private:
     // Virtual event handlers
-    virtual void OnExportButtonClick( wxCommandEvent& event );
-    virtual void OnLaunchButtonClick( wxCommandEvent& event );
-    virtual void OnImportButtonClick( wxCommandEvent& event );
-    virtual void OnHelpButtonClick( wxCommandEvent& event );
+    virtual void OnExportButtonClick( wxCommandEvent& event ) override;
+    virtual void OnLaunchButtonClick( wxCommandEvent& event ) override;
+    virtual void OnImportButtonClick( wxCommandEvent& event ) override;
+    virtual void OnHelpButtonClick( wxCommandEvent& event ) override;
 
     void MyInit ( );
     const wxString createDSN_File();
diff --git a/pcbnew/dialogs/dialog_gendrill.h b/pcbnew/dialogs/dialog_gendrill.h
index 9d2df51..9e65d1b 100644
--- a/pcbnew/dialogs/dialog_gendrill.h
+++ b/pcbnew/dialogs/dialog_gendrill.h
@@ -68,20 +68,20 @@ private:
     void            InitDisplayParams( void );
 
     // event functions
-    virtual void            OnSelDrillUnitsSelected( wxCommandEvent& event );
-    virtual void            OnSelZerosFmtSelected( wxCommandEvent& event );
-    virtual void            OnGenDrillFile( wxCommandEvent& event );
-    virtual void            OnGenMapFile( wxCommandEvent& event );
+    virtual void            OnSelDrillUnitsSelected( wxCommandEvent& event ) override;
+    virtual void            OnSelZerosFmtSelected( wxCommandEvent& event ) override;
+    virtual void            OnGenDrillFile( wxCommandEvent& event ) override;
+    virtual void            OnGenMapFile( wxCommandEvent& event ) override;
 
     /*
      *  Create a plain text report file giving a list of drill values and drill count
      *  for through holes, oblong holes, and for buried vias,
      *  drill values and drill count per layer pair
      */
-    virtual void            OnGenReportFile( wxCommandEvent& event );
+    virtual void            OnGenReportFile( wxCommandEvent& event ) override;
 
-    virtual void            OnCancelClick( wxCommandEvent& event );
-    virtual void            OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
+    virtual void            OnCancelClick( wxCommandEvent& event ) override;
+    virtual void            OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
 
     // Specific functions:
     void            SetParams( void );
diff --git a/pcbnew/dialogs/dialog_general_options.h b/pcbnew/dialogs/dialog_general_options.h
index 91aca51..445a8de 100644
--- a/pcbnew/dialogs/dialog_general_options.h
+++ b/pcbnew/dialogs/dialog_general_options.h
@@ -37,13 +37,13 @@ private:
 public:
     DIALOG_GENERALOPTIONS( PCB_EDIT_FRAME* parent );
     ~DIALOG_GENERALOPTIONS() {};
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 
     PCB_EDIT_FRAME* GetParent() const { return (PCB_EDIT_FRAME*) wxDialog::GetParent(); }
 
 private:
-    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event )
+    virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) override
     {
         m_OptMiddleButtonPanLimited->Enable( m_MiddleButtonPANOpt->GetValue() );
     }
diff --git a/pcbnew/dialogs/dialog_get_footprint_by_name.h b/pcbnew/dialogs/dialog_get_footprint_by_name.h
index b72cdaa..1843846 100644
--- a/pcbnew/dialogs/dialog_get_footprint_by_name.h
+++ b/pcbnew/dialogs/dialog_get_footprint_by_name.h
@@ -57,7 +57,7 @@ public:
 
 private:
     // Called when selecting an item from the item list
-    virtual void OnSelectFootprint( wxCommandEvent& aEvent )
+    virtual void OnSelectFootprint( wxCommandEvent& aEvent ) override
     {
         if( m_choiceFpList->GetSelection() >= 0 )
             m_SearchTextCtrl->SetValue(
diff --git a/pcbnew/dialogs/dialog_global_deletion.h b/pcbnew/dialogs/dialog_global_deletion.h
index 956fa97..d3eeb12 100644
--- a/pcbnew/dialogs/dialog_global_deletion.h
+++ b/pcbnew/dialogs/dialog_global_deletion.h
@@ -36,20 +36,20 @@ private:
     PCB_EDIT_FRAME* m_Parent;
     LAYER_NUM m_currentLayer;
 
-    virtual void OnOkClick( wxCommandEvent& event )
+    virtual void OnOkClick( wxCommandEvent& event ) override
     {
         AcceptPcbDelete();
         EndModal(wxID_OK);
     }
 
-    virtual void OnCancelClick( wxCommandEvent& event )
+    virtual void OnCancelClick( wxCommandEvent& event ) override
     {
         EndModal(wxID_CANCEL);
     }
 
     void AcceptPcbDelete();
-    virtual void OnCheckDeleteTracks( wxCommandEvent& event );
-    virtual void OnCheckDeleteModules( wxCommandEvent& event );
+    virtual void OnCheckDeleteTracks( wxCommandEvent& event ) override;
+    virtual void OnCheckDeleteModules( wxCommandEvent& event ) override;
 };
 
 #endif  // _DIALOG_GLOBAL_DELETION_H_
diff --git a/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h b/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
index df52188..a037bb7 100644
--- a/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
+++ b/pcbnew/dialogs/dialog_global_edit_tracks_and_vias.h
@@ -43,9 +43,9 @@ public:
     ~DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS() {};
 
     // Virtual event handlers, overided here
-    virtual void OnSelectionClick( wxCommandEvent& event ) { m_OptionID = event.GetId(); }
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnSelectionClick( wxCommandEvent& event ) override { m_OptionID = event.GetId(); }
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
     void MyInit();
 };
 
diff --git a/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp b/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
index 9ddc0de..f17ef76 100644
--- a/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
+++ b/pcbnew/dialogs/dialog_global_modules_fields_edition.cpp
@@ -71,8 +71,8 @@ private:
     void initDialog();
 
     // event handlers
-    virtual void OnOKClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event )
+    virtual void OnOKClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override
     {
         EndModal( wxID_CANCEL );
     }
diff --git a/pcbnew/dialogs/dialog_graphic_item_properties.cpp b/pcbnew/dialogs/dialog_graphic_item_properties.cpp
index 8a78e34..f519b13 100644
--- a/pcbnew/dialogs/dialog_graphic_item_properties.cpp
+++ b/pcbnew/dialogs/dialog_graphic_item_properties.cpp
@@ -69,10 +69,10 @@ public:
     ~DIALOG_GRAPHIC_ITEM_PROPERTIES() {};
 
 private:
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
     void OnLayerChoice( wxCommandEvent& event );
-    virtual bool Validate();
+    virtual bool Validate() override;
 };
 
 DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES( PCB_EDIT_FRAME* aParent,
diff --git a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
index 52c964f..0b8b543 100644
--- a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
+++ b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
@@ -69,10 +69,10 @@ public:
     ~DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES() {};
 
 private:
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
     void OnLayerChoice( wxCommandEvent& event );
-    virtual bool Validate();
+    virtual bool Validate() override;
 };
 
 DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES(
diff --git a/pcbnew/dialogs/dialog_graphic_items_options.h b/pcbnew/dialogs/dialog_graphic_items_options.h
index c563aa8..4fc9c65 100644
--- a/pcbnew/dialogs/dialog_graphic_items_options.h
+++ b/pcbnew/dialogs/dialog_graphic_items_options.h
@@ -47,8 +47,8 @@ public:
 
 private:
     void initValues( );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 };
 
 #endif
diff --git a/pcbnew/dialogs/dialog_keepout_area_properties.cpp b/pcbnew/dialogs/dialog_keepout_area_properties.cpp
index b927343..e760e19 100644
--- a/pcbnew/dialogs/dialog_keepout_area_properties.cpp
+++ b/pcbnew/dialogs/dialog_keepout_area_properties.cpp
@@ -69,8 +69,8 @@ private:
      */
     void initDialog();
 
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 
     /**
      * Function AcceptOptionsForKeepOut
diff --git a/pcbnew/dialogs/dialog_layers_setup.cpp b/pcbnew/dialogs/dialog_layers_setup.cpp
index eb849fc..9145c49 100644
--- a/pcbnew/dialogs/dialog_layers_setup.cpp
+++ b/pcbnew/dialogs/dialog_layers_setup.cpp
@@ -164,12 +164,12 @@ private:
     int getLayerTypeIndex( LAYER_NUM layer );
 
 
-    virtual void OnCancelButtonClick( wxCommandEvent& event );
-    virtual void OnOkButtonClick( wxCommandEvent& event );
-    virtual void OnCheckBox( wxCommandEvent& event );
-    virtual void DenyChangeCheckBox( wxCommandEvent& event );
-    virtual void OnPresetsChoice( wxCommandEvent& event );
-    virtual void OnCopperLayersChoice( wxCommandEvent& event );
+    virtual void OnCancelButtonClick( wxCommandEvent& event ) override;
+    virtual void OnOkButtonClick( wxCommandEvent& event ) override;
+    virtual void OnCheckBox( wxCommandEvent& event ) override;
+    virtual void DenyChangeCheckBox( wxCommandEvent& event ) override;
+    virtual void OnPresetsChoice( wxCommandEvent& event ) override;
+    virtual void OnCopperLayersChoice( wxCommandEvent& event ) override;
 
     bool testLayerNames();
 
@@ -214,7 +214,7 @@ private:
         m_typeStaticText->Move( offset + (widths[2] - txtz.x)/2, 5 );
     }
 
-    virtual void OnSize( wxSizeEvent& event );
+    virtual void OnSize( wxSizeEvent& event ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_mask_clearance.h b/pcbnew/dialogs/dialog_mask_clearance.h
index 764ea1a..f8478f9 100644
--- a/pcbnew/dialogs/dialog_mask_clearance.h
+++ b/pcbnew/dialogs/dialog_mask_clearance.h
@@ -43,8 +43,8 @@ public:
     ~DIALOG_PADS_MASK_CLEARANCE() {};
 private:
     void         myInit();
-    virtual void OnButtonOkClick( wxCommandEvent& event );
-    virtual void OnButtonCancelClick( wxCommandEvent& event );
+    virtual void OnButtonOkClick( wxCommandEvent& event ) override;
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override;
 };
 
 #endif    // _DIALOG_MASK_CLEARANCE_H_
diff --git a/pcbnew/dialogs/dialog_modedit_options.cpp b/pcbnew/dialogs/dialog_modedit_options.cpp
index 705e274..f0fd09a 100644
--- a/pcbnew/dialogs/dialog_modedit_options.cpp
+++ b/pcbnew/dialogs/dialog_modedit_options.cpp
@@ -44,8 +44,8 @@ public:
     DIALOG_MODEDIT_OPTIONS( FOOTPRINT_EDIT_FRAME* aParent );
 
 private:
-    virtual void OnCancelClick( wxCommandEvent& event ) { EndModal( wxID_CANCEL ); }
-    virtual void OnOkClick( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override { EndModal( wxID_CANCEL ); }
+    virtual void OnOkClick( wxCommandEvent& event ) override;
 
     void initValues( );
 };
diff --git a/pcbnew/dialogs/dialog_move_exact.h b/pcbnew/dialogs/dialog_move_exact.h
index 74778c3..9daef93 100644
--- a/pcbnew/dialogs/dialog_move_exact.h
+++ b/pcbnew/dialogs/dialog_move_exact.h
@@ -47,12 +47,12 @@ private:
     /*!
      * Reset a text field to be 0 if it was exited while blank
      */
-    virtual void OnTextFocusLost( wxFocusEvent& event );
+    virtual void OnTextFocusLost( wxFocusEvent& event ) override;
 
-    virtual void OnPolarChanged( wxCommandEvent& event );
-    virtual void OnClear( wxCommandEvent& event );
+    virtual void OnPolarChanged( wxCommandEvent& event ) override;
+    virtual void OnClear( wxCommandEvent& event ) override;
 
-    virtual void OnOkClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
 
     /**
      * Convert a given Cartesian point into a polar representation.
diff --git a/pcbnew/dialogs/dialog_netlist.h b/pcbnew/dialogs/dialog_netlist.h
index 821e1a1..df8ebed 100644
--- a/pcbnew/dialogs/dialog_netlist.h
+++ b/pcbnew/dialogs/dialog_netlist.h
@@ -78,19 +78,19 @@ private:
     void loadFootprints( NETLIST& aNetlist );
 
     // Virtual event handlers:
-    virtual void OnOpenNetlistClick( wxCommandEvent& event );
-    virtual void OnReadNetlistFileClick( wxCommandEvent& event );
-    virtual void OnTestFootprintsClick( wxCommandEvent& event );
-    virtual void OnCompileRatsnestClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnSaveMessagesToFile( wxCommandEvent& aEvent );
-    virtual void OnClickSilentMode( wxCommandEvent& event )
+    virtual void OnOpenNetlistClick( wxCommandEvent& event ) override;
+    virtual void OnReadNetlistFileClick( wxCommandEvent& event ) override;
+    virtual void OnTestFootprintsClick( wxCommandEvent& event ) override;
+    virtual void OnCompileRatsnestClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnSaveMessagesToFile( wxCommandEvent& aEvent ) override;
+    virtual void OnClickSilentMode( wxCommandEvent& event ) override
     {
         m_silentMode = m_checkBoxSilentMode->GetValue();
     }
 
-    virtual void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& aEvent );
-    virtual void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& aEvent );
+    virtual void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& aEvent ) override;
+    virtual void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& aEvent ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp b/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
index a60d226..30881ba 100644
--- a/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
+++ b/pcbnew/dialogs/dialog_non_copper_zones_properties.cpp
@@ -59,8 +59,8 @@ private:
     ZONE_SETTINGS*  m_ptr;
     ZONE_SETTINGS   m_settings;     // working copy of zone settings
 
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
     void Init();
 
 public:
diff --git a/pcbnew/dialogs/dialog_pad_properties.h b/pcbnew/dialogs/dialog_pad_properties.h
index 54f3cc6..d927f74 100644
--- a/pcbnew/dialogs/dialog_pad_properties.h
+++ b/pcbnew/dialogs/dialog_pad_properties.h
@@ -103,26 +103,26 @@ private:
     // event handlers:
     void OnResize( wxSizeEvent& event );
 
-    virtual void OnPadShapeSelection( wxCommandEvent& event );
-    virtual void OnDrillShapeSelected( wxCommandEvent& event );
+    virtual void OnPadShapeSelection( wxCommandEvent& event ) override;
+    virtual void OnDrillShapeSelected( wxCommandEvent& event ) override;
 
-    virtual void PadOrientEvent( wxCommandEvent& event );
-    virtual void PadTypeSelected( wxCommandEvent& event );
+    virtual void PadOrientEvent( wxCommandEvent& event ) override;
+    virtual void PadTypeSelected( wxCommandEvent& event ) override;
 
-    virtual void OnSetLayers( wxCommandEvent& event );
-    virtual void OnPaintShowPanel( wxPaintEvent& event );
+    virtual void OnSetLayers( wxCommandEvent& event ) override;
+    virtual void OnPaintShowPanel( wxPaintEvent& event ) override;
 
     // Called when corner setup value is changed for rounded rect pads
-    virtual void onCornerSizePercentChange( wxCommandEvent& event );
+    virtual void onCornerSizePercentChange( wxCommandEvent& event ) override;
 
     /// Called when a dimension has changed.
     /// Update the graphical pad shown in the panel.
-    virtual void OnValuesChanged( wxCommandEvent& event );
+    virtual void OnValuesChanged( wxCommandEvent& event ) override;
 
     /// Updates the different parameters for the component being edited.
     /// Automatically fired from the OK button click.
-    virtual bool TransferDataFromWindow();
-    virtual bool TransferDataToWindow();
+    virtual bool TransferDataFromWindow() override;
+    virtual bool TransferDataToWindow() override;
 };
 
 #endif      // #ifndef _DIALOG_PAD_PROPERTIES_H_
diff --git a/pcbnew/dialogs/dialog_pcb_text_properties.cpp b/pcbnew/dialogs/dialog_pcb_text_properties.cpp
index 6d85e5f..5b79363 100644
--- a/pcbnew/dialogs/dialog_pcb_text_properties.cpp
+++ b/pcbnew/dialogs/dialog_pcb_text_properties.cpp
@@ -62,8 +62,8 @@ private:
     wxFloatingPointValidator<double>    m_OrientValidator;
     double              m_OrientValue;
 
-    virtual bool TransferDataToWindow();
-    virtual bool TransferDataFromWindow();
+    virtual bool TransferDataToWindow() override;
+    virtual bool TransferDataFromWindow() override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_plot.h b/pcbnew/dialogs/dialog_plot.h
index d405c71..abc322a 100644
--- a/pcbnew/dialogs/dialog_plot.h
+++ b/pcbnew/dialogs/dialog_plot.h
@@ -59,15 +59,15 @@ private:
 
     // Event called functions
     void        Init_Dialog();
-    virtual void        Plot( wxCommandEvent& event );
-    virtual void        OnQuit( wxCommandEvent& event );
-    virtual void        OnClose( wxCloseEvent& event );
-    virtual void        OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
-    virtual void        OnRightClick( wxMouseEvent& event );
-    virtual void        OnPopUpLayers( wxCommandEvent& event );
-    virtual void        SetPlotFormat( wxCommandEvent& event );
-    virtual void        OnSetScaleOpt( wxCommandEvent& event );
-    virtual void        CreateDrillFile( wxCommandEvent& event );
+    virtual void        Plot( wxCommandEvent& event ) override;
+    virtual void        OnQuit( wxCommandEvent& event ) override;
+    virtual void        OnClose( wxCloseEvent& event ) override;
+    virtual void        OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
+    virtual void        OnRightClick( wxMouseEvent& event ) override;
+    virtual void        OnPopUpLayers( wxCommandEvent& event ) override;
+    virtual void        SetPlotFormat( wxCommandEvent& event ) override;
+    virtual void        OnSetScaleOpt( wxCommandEvent& event ) override;
+    virtual void        CreateDrillFile( wxCommandEvent& event ) override;
 
     // orther functions
     void        applyPlotSettings();
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
index 70f0538..f8ed49a 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
@@ -39,8 +39,8 @@ public:
 private:
     void updateCheckbox();
 
-    virtual void OnOkClick( wxCommandEvent& aEvent );
-    virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
+    virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event ) override;
 
     WX_UNIT_BINDER m_traceWidth;
     WX_UNIT_BINDER m_traceGap;
diff --git a/pcbnew/dialogs/dialog_pns_length_tuning_settings.h b/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
index f6dcba3..dd46ad2 100644
--- a/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
+++ b/pcbnew/dialogs/dialog_pns_length_tuning_settings.h
@@ -38,7 +38,7 @@ class DIALOG_PNS_LENGTH_TUNING_SETTINGS : public DIALOG_PNS_LENGTH_TUNING_SETTIN
 public:
     DIALOG_PNS_LENGTH_TUNING_SETTINGS( wxWindow* aParent, PNS_MEANDER_SETTINGS& aSettings, PNS_ROUTER_MODE aMode );
 
-    virtual void OnOkClick( wxCommandEvent& aEvent );
+    virtual void OnOkClick( wxCommandEvent& aEvent ) override;
 
 private:
     WX_UNIT_BINDER m_minAmpl;
diff --git a/pcbnew/dialogs/dialog_pns_settings.h b/pcbnew/dialogs/dialog_pns_settings.h
index d59cfa5..f073511 100644
--- a/pcbnew/dialogs/dialog_pns_settings.h
+++ b/pcbnew/dialogs/dialog_pns_settings.h
@@ -35,7 +35,7 @@ class DIALOG_PNS_SETTINGS : public DIALOG_PNS_SETTINGS_BASE
 		DIALOG_PNS_SETTINGS( wxWindow* aParent, PNS_ROUTING_SETTINGS& aSettings );
 
 	private:
-        virtual void OnOkClick( wxCommandEvent& aEvent );
+        virtual void OnOkClick( wxCommandEvent& aEvent ) override;
 
 		PNS_ROUTING_SETTINGS& m_settings;
 };
diff --git a/pcbnew/dialogs/dialog_print_for_modedit.cpp b/pcbnew/dialogs/dialog_print_for_modedit.cpp
index 90c9774..53ef70a 100644
--- a/pcbnew/dialogs/dialog_print_for_modedit.cpp
+++ b/pcbnew/dialogs/dialog_print_for_modedit.cpp
@@ -59,17 +59,17 @@ private:
     PCB_BASE_FRAME* m_parent;
     wxConfigBase*       m_config;
 
-    virtual void OnCloseWindow( wxCloseEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
 
     /// Open a dialog box for printer setup (printer options, page size ...)
-    virtual void OnPageSetup( wxCommandEvent& event );
+    virtual void OnPageSetup( wxCommandEvent& event ) override;
 
-    virtual void OnPrintPreview( wxCommandEvent& event );
+    virtual void OnPrintPreview( wxCommandEvent& event ) override;
 
     /// Called on activate Print button
-    virtual void OnPrintButtonClick( wxCommandEvent& event );
+    virtual void OnPrintButtonClick( wxCommandEvent& event ) override;
 
-    virtual void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override { Close(); }
     void InitValues( );
 };
 
diff --git a/pcbnew/dialogs/dialog_print_using_printer.cpp b/pcbnew/dialogs/dialog_print_using_printer.cpp
index d61912a..1c817ff 100644
--- a/pcbnew/dialogs/dialog_print_using_printer.cpp
+++ b/pcbnew/dialogs/dialog_print_using_printer.cpp
@@ -85,13 +85,13 @@ private:
     wxCheckBox*     m_BoxSelectLayer[LAYER_ID_COUNT];
     static bool     m_ExcludeEdgeLayer;
 
-    virtual void OnCloseWindow( wxCloseEvent& event );
-    virtual void OnPageSetup( wxCommandEvent& event );
-    virtual void OnPrintPreview( wxCommandEvent& event );
-    virtual void OnPrintButtonClick( wxCommandEvent& event );
-    virtual void OnScaleSelectionClick( wxCommandEvent& event );
+    virtual void OnCloseWindow( wxCloseEvent& event ) override;
+    virtual void OnPageSetup( wxCommandEvent& event ) override;
+    virtual void OnPrintPreview( wxCommandEvent& event ) override;
+    virtual void OnPrintButtonClick( wxCommandEvent& event ) override;
+    virtual void OnScaleSelectionClick( wxCommandEvent& event ) override;
 
-    virtual void OnButtonCancelClick( wxCommandEvent& event ) { Close(); }
+    virtual void OnButtonCancelClick( wxCommandEvent& event ) override { Close(); }
     void SetPrintParameters( );
     void SetPenWidth();
     void initValues( );
diff --git a/pcbnew/dialogs/dialog_select_net_from_list.cpp b/pcbnew/dialogs/dialog_select_net_from_list.cpp
index 6686f70..5355d50 100644
--- a/pcbnew/dialogs/dialog_select_net_from_list.cpp
+++ b/pcbnew/dialogs/dialog_select_net_from_list.cpp
@@ -61,8 +61,8 @@ public:
     bool GetNetName( wxString& aName );
 
 private:
-    virtual void onCellClick( wxGridEvent& event );
-    virtual void onFilterChange( wxCommandEvent& event );
+    virtual void onCellClick( wxGridEvent& event ) override;
+    virtual void onFilterChange( wxCommandEvent& event ) override;
 
     void buildNetsList();
 };
diff --git a/pcbnew/dialogs/dialog_select_pretty_lib.h b/pcbnew/dialogs/dialog_select_pretty_lib.h
index 1e5c3ce..4e2c9e3 100644
--- a/pcbnew/dialogs/dialog_select_pretty_lib.h
+++ b/pcbnew/dialogs/dialog_select_pretty_lib.h
@@ -50,8 +50,8 @@ public:
     const wxString GetFullPrettyLibName();
 
 private:
-    virtual void OnSelectFolder( wxFileDirPickerEvent& event );
-    virtual void OnOKButton( wxCommandEvent& event );
+    virtual void OnSelectFolder( wxFileDirPickerEvent& event ) override;
+    virtual void OnOKButton( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/dialogs/dialog_set_grid.cpp b/pcbnew/dialogs/dialog_set_grid.cpp
index 069212f..7ebde77 100644
--- a/pcbnew/dialogs/dialog_set_grid.cpp
+++ b/pcbnew/dialogs/dialog_set_grid.cpp
@@ -58,9 +58,9 @@ public:
         int* aFastGrid1, int* aFastGrid2, const wxArrayString& aGridChoices );
 
 private:
-    virtual void            OnResetGridOrgClick( wxCommandEvent& event );
-    virtual void            OnCancelClick( wxCommandEvent& event );
-    virtual void            OnOkClick( wxCommandEvent& event );
+    virtual void            OnResetGridOrgClick( wxCommandEvent& event ) override;
+    virtual void            OnCancelClick( wxCommandEvent& event ) override;
+    virtual void            OnOkClick( wxCommandEvent& event ) override;
 
     EDA_UNITS_T&    m_callers_grid_units;
     EDA_UNITS_T     m_callers_board_units;
diff --git a/pcbnew/dialogs/dialog_track_via_properties.h b/pcbnew/dialogs/dialog_track_via_properties.h
index 02620b5..0a7452e 100644
--- a/pcbnew/dialogs/dialog_track_via_properties.h
+++ b/pcbnew/dialogs/dialog_track_via_properties.h
@@ -39,11 +39,11 @@ public:
     bool Apply();
 
 private:
-    virtual void onClose( wxCloseEvent& aEvent );
-    virtual void onTrackNetclassCheck( wxCommandEvent& aEvent );
-    virtual void onViaNetclassCheck( wxCommandEvent& aEvent );
-    virtual void onCancelClick( wxCommandEvent& aEvent );
-    virtual void onOkClick( wxCommandEvent& aEvent );
+    virtual void onClose( wxCloseEvent& aEvent ) override;
+    virtual void onTrackNetclassCheck( wxCommandEvent& aEvent ) override;
+    virtual void onViaNetclassCheck( wxCommandEvent& aEvent ) override;
+    virtual void onCancelClick( wxCommandEvent& aEvent ) override;
+    virtual void onOkClick( wxCommandEvent& aEvent ) override;
 
     ///> Checks if the dialog values are correct.
     bool check() const;
diff --git a/pcbnew/dialogs/dialog_track_via_size.h b/pcbnew/dialogs/dialog_track_via_size.h
index c738a52..50102a2 100644
--- a/pcbnew/dialogs/dialog_track_via_size.h
+++ b/pcbnew/dialogs/dialog_track_via_size.h
@@ -50,9 +50,9 @@ protected:
     bool check();
 
     // Handlers for DIALOG_TRACK_VIA_SIZE_BASE events.
-    virtual void onClose( wxCloseEvent& aEvent );
-    virtual void onOkClick( wxCommandEvent& aEvent );
-    virtual void onCancelClick( wxCommandEvent& aEvent );
+    virtual void onClose( wxCloseEvent& aEvent ) override;
+    virtual void onOkClick( wxCommandEvent& aEvent ) override;
+    virtual void onCancelClick( wxCommandEvent& aEvent ) override;
 };
 
 #endif // __dialog_track_via_size__
diff --git a/pcbnew/dialogs/dialog_update_pcb.h b/pcbnew/dialogs/dialog_update_pcb.h
index 88b7151..5b4c181 100644
--- a/pcbnew/dialogs/dialog_update_pcb.h
+++ b/pcbnew/dialogs/dialog_update_pcb.h
@@ -47,9 +47,9 @@ public:
 
 private:
 
-    virtual void OnMatchChange( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnUpdateClick( wxCommandEvent& event );
+    virtual void OnMatchChange( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnUpdateClick( wxCommandEvent& event ) override;
 
 };
 
diff --git a/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h b/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
index 932eff5..da5dfc8 100644
--- a/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
+++ b/pcbnew/dialogs/wizard_3DShape_Libs_downloader.h
@@ -65,16 +65,16 @@ public:
     // Wizard event handlers
     void OnSourceCheck( wxCommandEvent& aEvent );
     void OnCheckGithubList( wxCommandEvent& aEvent );
-    virtual void OnPageChanged( wxWizardEvent& aEvent );
-    virtual void OnSelectAll3Dlibs( wxCommandEvent& aEvent );
-    virtual void OnUnselectAll3Dlibs( wxCommandEvent& aEvent );
-    virtual void OnChangeSearch( wxCommandEvent& aEvent );
-    virtual void OnWizardFinished( wxWizardEvent& aEvent );
-    virtual void OnBrowseButtonClick( wxCommandEvent& aEvent );
+    virtual void OnPageChanged( wxWizardEvent& aEvent ) override;
+    virtual void OnSelectAll3Dlibs( wxCommandEvent& aEvent ) override;
+    virtual void OnUnselectAll3Dlibs( wxCommandEvent& aEvent ) override;
+    virtual void OnChangeSearch( wxCommandEvent& aEvent ) override;
+    virtual void OnWizardFinished( wxWizardEvent& aEvent ) override;
+    virtual void OnBrowseButtonClick( wxCommandEvent& aEvent ) override;
     void OnCheckSaveCopy( wxCommandEvent& aEvent );
-    virtual void OnDefault3DPathButtonClick( wxCommandEvent& event );
-    virtual void OnGridLibReviewSize( wxSizeEvent& event );
-    virtual void OnLocalFolderChange( wxCommandEvent& event );
+    virtual void OnDefault3DPathButtonClick( wxCommandEvent& event ) override;
+    virtual void OnGridLibReviewSize( wxSizeEvent& event ) override;
+    virtual void OnLocalFolderChange( wxCommandEvent& event ) override;
 
 protected:
     // Initialization of wizard pages
diff --git a/pcbnew/dialogs/wizard_add_fplib.h b/pcbnew/dialogs/wizard_add_fplib.h
index bc5b263..d0e715a 100644
--- a/pcbnew/dialogs/wizard_add_fplib.h
+++ b/pcbnew/dialogs/wizard_add_fplib.h
@@ -86,13 +86,13 @@ public:
     void OnSourceCheck( wxCommandEvent& aEvent );
     void OnSelectFiles( wxCommandEvent& aEvent );
     void OnCheckGithubList( wxCommandEvent& aEvent );
-    virtual void OnPageChanged( wxWizardEvent& aEvent );
-    virtual void OnSelectAllGH( wxCommandEvent& aEvent );
-    virtual void OnUnselectAllGH( wxCommandEvent& aEvent );
-    virtual void OnChangeSearch( wxCommandEvent& aEvent );
-    virtual void OnWizardFinished( wxWizardEvent& aEvent );
-    virtual void OnBrowseButtonClick( wxCommandEvent& aEvent );
-    virtual void OnCheckSaveCopy( wxCommandEvent& aEvent );
+    virtual void OnPageChanged( wxWizardEvent& aEvent ) override;
+    virtual void OnSelectAllGH( wxCommandEvent& aEvent ) override;
+    virtual void OnUnselectAllGH( wxCommandEvent& aEvent ) override;
+    virtual void OnChangeSearch( wxCommandEvent& aEvent ) override;
+    virtual void OnWizardFinished( wxWizardEvent& aEvent ) override;
+    virtual void OnBrowseButtonClick( wxCommandEvent& aEvent ) override;
+    virtual void OnCheckSaveCopy( wxCommandEvent& aEvent ) override;
 
     class LIBRARY
     {
diff --git a/pcbnew/dimension.cpp b/pcbnew/dimension.cpp
index 8fd71a4..982701f 100644
--- a/pcbnew/dimension.cpp
+++ b/pcbnew/dimension.cpp
@@ -94,8 +94,8 @@ public:
 
 
 private:
-    virtual void OnCancelClick( wxCommandEvent& event );
-    virtual void OnOKClick( wxCommandEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
+    virtual void OnOKClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/eagle_plugin.h b/pcbnew/eagle_plugin.h
index d228967..354ea65 100644
--- a/pcbnew/eagle_plugin.h
+++ b/pcbnew/eagle_plugin.h
@@ -79,22 +79,22 @@ class EAGLE_PLUGIN : public PLUGIN
 public:
 
     //-----<PUBLIC PLUGIN API>--------------------------------------------------
-    virtual const wxString PluginName() const;
+    virtual const wxString PluginName() const override;
 
-    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe,  const PROPERTIES* aProperties = NULL );
+    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe,  const PROPERTIES* aProperties = NULL ) override;
 
-    virtual const wxString GetFileExtension() const;
+    virtual const wxString GetFileExtension() const override;
 
-    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
-    virtual MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL );
+    virtual MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath )
+    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath ) override
     {
         return false;   // until someone writes others like FootprintSave(), etc.
     }
 
-    virtual void FootprintLibOptions( PROPERTIES* aProperties ) const;
+    virtual void FootprintLibOptions( PROPERTIES* aProperties ) const override;
 
 /*
     void Save( const wxString& aFileName, BOARD* aBoard, const PROPERTIES* aProperties = NULL );
diff --git a/pcbnew/edit.cpp b/pcbnew/edit.cpp
index 226c8f5..7052faa 100644
--- a/pcbnew/edit.cpp
+++ b/pcbnew/edit.cpp
@@ -1610,34 +1610,34 @@ public:
 
 private:
 
-    virtual int getNumberOfItemsToArray() const
+    virtual int getNumberOfItemsToArray() const override
     {
         // only handle single items
         return (m_item != NULL) ? 1 : 0;
     }
 
-    virtual BOARD_ITEM* getNthItemToArray( int n ) const
+    virtual BOARD_ITEM* getNthItemToArray( int n ) const override
     {
         wxASSERT_MSG( n == 0, "Legacy array tool can only handle a single item" );
         return m_item;
     }
 
-    virtual BOARD* getBoard() const
+    virtual BOARD* getBoard() const override
     {
         return m_parent.GetBoard();
     }
 
-    virtual MODULE* getModule() const
+    virtual MODULE* getModule() const override
     {
         return dynamic_cast<MODULE*>( m_item->GetParent() );
     }
 
-    virtual wxPoint getRotationCentre() const
+    virtual wxPoint getRotationCentre() const override
     {
         return m_item->GetCenter();
     }
 
-    virtual void finalise()
+    virtual void finalise() override
     {
         m_parent.GetCanvas()->Refresh();
     }
diff --git a/pcbnew/exporters/gen_modules_placefile.cpp b/pcbnew/exporters/gen_modules_placefile.cpp
index b7f8b86..9dceb8e 100644
--- a/pcbnew/exporters/gen_modules_placefile.cpp
+++ b/pcbnew/exporters/gen_modules_placefile.cpp
@@ -117,8 +117,8 @@ private:
     static int m_fileFormat;
 
 	void initDialog();
-    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event );
-    virtual void OnOKButton( wxCommandEvent& event );
+    virtual void OnOutputDirectoryBrowseClicked( wxCommandEvent& event ) override;
+    virtual void OnOKButton( wxCommandEvent& event ) override;
 
     bool CreateFiles();
 
diff --git a/pcbnew/footprint_wizard_frame.h b/pcbnew/footprint_wizard_frame.h
index d2ea99a..2d895e8 100644
--- a/pcbnew/footprint_wizard_frame.h
+++ b/pcbnew/footprint_wizard_frame.h
@@ -74,7 +74,7 @@ public:
 
 private:
 
-    virtual void        OnSize( wxSizeEvent& event );
+    virtual void        OnSize( wxSizeEvent& event ) override;
 
     /**
      * Function ExportSelectedFootprint();
@@ -143,28 +143,28 @@ private:
     void                DisplayWizardInfos();
 
 
-    virtual void        RedrawActiveWindow( wxDC* DC, bool EraseBg );
-    virtual void        OnCloseWindow( wxCloseEvent& Event );
-    virtual void        ReCreateHToolbar();
-    virtual void        ReCreateVToolbar();
-    virtual void        OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void        RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
+    virtual void        OnCloseWindow( wxCloseEvent& Event ) override;
+    virtual void        ReCreateHToolbar() override;
+    virtual void        ReCreateVToolbar() override;
+    virtual void        OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
     void                ClickOnPageList( wxCommandEvent& event );
     void                OnSetRelativeOffset( wxCommandEvent& event );
 
-    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool        GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
-    virtual void        LoadSettings( wxConfigBase* aCfg );
-    virtual void        SaveSettings( wxConfigBase* aCfg );
+    virtual void        LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void        SaveSettings( wxConfigBase* aCfg ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int ) const { return NULL; }
+    virtual EDA_HOTKEY* GetHotKeyDescription( int ) const override { return NULL; }
 
     /**
      * Function OnActivate
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void        OnActivate( wxActivateEvent& event );
+    virtual void        OnActivate( wxActivateEvent& event ) override;
 
     void                SelectCurrentWizard( wxCommandEvent& event );
 
@@ -174,13 +174,13 @@ private:
      */
     void                ParametersUpdated( wxGridEvent& event );
 
-    virtual bool        OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    virtual bool        OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * Function Show3D_Frame (virtual)
      * displays 3D view of the footprint (module) being edited.
      */
-    virtual void        Show3D_Frame( wxCommandEvent& event );
+    virtual void        Show3D_Frame( wxCommandEvent& event ) override;
 
     /**
      * Function Update3D_Frame
@@ -195,9 +195,9 @@ private:
      * Virtual functions, not used here, but needed by PCB_BASE_FRAME
      * (virtual pure functions )
      */
-    virtual void OnLeftDClick( wxDC*, const wxPoint& ) {}
-    virtual void SaveCopyInUndoList( BOARD_ITEM*, UNDO_REDO_T, const wxPoint& ) {}
-    virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST&, UNDO_REDO_T, const wxPoint& ) {}
+    virtual void OnLeftDClick( wxDC*, const wxPoint& ) override {}
+    virtual void SaveCopyInUndoList( BOARD_ITEM*, UNDO_REDO_T, const wxPoint& ) override {}
+    virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST&, UNDO_REDO_T, const wxPoint& ) override {}
 
 
     DECLARE_EVENT_TABLE()
diff --git a/pcbnew/github/github_plugin.h b/pcbnew/github/github_plugin.h
index 0845fba..5fed26c 100644
--- a/pcbnew/github/github_plugin.h
+++ b/pcbnew/github/github_plugin.h
@@ -163,33 +163,33 @@ class GITHUB_PLUGIN : public PCB_IO
 {
 public:
     //-----<PLUGIN API>----------------------------------------------------------
-    virtual const wxString PluginName() const;
+    virtual const wxString PluginName() const override;
 
-    virtual const wxString GetFileExtension() const;
+    virtual const wxString GetFileExtension() const override;
 
     virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath,
-            const PROPERTIES* aProperties = NULL );
+            const PROPERTIES* aProperties = NULL ) override;
 
     virtual MODULE* FootprintLoad( const wxString& aLibraryPath,
-            const wxString& aFootprintName, const PROPERTIES* aProperties );
+            const wxString& aFootprintName, const PROPERTIES* aProperties ) override;
 
     virtual void FootprintSave( const wxString& aLibraryPath, const MODULE* aFootprint,
-            const PROPERTIES* aProperties = NULL );
+            const PROPERTIES* aProperties = NULL ) override;
 
     virtual void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
-            const PROPERTIES* aProperties = NULL );
+            const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
-    virtual void FootprintLibOptions( PROPERTIES* aListToAppendTo ) const;
+    virtual void FootprintLibOptions( PROPERTIES* aListToAppendTo ) const override;
 
     // Since I derive from PCB_IO, I have to implement this, else I'd inherit his, which is bad since
     // my lib_path is not his.  Note: it is impossible to create a Github library, but can the C.O.W. portion.
-    virtual void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties );
+    virtual void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties ) override;
 
     // Since I derive from PCB_IO, I have to implement this, else I'd inherit his, which is bad since
     // my lib_path is not his.  Note: it is impossible to delete a Github library, but can the C.O.W portion.
-    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties );
+    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties ) override;
 
     //-----</PLUGIN API>---------------------------------------------------------
 
diff --git a/pcbnew/github/html_link_parser.h b/pcbnew/github/html_link_parser.h
index 4e8f52e..e8a0562 100644
--- a/pcbnew/github/html_link_parser.h
+++ b/pcbnew/github/html_link_parser.h
@@ -60,12 +60,12 @@ public:
     {
     }
 
-    virtual wxString GetSupportedTags()
+    virtual wxString GetSupportedTags() override
     {
         return "A";
     }
 
-    virtual bool HandleTag(const wxHtmlTag& tag);
+    virtual bool HandleTag(const wxHtmlTag& tag) override;
 };
 
 /**
@@ -95,12 +95,12 @@ public:
     }
 
     // virtual pure from wxHtmlParser, do nothing here, but needed.
-    virtual void AddText( const wxString& aText ) {}
+    virtual void AddText( const wxString& aText ) override {}
 
     // Our "AddText" used to store selected text (the url link)
     void AddString( const wxString& aText );
 
-    virtual wxObject* GetProduct()
+    virtual wxObject* GetProduct() override
     {
         return NULL;
     }
diff --git a/pcbnew/globaleditpad.cpp b/pcbnew/globaleditpad.cpp
index 1c71622..29c5617 100644
--- a/pcbnew/globaleditpad.cpp
+++ b/pcbnew/globaleditpad.cpp
@@ -59,9 +59,9 @@ public:
     DIALOG_GLOBAL_PADS_EDITION( PCB_BASE_FRAME* aParent, D_PAD* aPad );
 
 private:
-    virtual void InstallPadEditor( wxCommandEvent& event );
-    virtual void PadPropertiesAccept( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void InstallPadEditor( wxCommandEvent& event ) override;
+    virtual void PadPropertiesAccept( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/gpcb_plugin.h b/pcbnew/gpcb_plugin.h
index 59e37dc..fb321e2 100644
--- a/pcbnew/gpcb_plugin.h
+++ b/pcbnew/gpcb_plugin.h
@@ -52,28 +52,28 @@ public:
 
     //-----<PLUGIN API>---------------------------------------------------------
 
-    virtual const wxString PluginName() const
+    virtual const wxString PluginName() const override
     {
         return wxT( "Geda PCB" );
     }
 
-    virtual const wxString GetFileExtension() const
+    virtual const wxString GetFileExtension() const override
     {
         return wxT( "fp" );
     }
 
     virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath,
-                                              const PROPERTIES* aProperties = NULL);
+                                              const PROPERTIES* aProperties = NULL) override;
 
     virtual MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName,
-                                   const PROPERTIES* aProperties = NULL );
+                                   const PROPERTIES* aProperties = NULL ) override;
 
     virtual void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
-                                  const PROPERTIES* aProperties = NULL );
+                                  const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN API>--------------------------------------------------------
 
diff --git a/pcbnew/import_dxf/dialog_dxf_import.h b/pcbnew/import_dxf/dialog_dxf_import.h
index 8b3e2a6..5b45807 100644
--- a/pcbnew/import_dxf/dialog_dxf_import.h
+++ b/pcbnew/import_dxf/dialog_dxf_import.h
@@ -55,10 +55,10 @@ private:
     static LAYER_NUM     m_layer;
 
     // Virtual event handlers
-    virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
-    virtual void OnOKClick( wxCommandEvent& event );
-    virtual void OnBrowseDxfFiles( wxCommandEvent& event );
-    virtual void OriginOptionOnUpdateUI( wxUpdateUIEvent& event );
+    virtual void OnCancelClick( wxCommandEvent& event ) override { event.Skip(); }
+    virtual void OnOKClick( wxCommandEvent& event ) override;
+    virtual void OnBrowseDxfFiles( wxCommandEvent& event ) override;
+    virtual void OriginOptionOnUpdateUI( wxUpdateUIEvent& event ) override;
     int  GetPCBGridUnits( void );
     void GetPCBGridOffsets( double &aXOffset, double &aYOffset );
 };
diff --git a/pcbnew/import_dxf/dxf2brd_items.h b/pcbnew/import_dxf/dxf2brd_items.h
index be12d6d..6156474 100644
--- a/pcbnew/import_dxf/dxf2brd_items.h
+++ b/pcbnew/import_dxf/dxf2brd_items.h
@@ -106,71 +106,71 @@ private:
     // They are "call back" fonctions, called when the corresponding object
     // is read in dxf file
     // Depending of the application, they can do something or not
-    virtual void addHeader( const DRW_Header* aData );
-    virtual void addLType( const DRW_LType& aData ) {}
-    virtual void addLayer( const DRW_Layer& aData );
-    virtual void addDimStyle( const DRW_Dimstyle& aData ) {}
-    virtual void addBlock( const DRW_Block& aData ) {}
-    virtual void endBlock() {}
-    virtual void addPoint( const DRW_Point& aData ) {}
-    virtual void addLine( const DRW_Line& aData);
-    virtual void addRay( const DRW_Ray& aData ) {}
-    virtual void addXline( const DRW_Xline& aData ) {}
-    virtual void addCircle( const DRW_Circle& aData );
-    virtual void addArc( const DRW_Arc& aData );
-    virtual void addEllipse( const DRW_Ellipse& aData ) {}
-    virtual void addLWPolyline( const DRW_LWPolyline& aData );
-    virtual void addText( const DRW_Text& aData );
-    virtual void addPolyline( const DRW_Polyline& aData );
-    virtual void addSpline( const DRW_Spline* aData ) {}
-    virtual void addKnot( const DRW_Entity&) {}
-    virtual void addInsert( const DRW_Insert& aData ) {}
-    virtual void addTrace( const DRW_Trace& aData ) {}
-    virtual void addSolid( const DRW_Solid& aData ) {}
-    virtual void addMText( const DRW_MText& aData);
-    virtual void addDimAlign( const DRW_DimAligned* aData ) {}
-    virtual void addDimLinear( const DRW_DimLinear* aData ) {}
-    virtual void addDimRadial( const DRW_DimRadial* aData ) {}
-    virtual void addDimDiametric( const DRW_DimDiametric* aData ) {}
-    virtual void addDimAngular( const DRW_DimAngular* aData ) {}
-    virtual void addDimAngular3P( const DRW_DimAngular3p* aData ) {}
-    virtual void addDimOrdinate( const DRW_DimOrdinate* aData ) {}
-    virtual void addLeader( const DRW_Leader* aData ) {}
-    virtual void addHatch( const DRW_Hatch* aData ) {}
-    virtual void addImage( const DRW_Image* aData ) {}
-    virtual void linkImage( const DRW_ImageDef* aData ) {}
-
-    virtual void add3dFace( const DRW_3Dface& aData ) {}
-    virtual void addComment( const char*) {}
-
-    virtual void addVport( const DRW_Vport& aData ) {}
-
-    virtual void addTextStyle( const DRW_Textstyle& aData );
-
-    virtual void addViewport( const DRW_Viewport& aData ) {}
-
-    virtual void setBlock( const int aHandle ) {}
+    virtual void addHeader( const DRW_Header* aData ) override;
+    virtual void addLType( const DRW_LType& aData ) override {}
+    virtual void addLayer( const DRW_Layer& aData ) override;
+    virtual void addDimStyle( const DRW_Dimstyle& aData ) override {}
+    virtual void addBlock( const DRW_Block& aData ) override {}
+    virtual void endBlock() override {}
+    virtual void addPoint( const DRW_Point& aData ) override {}
+    virtual void addLine( const DRW_Line& aData) override;
+    virtual void addRay( const DRW_Ray& aData ) override {}
+    virtual void addXline( const DRW_Xline& aData ) override {}
+    virtual void addCircle( const DRW_Circle& aData ) override;
+    virtual void addArc( const DRW_Arc& aData ) override;
+    virtual void addEllipse( const DRW_Ellipse& aData ) override {}
+    virtual void addLWPolyline( const DRW_LWPolyline& aData ) override;
+    virtual void addText( const DRW_Text& aData ) override;
+    virtual void addPolyline( const DRW_Polyline& aData ) override;
+    virtual void addSpline( const DRW_Spline* aData ) override {}
+    virtual void addKnot( const DRW_Entity&) override {}
+    virtual void addInsert( const DRW_Insert& aData ) override {}
+    virtual void addTrace( const DRW_Trace& aData ) override {}
+    virtual void addSolid( const DRW_Solid& aData ) override {}
+    virtual void addMText( const DRW_MText& aData) override;
+    virtual void addDimAlign( const DRW_DimAligned* aData ) override {}
+    virtual void addDimLinear( const DRW_DimLinear* aData ) override {}
+    virtual void addDimRadial( const DRW_DimRadial* aData ) override {}
+    virtual void addDimDiametric( const DRW_DimDiametric* aData ) override {}
+    virtual void addDimAngular( const DRW_DimAngular* aData ) override {}
+    virtual void addDimAngular3P( const DRW_DimAngular3p* aData ) override {}
+    virtual void addDimOrdinate( const DRW_DimOrdinate* aData ) override {}
+    virtual void addLeader( const DRW_Leader* aData ) override {}
+    virtual void addHatch( const DRW_Hatch* aData ) override {}
+    virtual void addImage( const DRW_Image* aData ) override {}
+    virtual void linkImage( const DRW_ImageDef* aData ) override {}
+
+    virtual void add3dFace( const DRW_3Dface& aData ) override {}
+    virtual void addComment( const char*) override {}
+
+    virtual void addVport( const DRW_Vport& aData ) override {}
+
+    virtual void addTextStyle( const DRW_Textstyle& aData ) override;
+
+    virtual void addViewport( const DRW_Viewport& aData ) override {}
+
+    virtual void setBlock( const int aHandle ) override {}
 
     static wxString toDxfString( const wxString& aStr );
     static wxString toNativeString( const wxString& aData );
 
     // These functions are not used in Kicad.
     // But because they are virtual pure in DRW_Interface, they should be defined
-    virtual void writeTextstyles() {}
-    virtual void writeVports() {}
-    virtual void writeHeader( DRW_Header& aData ) {}
-    virtual void writeEntities() {}
-    virtual void writeLTypes() {}
-    virtual void writeLayers() {}
-    virtual void writeBlockRecords() {}
-    virtual void writeBlocks() {}
-    virtual void writeDimstyles() {}
+    virtual void writeTextstyles() override {}
+    virtual void writeVports() override {}
+    virtual void writeHeader( DRW_Header& aData ) override {}
+    virtual void writeEntities() override {}
+    virtual void writeLTypes() override {}
+    virtual void writeLayers() override {}
+    virtual void writeBlockRecords() override {}
+    virtual void writeBlocks() override {}
+    virtual void writeDimstyles() override {}
 
     void writeLine();
     void writeMtext();
 
-    virtual void addAppId( const DRW_AppId& data ) {}
-    virtual void writeAppId() {}
+    virtual void addAppId( const DRW_AppId& data ) override {}
+    virtual void writeAppId() override {}
 };
 
 #endif  // FILTERDXFRW_H
diff --git a/pcbnew/kicad_plugin.h b/pcbnew/kicad_plugin.h
index 51031b6..f1f4646 100644
--- a/pcbnew/kicad_plugin.h
+++ b/pcbnew/kicad_plugin.h
@@ -89,12 +89,12 @@ public:
 
     //-----<PLUGIN API>---------------------------------------------------------
 
-    virtual const wxString PluginName() const
+    virtual const wxString PluginName() const override
     {
         return wxT( "KiCad" );
     }
 
-    virtual const wxString GetFileExtension() const
+    virtual const wxString GetFileExtension() const override
     {
         // Would have used wildcards_and_files_ext.cpp's KiCadPcbFileExtension,
         // but to be pure, a plugin should not assume that it will always be linked
@@ -104,25 +104,25 @@ public:
     }
 
     virtual void Save( const wxString& aFileName, BOARD* aBoard,
-                       const PROPERTIES* aProperties = NULL );
+                       const PROPERTIES* aProperties = NULL ) override;
 
-    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL );
+    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
     virtual MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName,
-                                   const PROPERTIES* aProperties = NULL );
+                                   const PROPERTIES* aProperties = NULL ) override;
 
     virtual void FootprintSave( const wxString& aLibraryPath, const MODULE* aFootprint,
-                                const PROPERTIES* aProperties = NULL );
+                                const PROPERTIES* aProperties = NULL ) override;
 
-    virtual void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL );
+    virtual void FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    virtual void FootprintLibCreate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
-    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN API>--------------------------------------------------------
 
diff --git a/pcbnew/legacy_plugin.h b/pcbnew/legacy_plugin.h
index 96b0a56..58063e5 100644
--- a/pcbnew/legacy_plugin.h
+++ b/pcbnew/legacy_plugin.h
@@ -67,26 +67,26 @@ public:
 
     //-----<PLUGIN IMPLEMENTATION>----------------------------------------------
 
-    virtual const wxString PluginName() const
+    virtual const wxString PluginName() const override
     {
         return wxT( "KiCad-Legacy" );
     }
 
-    virtual const wxString GetFileExtension() const
+    virtual const wxString GetFileExtension() const override
     {
         return wxT( "brd" );
     }
 
-    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL );
+    virtual BOARD* Load( const wxString& aFileName, BOARD* aAppendToMe, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL);
+    virtual wxArrayString FootprintEnumerate( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL) override;
 
     virtual MODULE* FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName,
-                                    const PROPERTIES* aProperties = NULL );
+                                    const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL );
+    virtual bool FootprintLibDelete( const wxString& aLibraryPath, const PROPERTIES* aProperties = NULL ) override;
 
-    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath );
+    virtual bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
 
     //-----</PLUGIN IMPLEMENTATION>---------------------------------------------
 
diff --git a/pcbnew/module_editor_frame.h b/pcbnew/module_editor_frame.h
index 8eb7c89..1bb57f3 100644
--- a/pcbnew/module_editor_frame.h
+++ b/pcbnew/module_editor_frame.h
@@ -54,14 +54,14 @@ public:
      */
     static const wxChar* GetFootprintEditorFrameName();
 
-    virtual BOARD_DESIGN_SETTINGS& GetDesignSettings() const;
-    virtual void SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings );
+    virtual BOARD_DESIGN_SETTINGS& GetDesignSettings() const override;
+    virtual void SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings ) override;
 
-    virtual const PCB_PLOT_PARAMS& GetPlotSettings() const;
-    virtual void SetPlotSettings( const PCB_PLOT_PARAMS& aSettings );
+    virtual const PCB_PLOT_PARAMS& GetPlotSettings() const override;
+    virtual void SetPlotSettings( const PCB_PLOT_PARAMS& aSettings ) override;
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function GetConfigurationSettings
@@ -79,7 +79,7 @@ public:
 
     void InstallOptionsFrame( const wxPoint& pos );
 
-    virtual void OnCloseWindow( wxCloseEvent& Event );
+    virtual void OnCloseWindow( wxCloseEvent& Event ) override;
     void CloseModuleEditor( wxCommandEvent& Event );
 
     void Process_Special_Functions( wxCommandEvent& event );
@@ -90,25 +90,25 @@ public:
      * Function RedrawActiveWindoow
      * draws the footprint editor BOARD, and others elements such as axis and grid.
      */
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
     /**
      * Function ReCreateHToolbar
      * create the main horizontal toolbar for the footprint editor
      */
-    virtual void ReCreateHToolbar();
+    virtual void ReCreateHToolbar() override;
 
-    virtual void ReCreateVToolbar();
+    virtual void ReCreateVToolbar() override;
     void ReCreateOptToolbar();
-    virtual void ReCreateAuxiliaryToolbar();
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void ReCreateAuxiliaryToolbar() override;
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnLeftDClick
      * handles the double click in the footprint editor:
      * If the double clicked item is editable: call the corresponding editor.
      */
-    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override;
 
     /**
      * Function OnRightClick
@@ -116,17 +116,17 @@ public:
      * Create the pop up menu
      * After this menu is built, the standard ZOOM menu is added
      */
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * @brief (Re)Create the menubar for the module editor frame
      */
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateMenuBar() override;
 
     // The Tool Framework initalization, for GAL mode
     void setupTools();
 
-    virtual void ToolOnRightClick( wxCommandEvent& event );
+    virtual void ToolOnRightClick( wxCommandEvent& event ) override;
     void OnSelectOptionToolbar( wxCommandEvent& event );
     void OnConfigurePaths( wxCommandEvent& aEvent );
 
@@ -140,7 +140,7 @@ public:
     void OnSaveLibraryAs( wxCommandEvent& aEvent );
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -150,7 +150,7 @@ public:
      * case insensitive
      * </p>
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
     BOARD_ITEM* PrepareItemForHotkey( bool failIfCurrentlyEdited );
 
@@ -165,9 +165,9 @@ public:
      * Function Show3D_Frame
      * displays 3D view of the footprint (module) being edited.
      */
-    virtual void Show3D_Frame( wxCommandEvent& event );
+    virtual void Show3D_Frame( wxCommandEvent& event ) override;
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
     void OnVerticalToolbar( wxCommandEvent& aEvent );
 
     void OnUpdateVerticalToolbar( wxUpdateUIEvent& aEvent );
@@ -181,7 +181,7 @@ public:
     void OnUpdateSelectCurrentLib( wxUpdateUIEvent& aEvent );
 
     ///> @copydoc PCB_BASE_EDIT_FRAME::OnEditItemRequest()
-    virtual void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem );
+    virtual void OnEditItemRequest( wxDC* aDC, BOARD_ITEM* aItem ) override;
 
     /**
      * Function LoadModuleFromBoard
@@ -212,7 +212,7 @@ public:
      * and prepare, if needed the refresh of the 3D frame showing the footprint
      * do not forget to call the basic OnModify function to update auxiliary info
      */
-    virtual void OnModify();
+    virtual void OnModify() override;
 
     /**
      * Function ToPrinter
@@ -230,7 +230,7 @@ public:
      * @param aData = a pointer on an auxiliary data (NULL if not used)
      */
     virtual void PrintPage( wxDC* aDC, LSET aPrintMaskLayer, bool aPrintMirrorMode,
-                            void * aData = NULL);
+                            void * aData = NULL) override;
 
     // BOARD handling
 
@@ -242,7 +242,7 @@ public:
     bool Clear_Pcb( bool aQuery );
 
     /* handlers for block commands */
-    virtual int BlockCommand( EDA_KEY key );
+    virtual int BlockCommand( EDA_KEY key ) override;
 
     /**
      * Function HandleBlockPlace
@@ -251,7 +251,7 @@ public:
      *  - block move & drag
      *  - block copy & paste
      */
-    virtual void HandleBlockPlace( wxDC* DC );
+    virtual void HandleBlockPlace( wxDC* DC ) override;
 
     /**
      * Function HandleBlockEnd( )
@@ -263,7 +263,7 @@ public:
      * @return false if no item selected, or command finished,
      * true if some items found and HandleBlockPlace must be called later
      */
-    virtual bool HandleBlockEnd( wxDC* DC );
+    virtual bool HandleBlockEnd( wxDC* DC ) override;
 
     BOARD_ITEM* ModeditLocateAndDisplay( int aHotKeyCode = 0 );
 
@@ -280,7 +280,7 @@ public:
      */
     virtual void SaveCopyInUndoList( BOARD_ITEM* aItem,
                                      UNDO_REDO_T aTypeCommand,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override;
 
     /**
      * Function SaveCopyInUndoList (overloaded).
@@ -293,7 +293,7 @@ public:
      */
     virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
                                      UNDO_REDO_T aTypeCommand,
-                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
+                                     const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override;
 
     /**
      * Function RestoreCopyFromUndoList
@@ -301,7 +301,7 @@ public:
      *  - Place the current edited library component in Redo list
      *  - Get old version of the current edited library component
      */
-    virtual void RestoreCopyFromUndoList( wxCommandEvent& aEvent );
+    virtual void RestoreCopyFromUndoList( wxCommandEvent& aEvent ) override;
 
     /**
      * Function RestoreCopyFromRedoList
@@ -309,7 +309,7 @@ public:
      *  - Place the current edited library component in undo list
      *  - Get old version of the current edited library component
      */
-    virtual void RestoreCopyFromRedoList( wxCommandEvent& aEvent );
+    virtual void RestoreCopyFromRedoList( wxCommandEvent& aEvent ) override;
 
     /// Return the current library nickname.
     const wxString GetCurrentLib() const;
@@ -475,7 +475,7 @@ public:
      * Function IsGridVisible() , virtual
      * @return true if the grid must be shown
      */
-    virtual bool IsGridVisible() const;
+    virtual bool IsGridVisible() const override;
 
     /**
      * Function SetGridVisibility() , virtual
@@ -483,19 +483,19 @@ public:
      * if you want to store/retrieve the grid visibility in configuration.
      * @param aVisible = true if the grid must be shown
      */
-    virtual void SetGridVisibility( bool aVisible );
+    virtual void SetGridVisibility( bool aVisible ) override;
 
     /**
      * Function GetGridColor() , virtual
      * @return the color of the grid
      */
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     ///> @copydoc PCB_BASE_FRAME::SetActiveLayer()
-    virtual void SetActiveLayer( LAYER_ID aLayer );
+    virtual void SetActiveLayer( LAYER_ID aLayer ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
     DECLARE_EVENT_TABLE()
 
@@ -545,7 +545,7 @@ private:
      * Duplicate the item under the cursor
      * @param aIncrement increment the number of pad (if that is what is selected)
      */
-    virtual void duplicateItems( bool aIncrement );
+    virtual void duplicateItems( bool aIncrement ) override;
 };
 
 #endif      // MODULE_EDITOR_FRAME_H_
diff --git a/pcbnew/modview_frame.h b/pcbnew/modview_frame.h
index f92d0bb..018d10f 100644
--- a/pcbnew/modview_frame.h
+++ b/pcbnew/modview_frame.h
@@ -52,7 +52,7 @@ protected:
 public:
     ~FOOTPRINT_VIEWER_FRAME();
 
-    virtual EDA_COLOR_T GetGridColor() const;
+    virtual EDA_COLOR_T GetGridColor() const override;
 
     /**
      * Function ReCreateLibraryList
@@ -73,7 +73,7 @@ private:
     const wxString      getCurFootprintName();
     void                setCurFootprintName( const wxString& aName );
 
-    virtual void OnSize( wxSizeEvent& event );
+    virtual void OnSize( wxSizeEvent& event ) override;
 
     void ReCreateFootprintList();
     void OnIterateFootprintList( wxCommandEvent& event );
@@ -89,25 +89,25 @@ private:
      * Display the current selected component.
      * If the component is an alias, the ROOT component is displayed
      */
-    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg );
+    virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
 
-    virtual void OnCloseWindow( wxCloseEvent& Event );
+    virtual void OnCloseWindow( wxCloseEvent& Event ) override;
     void CloseFootprintViewer( wxCommandEvent& event );
 
-    virtual void ReCreateHToolbar();
-    virtual void ReCreateVToolbar();
-    virtual void ReCreateMenuBar();
+    virtual void ReCreateHToolbar() override;
+    virtual void ReCreateVToolbar() override;
+    virtual void ReCreateMenuBar() override;
 
-    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
+    virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override;
     void ClickOnLibList( wxCommandEvent& event );
     void ClickOnFootprintList( wxCommandEvent& event );
     void DClickOnFootprintList( wxCommandEvent& event );
     void OnSetRelativeOffset( wxCommandEvent& event );
 
-    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 );
+    virtual bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
 
     ///> @copydoc EDA_DRAW_FRAME::GetHotKeyDescription()
-    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const;
+    virtual EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
 
     /**
      * Function OnHotKey
@@ -117,17 +117,17 @@ private:
      * case insensitive
      * </p>
      */
-    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL );
+    virtual bool OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
 
-    virtual void LoadSettings( wxConfigBase* aCfg );
-    virtual void SaveSettings( wxConfigBase* aCfg );
+    virtual void LoadSettings( wxConfigBase* aCfg ) override;
+    virtual void SaveSettings( wxConfigBase* aCfg ) override;
 
     /**
      * Function OnActivate
      * is called when the frame frame is activate to reload the libraries and component lists
      * that can be changed by the schematic editor or the library editor.
      */
-    virtual void OnActivate( wxActivateEvent& event );
+    virtual void OnActivate( wxActivateEvent& event ) override;
 
     void SelectCurrentLibrary( wxCommandEvent& event );
 
@@ -152,13 +152,13 @@ private:
      */
     void SelectAndViewFootprint( int aMode );
 
-    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
+    virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override;
 
     /**
      * Function Show3D_Frame (virtual)
      * displays 3D view of the footprint (module) being edited.
      */
-    virtual void Show3D_Frame( wxCommandEvent& event );
+    virtual void Show3D_Frame( wxCommandEvent& event ) override;
 
     /**
      * Function Update3D_Frame
@@ -173,9 +173,9 @@ private:
      * Virtual functions, not used here, but needed by PCB_BASE_FRAME
      * (virtual pure functions )
      */
-    virtual void OnLeftDClick( wxDC*, const wxPoint& ) {}
-    virtual void SaveCopyInUndoList( BOARD_ITEM*, UNDO_REDO_T, const wxPoint& ) {}
-    virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST&, UNDO_REDO_T, const wxPoint &) {}
+    virtual void OnLeftDClick( wxDC*, const wxPoint& ) override {}
+    virtual void SaveCopyInUndoList( BOARD_ITEM*, UNDO_REDO_T, const wxPoint& ) override {}
+    virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST&, UNDO_REDO_T, const wxPoint &) override {}
 
     void updateView();
 
diff --git a/pcbnew/netlist_reader.h b/pcbnew/netlist_reader.h
index 0bdd643..dd55610 100644
--- a/pcbnew/netlist_reader.h
+++ b/pcbnew/netlist_reader.h
@@ -283,7 +283,7 @@ public:
      * @throw IO_ERROR if a file IO error occurs.
      * @throw PARSE_ERROR if an error occurs while parsing the file.
      */
-    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
+    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer ) override;
 };
 
 
@@ -397,7 +397,7 @@ public:
         delete m_parser;
     }
 
-    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer );
+    virtual void LoadNetlist() throw ( IO_ERROR, PARSE_ERROR, boost::bad_pointer ) override;
 };
 
 
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h b/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
index 61e3fb3..762f674 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcad_plugin.h
@@ -39,13 +39,13 @@ public:
 
     // -----<PUBLIC PLUGIN API>--------------------------------------------------
 
-    virtual const wxString  PluginName() const;
+    virtual const wxString  PluginName() const override;
 
     virtual BOARD*          Load( const wxString&   aFileName,
                                   BOARD*            aAppendToMe,
-                                  const PROPERTIES* aProperties = NULL );
+                                  const PROPERTIES* aProperties = NULL ) override;
 
-    virtual const wxString  GetFileExtension() const;
+    virtual const wxString  GetFileExtension() const override;
 
     // -----</PUBLIC PLUGIN API>-------------------------------------------------
 
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb.h b/pcbnew/pcad2kicadpcb_plugin/pcb.h
index 88c0062..c716d94 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb.h
@@ -53,17 +53,17 @@ public:
     PCB( BOARD* aBoard );
     ~PCB();
 
-    virtual LAYER_ID        GetKiCadLayer( int aPCadLayer );
-    virtual LAYER_TYPE_T    GetLayerType( int aPCadLayer );
-    virtual wxString        GetLayerNetNameRef( int aPCadLayer );
-    virtual int             GetNewTimestamp();
-    virtual int             GetNetCode( wxString aNetName );
+    virtual LAYER_ID        GetKiCadLayer( int aPCadLayer ) override;
+    virtual LAYER_TYPE_T    GetLayerType( int aPCadLayer ) override;
+    virtual wxString        GetLayerNetNameRef( int aPCadLayer ) override;
+    virtual int             GetNewTimestamp() override;
+    virtual int             GetNetCode( wxString aNetName ) override;
 
     void                    Parse( wxStatusBar* aStatusBar,
                                    wxXmlDocument* aXmlDoc,
                                    wxString     aActualConversion );
 
-    virtual void            AddToBoard();
+    virtual void            AddToBoard() override;
 
 private:
     int             m_timestamp_cnt;
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h b/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
index e1e9542..d125cee 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_arc.h
@@ -50,10 +50,10 @@ public:
     virtual void    Parse( XNODE* aNode, int aLayer,
                            wxString aDefaultMeasurementUnit, wxString aActualConversion );
 
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    virtual void    Flip();
-    virtual void    AddToModule( MODULE* aModule );
-    virtual void    AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    virtual void    Flip() override;
+    virtual void    AddToModule( MODULE* aModule ) override;
+    virtual void    AddToBoard() override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h b/pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h
index 209b75f..5de462e 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_copper_pour.h
@@ -46,7 +46,7 @@ public:
     virtual bool Parse( XNODE*          aNode,
                         wxString        aDefaultMeasurementUnit,
                         wxString        aActualConversion,
-                        wxStatusBar*    aStatusBar );
+                        wxStatusBar*    aStatusBar ) override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_line.h b/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
index 52fbb6f..c353918 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_line.h
@@ -51,10 +51,10 @@ public:
                            int          aLayer,
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    virtual void    Flip();
-    virtual void    AddToModule( MODULE* aModule );
-    virtual void    AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    virtual void    Flip() override;
+    virtual void    AddToModule( MODULE* aModule ) override;
+    virtual void    AddToBoard() override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_module.h b/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
index a9e3af1..ba290bb 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_module.h
@@ -62,8 +62,8 @@ public:
     virtual void    Parse( XNODE*   aNode, wxStatusBar* aStatusBar,
                            wxString aDefaultMeasurementUnit, wxString aActualConversion );
 
-    virtual void    Flip();
-    virtual void    AddToBoard();
+    virtual void    Flip() override;
+    virtual void    AddToBoard() override;
 
 private:
     XNODE*          FindPatternMultilayerSection( XNODE* aNode, wxString* aPatGraphRefName );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h b/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
index 9ee5a83..8fe2826 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_pad.h
@@ -51,9 +51,9 @@ public:
     virtual void    Parse( XNODE*       aNode,
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
-    virtual void    Flip();
+    virtual void    Flip() override;
     void            AddToModule( MODULE* aModule, int aRotation, bool aEncapsulatedPad );
-    virtual void    AddToBoard();
+    virtual void    AddToBoard() override;
 
 private:
     wxString m_defaultPinDes;
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h b/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
index adc5027..3780682 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_pad_shape.h
@@ -51,7 +51,7 @@ public:
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
 
-    virtual void    AddToBoard();
+    virtual void    AddToBoard() override;
 };
 
 WX_DEFINE_ARRAY( PCB_PAD_SHAPE*, PCB_PAD_SHAPES_ARRAY );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_plane.h b/pcbnew/pcad2kicadpcb_plugin/pcb_plane.h
index 6ace28b..95fbab4 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_plane.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_plane.h
@@ -45,7 +45,7 @@ public:
     virtual bool Parse( XNODE*          aNode,
                         wxString        aDefaultMeasurementUnit,
                         wxString        aActualConversion,
-                        wxStatusBar*    aStatusBar );
+                        wxStatusBar*    aStatusBar ) override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h b/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
index e58342e..f216f0d 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_polygon.h
@@ -56,9 +56,9 @@ public:
                         wxString        aActualConversion,
                         wxStatusBar*    aStatusBar );
 
-    virtual void    SetPosOffset( int aX_offs, int aY_offs );
-    virtual void    AddToModule( MODULE* aModule );
-    virtual void    AddToBoard();
+    virtual void    SetPosOffset( int aX_offs, int aY_offs ) override;
+    virtual void    AddToModule( MODULE* aModule ) override;
+    virtual void    AddToBoard() override;
 
 // protected:
     void            AssignNet( wxString aNetName );
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_text.h b/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
index f90dfe0..d81bf09 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_text.h
@@ -48,8 +48,8 @@ public:
                            int          aLayer,
                            wxString     aDefaultMeasurementUnit,
                            wxString     aActualConversion );
-    virtual void    AddToModule( MODULE* aModule );
-    virtual void    AddToBoard();
+    virtual void    AddToModule( MODULE* aModule ) override;
+    virtual void    AddToBoard() override;
 
 // virtual void    SetPosOffset( int aX_offs, int aY_offs );
 };
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_via.h b/pcbnew/pcad2kicadpcb_plugin/pcb_via.h
index 05b5c3a..d29ac7d 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_via.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_via.h
@@ -46,7 +46,7 @@ public:
 
     virtual void Parse( XNODE*      aNode,
                         wxString    aDefaultMeasurementUnit,
-                        wxString    aActualConversion );
+                        wxString    aActualConversion ) override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h b/pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h
index d12fa62..9eb222d 100644
--- a/pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h
+++ b/pcbnew/pcad2kicadpcb_plugin/pcb_via_shape.h
@@ -44,7 +44,7 @@ public:
 
     virtual void Parse( XNODE*      aNode,
                         wxString    aDefaultMeasurementUnit,
-                        wxString    aActualConversion );
+                        wxString    aActualConversion ) override;
 };
 
 } // namespace PCAD2KICAD
diff --git a/pcbnew/pcb_base_edit_frame.h b/pcbnew/pcb_base_edit_frame.h
index a60edfc..c83f8f4 100644
--- a/pcbnew/pcb_base_edit_frame.h
+++ b/pcbnew/pcb_base_edit_frame.h
@@ -101,10 +101,10 @@ public:
     }
 
     ///> @copydoc EDA_DRAW_FRAME::UseGalCanvas()
-    virtual void UseGalCanvas( bool aEnable );
+    virtual void UseGalCanvas( bool aEnable ) override;
 
     ///> @copydoc PCB_BASE_FRAME::SetBoard()
-    virtual void SetBoard( BOARD* aBoard );
+    virtual void SetBoard( BOARD* aBoard ) override;
 
 protected:
     /// User defined rotation angle (in tenths of a degree).
diff --git a/pcbnew/pcb_draw_panel_gal.h b/pcbnew/pcb_draw_panel_gal.h
index 8ccaf6f..d99d40d 100644
--- a/pcbnew/pcb_draw_panel_gal.h
+++ b/pcbnew/pcb_draw_panel_gal.h
@@ -65,10 +65,10 @@ public:
     void UseColorScheme( const COLORS_DESIGN_SETTINGS* aSettings );
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::SetHighContrastLayer()
-    virtual void SetHighContrastLayer( LAYER_ID aLayer );
+    virtual void SetHighContrastLayer( LAYER_ID aLayer ) override;
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::SetTopLayer()
-    virtual void SetTopLayer( LAYER_ID aLayer );
+    virtual void SetTopLayer( LAYER_ID aLayer ) override;
 
     /**
      * Function SyncLayersVisibility
@@ -78,7 +78,7 @@ public:
     void SyncLayersVisibility( const BOARD* aBoard );
 
     ///> @copydoc EDA_DRAW_PANEL_GAL::GetMsgPanelInfo()
-    virtual void GetMsgPanelInfo( std::vector<MSG_PANEL_ITEM>& aList );
+    virtual void GetMsgPanelInfo( std::vector<MSG_PANEL_ITEM>& aList ) override;
 
 protected:
     ///> Reassigns layer order to the initial settings.
diff --git a/pcbnew/pcb_painter.h b/pcbnew/pcb_painter.h
index 92d1d87..bc0108a 100644
--- a/pcbnew/pcb_painter.h
+++ b/pcbnew/pcb_painter.h
@@ -79,7 +79,7 @@ public:
     PCB_RENDER_SETTINGS();
 
     /// @copydoc RENDER_SETTINGS::ImportLegacyColors()
-    virtual void ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSettings );
+    virtual void ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSettings ) override;
 
     /**
      * Function LoadDisplayOptions
@@ -90,7 +90,7 @@ public:
     void LoadDisplayOptions( const DISPLAY_OPTIONS* aOptions );
 
     /// @copydoc RENDER_SETTINGS::GetColor()
-    virtual const COLOR4D& GetColor( const VIEW_ITEM* aItem, int aLayer ) const;
+    virtual const COLOR4D& GetColor( const VIEW_ITEM* aItem, int aLayer ) const override;
 
     /**
      * Function GetLayerColor
@@ -139,7 +139,7 @@ public:
 
 protected:
     ///> @copydoc RENDER_SETTINGS::Update()
-    virtual void update();
+    virtual void update() override;
 
     ///> Colors for all layers (normal)
     COLOR4D m_layerColors[TOTAL_LAYER_COUNT];
@@ -183,19 +183,19 @@ public:
     PCB_PAINTER( GAL* aGal );
 
     /// @copydoc PAINTER::ApplySettings()
-    virtual void ApplySettings( const RENDER_SETTINGS* aSettings )
+    virtual void ApplySettings( const RENDER_SETTINGS* aSettings ) override
     {
         m_pcbSettings = *static_cast<const PCB_RENDER_SETTINGS*>( aSettings );
     }
 
     /// @copydoc PAINTER::GetSettings()
-    virtual RENDER_SETTINGS* GetSettings()
+    virtual RENDER_SETTINGS* GetSettings() override
     {
         return &m_pcbSettings;
     }
 
     /// @copydoc PAINTER::Draw()
-    virtual bool Draw( const VIEW_ITEM* aItem, int aLayer );
+    virtual bool Draw( const VIEW_ITEM* aItem, int aLayer ) override;
 
 protected:
     PCB_RENDER_SETTINGS m_pcbSettings;
diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp
index d3b1607..3b5dbcd 100644
--- a/pcbnew/pcbnew.cpp
+++ b/pcbnew/pcbnew.cpp
@@ -106,11 +106,11 @@ static struct IFACE : public KIFACE_I
         KIFACE_I( aName, aType )
     {}
 
-    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
+    virtual bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override;
 
-    virtual void OnKifaceEnd();
+    virtual void OnKifaceEnd() override;
 
-    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
+    virtual wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
     {
         wxWindow* frame = NULL;
 
@@ -166,7 +166,7 @@ static struct IFACE : public KIFACE_I
      *
      * @return void* - and must be cast into the know type.
      */
-    virtual void* IfaceOrAddress( int aDataId )
+    virtual void* IfaceOrAddress( int aDataId ) override
     {
         return NULL;
     }
diff --git a/pcbnew/printout_controler.h b/pcbnew/printout_controler.h
index 053805e..101c5f4 100644
--- a/pcbnew/printout_controler.h
+++ b/pcbnew/printout_controler.h
@@ -111,9 +111,9 @@ public:
                                EDA_DRAW_FRAME*         aParent,
                                const wxString&         aTitle );
 
-    virtual bool OnPrintPage( int aPage );
+    virtual bool OnPrintPage( int aPage ) override;
 
-    virtual bool HasPage( int aPage )
+    virtual bool HasPage( int aPage ) override
     {
         if( aPage <= m_PrintParams.m_PageCount )
             return true;
@@ -121,7 +121,7 @@ public:
             return false;
     }
 
-    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
+    virtual void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo ) override;
 
     void DrawPage();
 };
diff --git a/pcbnew/ratsnest.cpp b/pcbnew/ratsnest.cpp
index 5963268..7ad02db 100644
--- a/pcbnew/ratsnest.cpp
+++ b/pcbnew/ratsnest.cpp
@@ -88,7 +88,7 @@ public:
      * @param aItem2 = other item
      * @return the weight between items ( the rectilinear distance )
      */
-    virtual int GetWeight( int aItem1, int aItem2 );
+    virtual int GetWeight( int aItem1, int aItem2 ) override;
 };
 
 
diff --git a/pcbnew/ratsnest_data.h b/pcbnew/ratsnest_data.h
index db7e631..c50951c 100644
--- a/pcbnew/ratsnest_data.h
+++ b/pcbnew/ratsnest_data.h
@@ -94,7 +94,7 @@ RN_NODE_OR_FILTER operator||( const RN_NODE_FILTER& aFilter1, const RN_NODE_FILT
 ///> Filters out nodes that have the flag set.
 struct WITHOUT_FLAG : public RN_NODE_FILTER
 {
-    virtual bool operator()( const RN_NODE_PTR& aNode ) const
+    virtual bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return !aNode->GetFlag();
     }
@@ -107,7 +107,7 @@ struct DIFFERENT_TAG : public RN_NODE_FILTER
         m_tag( aTag )
     {}
 
-    virtual bool operator()( const RN_NODE_PTR& aNode ) const
+    virtual bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return aNode->GetTag() != m_tag;
     }
@@ -122,7 +122,7 @@ struct RN_NODE_AND_FILTER : public RN_NODE_FILTER
         m_filter1( aFilter1 ), m_filter2( aFilter2 )
     {}
 
-    virtual bool operator()( const RN_NODE_PTR& aNode ) const
+    virtual bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return m_filter1( aNode ) && m_filter2( aNode );
     }
@@ -138,7 +138,7 @@ struct RN_NODE_OR_FILTER : public RN_NODE_FILTER
         m_filter1( aFilter1 ), m_filter2( aFilter2 )
     {}
 
-    virtual bool operator()( const RN_NODE_PTR& aNode ) const
+    virtual bool operator()( const RN_NODE_PTR& aNode ) const override
     {
         return m_filter1( aNode ) || m_filter2( aNode );
     }
diff --git a/pcbnew/ratsnest_viewitem.h b/pcbnew/ratsnest_viewitem.h
index afb9b29..19f0f53 100644
--- a/pcbnew/ratsnest_viewitem.h
+++ b/pcbnew/ratsnest_viewitem.h
@@ -44,17 +44,17 @@ public:
     RATSNEST_VIEWITEM( RN_DATA* aData );
 
     /// @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
     /// @copydoc VIEW_ITEM::ViewDraw()
-    virtual void ViewDraw( int aLayer, GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, GAL* aGal ) const override;
 
     /// @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
 #if defined(DEBUG)
     /// @copydoc EDA_ITEM::Show()
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -62,7 +62,7 @@ public:
     /** Get class name
      * @return  string "RATSNEST_VIEWITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "RATSNEST_VIEWITEM" );
     }
diff --git a/pcbnew/router/length_tuner_tool.h b/pcbnew/router/length_tuner_tool.h
index 4b6ca6a..d7b85d7 100644
--- a/pcbnew/router/length_tuner_tool.h
+++ b/pcbnew/router/length_tuner_tool.h
@@ -33,7 +33,7 @@ public:
     LENGTH_TUNER_TOOL();
     ~LENGTH_TUNER_TOOL();
 
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     int TuneSingleTrace( const TOOL_EVENT& aEvent );
     int TuneDiffPair( const TOOL_EVENT& aEvent );
diff --git a/pcbnew/router/pns_diff_pair.h b/pcbnew/router/pns_diff_pair.h
index 500cce3..5931a63 100644
--- a/pcbnew/router/pns_diff_pair.h
+++ b/pcbnew/router/pns_diff_pair.h
@@ -340,7 +340,7 @@ public:
         return aItem && DIFF_PAIR == aItem->Kind();
     }
 
-    virtual PNS_DIFF_PAIR * Clone() const { assert(false); return NULL; }
+    virtual PNS_DIFF_PAIR * Clone() const override { assert(false); return NULL; }
 
     static PNS_DIFF_PAIR* AssembleDp ( PNS_LINE *aLine );
 
diff --git a/pcbnew/router/pns_diff_pair_placer.h b/pcbnew/router/pns_diff_pair_placer.h
index 0ea666c..0dfd4fc 100644
--- a/pcbnew/router/pns_diff_pair_placer.h
+++ b/pcbnew/router/pns_diff_pair_placer.h
@@ -62,7 +62,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem );
+    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -71,7 +71,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -82,28 +82,28 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /**
      * Function ToggleVia()
      *
      * Enables/disables a via at the end of currently routed trace.
      */
-    virtual bool ToggleVia( bool aEnabled );
+    virtual bool ToggleVia( bool aEnabled ) override;
 
     /**
      * Function SetLayer()
      *
      * Sets the current routing layer.
      */
-    virtual bool SetLayer( int aLayer );
+    virtual bool SetLayer( int aLayer ) override;
 
     /**
      * Function Traces()
      *
      * Returns the complete routed line, as a single-member PNS_ITEMSET.
      */
-    virtual const PNS_ITEMSET Traces();
+    virtual const PNS_ITEMSET Traces() override;
 
     /**
      * Function CurrentEnd()
@@ -111,7 +111,7 @@ public:
      * Returns the current end of the line being placed. It may not be equal
      * to the cursor position due to collisions.
      */
-    virtual const VECTOR2I& CurrentEnd() const
+    virtual const VECTOR2I& CurrentEnd() const override
     {
         return m_currentEnd;
     }
@@ -121,14 +121,14 @@ public:
      *
      * Returns the net code of currently routed track.
      */
-    virtual const std::vector<int> CurrentNets() const;
+    virtual const std::vector<int> CurrentNets() const override;
 
     /**
      * Function CurrentLayer()
      *
      * Returns the layer of currently routed track.
      */
-    virtual int CurrentLayer() const
+    virtual int CurrentLayer() const override
     {
         return m_currentLayer;
     }
@@ -138,14 +138,14 @@ public:
      *
      * Returns the most recent world state.
      */
-    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /**
      * Function FlipPosture()
      *
      * Toggles the current posture (straight/diagonal) of the trace head.
      */
-    virtual void FlipPosture();
+    virtual void FlipPosture() override;
 
     /**
      * Function UpdateSizes()
@@ -154,13 +154,13 @@ public:
      * a settings class. Used to dynamically change these parameters as
      * the track is routed.
      */
-    virtual void UpdateSizes( const PNS_SIZES_SETTINGS& aSizes );
+    virtual void UpdateSizes( const PNS_SIZES_SETTINGS& aSizes ) override;
 
-    virtual bool IsPlacingVia() const { return m_placingVia; }
+    virtual bool IsPlacingVia() const override { return m_placingVia; }
 
-    virtual void SetOrthoMode( bool aOrthoMode );
+    virtual void SetOrthoMode( bool aOrthoMode ) override;
 
-    virtual void GetModifiedNets( std::vector<int>& aNets ) const;
+    virtual void GetModifiedNets( std::vector<int>& aNets ) const override;
 
 private:
     int viaGap() const;
diff --git a/pcbnew/router/pns_dp_meander_placer.h b/pcbnew/router/pns_dp_meander_placer.h
index 8b28015..43dfa24 100644
--- a/pcbnew/router/pns_dp_meander_placer.h
+++ b/pcbnew/router/pns_dp_meander_placer.h
@@ -57,7 +57,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    virtual bool Start ( const VECTOR2I& aP, PNS_ITEM* aStartItem );
+    virtual bool Start ( const VECTOR2I& aP, PNS_ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -66,7 +66,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -77,7 +77,7 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     const PNS_LINE Trace() const;
 
@@ -86,23 +86,23 @@ public:
      *
      * Returns the most recent world state.
      */
-    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
-    virtual const PNS_ITEMSET Traces();
+    virtual const PNS_ITEMSET Traces() override;
 
-    virtual const VECTOR2I& CurrentEnd() const;
+    virtual const VECTOR2I& CurrentEnd() const override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::CurrentNets()
-    virtual const std::vector<int> CurrentNets() const;
+    virtual const std::vector<int> CurrentNets() const override;
 
-    virtual int CurrentLayer() const;
+    virtual int CurrentLayer() const override;
 
     int totalLength();
 
-    virtual const wxString TuningInfo() const;
-    virtual TUNING_STATUS TuningStatus() const;
+    virtual const wxString TuningInfo() const override;
+    virtual TUNING_STATUS TuningStatus() const override;
 
-    virtual bool CheckFit( PNS_MEANDER_SHAPE* aShape );
+    virtual bool CheckFit( PNS_MEANDER_SHAPE* aShape ) override;
 
 
 private:
diff --git a/pcbnew/router/pns_dragger.h b/pcbnew/router/pns_dragger.h
index ed6a59b..35388e6 100644
--- a/pcbnew/router/pns_dragger.h
+++ b/pcbnew/router/pns_dragger.h
@@ -93,7 +93,7 @@ public:
     const PNS_ITEMSET Traces();
 
     /// @copydoc PNS_ALGO_BASE::Logger()
-    virtual PNS_LOGGER* Logger();
+    virtual PNS_LOGGER* Logger() override;
 
 private:
     enum DragMode {
diff --git a/pcbnew/router/pns_joint.h b/pcbnew/router/pns_joint.h
index d0d385c..d6d1036 100644
--- a/pcbnew/router/pns_joint.h
+++ b/pcbnew/router/pns_joint.h
@@ -74,7 +74,7 @@ public:
         m_locked = aB.m_locked;
     }
 
-    virtual PNS_ITEM* Clone( ) const
+    virtual PNS_ITEM* Clone( ) const override
     {
         assert( false );
         return NULL;
diff --git a/pcbnew/router/pns_line.h b/pcbnew/router/pns_line.h
index 12ff1bb..306900d 100644
--- a/pcbnew/router/pns_line.h
+++ b/pcbnew/router/pns_line.h
@@ -96,7 +96,7 @@ public:
     }
 
     /// @copydoc PNS_ITEM::Clone()
-    virtual PNS_LINE* Clone() const;
+    virtual PNS_LINE* Clone() const override;
 
     const PNS_LINE& operator=( const PNS_LINE& aOther );
 
@@ -107,7 +107,7 @@ public:
     }
 
     ///> Returns the shape of the line
-    virtual const SHAPE* Shape() const
+    virtual const SHAPE* Shape() const override
     {
         return &m_line;
     }
@@ -255,15 +255,15 @@ public:
 
     const PNS_VIA& Via() const { return m_via; }
 
-    virtual void Mark( int aMarker );
-    virtual void Unmark ();
-    virtual int Marker() const;
+    virtual void Mark( int aMarker ) override;
+    virtual void Unmark () override;
+    virtual int Marker() const override;
 
     void DragSegment( const VECTOR2I& aP, int aIndex, int aSnappingThreshold = 0 );
     void DragCorner( const VECTOR2I& aP, int aIndex, int aSnappingThreshold = 0 );
 
-    virtual void SetRank( int aRank );
-    virtual int Rank() const;
+    virtual void SetRank( int aRank ) override;
+    virtual int Rank() const override;
 
     bool HasLoops() const;
 
diff --git a/pcbnew/router/pns_line_placer.h b/pcbnew/router/pns_line_placer.h
index ed6809e..5c715c4 100644
--- a/pcbnew/router/pns_line_placer.h
+++ b/pcbnew/router/pns_line_placer.h
@@ -59,7 +59,7 @@ public:
      * Starts routing a single track at point aP, taking item aStartItem as anchor
      * (unless NULL).
      */
-    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem );
+    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem ) override;
 
     /**
      * Function Move()
@@ -68,7 +68,7 @@ public:
      * aEndItem as anchor (if not NULL).
      * (unless NULL).
      */
-    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /**
      * Function FixRoute()
@@ -79,21 +79,21 @@ public:
      * result is violating design rules - in such case, the track is only committed
      * if Settings.CanViolateDRC() is on.
      */
-    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /**
      * Function ToggleVia()
      *
      * Enables/disables a via at the end of currently routed trace.
      */
-    virtual bool ToggleVia( bool aEnabled );
+    virtual bool ToggleVia( bool aEnabled ) override;
 
     /**
      * Function SetLayer()
      *
      * Sets the current routing layer.
      */
-    virtual bool SetLayer( int aLayer );
+    virtual bool SetLayer( int aLayer ) override;
 
     /**
      * Function Head()
@@ -123,7 +123,7 @@ public:
      *
      * Returns the complete routed line, as a single-member PNS_ITEMSET.
      */
-    virtual const PNS_ITEMSET Traces();
+    virtual const PNS_ITEMSET Traces() override;
 
     /**
      * Function CurrentEnd()
@@ -131,7 +131,7 @@ public:
      * Returns the current end of the line being placed. It may not be equal
      * to the cursor position due to collisions.
      */
-    virtual const VECTOR2I& CurrentEnd() const
+    virtual const VECTOR2I& CurrentEnd() const override
     {
         return m_currentEnd;
     }
@@ -141,7 +141,7 @@ public:
      *
      * Returns the net code of currently routed track.
      */
-    virtual const std::vector<int> CurrentNets() const
+    virtual const std::vector<int> CurrentNets() const override
     {
         return std::vector<int>( 1, m_currentNet );
     }
@@ -151,7 +151,7 @@ public:
      *
      * Returns the layer of currently routed track.
      */
-    virtual int CurrentLayer() const
+    virtual int CurrentLayer() const override
     {
         return m_currentLayer;
     }
@@ -161,14 +161,14 @@ public:
      *
      * Returns the most recent world state.
      */
-    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /**
      * Function FlipPosture()
      *
      * Toggles the current posture (straight/diagonal) of the trace head.
      */
-    virtual void FlipPosture();
+    virtual void FlipPosture() override;
 
     /**
      * Function UpdateSizes()
@@ -177,15 +177,15 @@ public:
      * a settings class. Used to dynamically change these parameters as
      * the track is routed.
      */
-    virtual void UpdateSizes( const PNS_SIZES_SETTINGS& aSizes );
+    virtual void UpdateSizes( const PNS_SIZES_SETTINGS& aSizes ) override;
 
-    virtual void SetOrthoMode( bool aOrthoMode );
+    virtual void SetOrthoMode( bool aOrthoMode ) override;
 
-    virtual bool IsPlacingVia() const { return m_placingVia; }
+    virtual bool IsPlacingVia() const override { return m_placingVia; }
 
-    virtual void GetModifiedNets( std::vector<int>& aNets ) const;
+    virtual void GetModifiedNets( std::vector<int>& aNets ) const override;
 
-    virtual PNS_LOGGER* Logger();
+    virtual PNS_LOGGER* Logger() override;
 
 
 private:
diff --git a/pcbnew/router/pns_meander_placer.h b/pcbnew/router/pns_meander_placer.h
index b820ae9..86a174b 100644
--- a/pcbnew/router/pns_meander_placer.h
+++ b/pcbnew/router/pns_meander_placer.h
@@ -51,40 +51,40 @@ public:
     virtual ~PNS_MEANDER_PLACER();
 
     /// @copydoc PNS_PLACEMENT_ALGO::Start()
-    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem );
+    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem ) override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::Move()
-    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::FixRoute()
-    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool FixRoute( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::CurrentNode()
-    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const;
+    virtual PNS_NODE* CurrentNode( bool aLoopsRemoved = false ) const override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::Traces()
-    virtual const PNS_ITEMSET Traces();
+    virtual const PNS_ITEMSET Traces() override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::CurrentEnd()
-    virtual const VECTOR2I& CurrentEnd() const;
+    virtual const VECTOR2I& CurrentEnd() const override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::CurrentNets()
-    virtual const std::vector<int> CurrentNets() const
+    virtual const std::vector<int> CurrentNets() const override
     {
         return std::vector<int> (1, m_originLine.Net() );
     }
 
     /// @copydoc PNS_PLACEMENT_ALGO::CurrentLayer()
-    virtual int CurrentLayer() const;
+    virtual int CurrentLayer() const override;
 
     /// @copydoc PNS_MEANDER_PLACER_BASE::TuningInfo()
-    virtual const wxString TuningInfo() const;
+    virtual const wxString TuningInfo() const override;
 
     /// @copydoc PNS_MEANDER_PLACER_BASE::TuningStatus()
-    virtual TUNING_STATUS TuningStatus() const;
+    virtual TUNING_STATUS TuningStatus() const override;
 
     /// @copydoc PNS_MEANDER_PLACER_BASE::CheckFit()
-    virtual bool CheckFit ( PNS_MEANDER_SHAPE* aShape );
+    virtual bool CheckFit ( PNS_MEANDER_SHAPE* aShape ) override;
 
 protected:
 
diff --git a/pcbnew/router/pns_meander_skew_placer.h b/pcbnew/router/pns_meander_skew_placer.h
index 96d9580..533f78c 100644
--- a/pcbnew/router/pns_meander_skew_placer.h
+++ b/pcbnew/router/pns_meander_skew_placer.h
@@ -41,20 +41,20 @@ public:
     ~PNS_MEANDER_SKEW_PLACER();
 
     /// @copydoc PNS_PLACEMENT_ALGO::Start()
-    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem );
+    virtual bool Start( const VECTOR2I& aP, PNS_ITEM* aStartItem ) override;
 
     /// @copydoc PNS_PLACEMENT_ALGO::Move()
-    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem );
+    virtual bool Move( const VECTOR2I& aP, PNS_ITEM* aEndItem ) override;
 
     /// @copydoc PNS_MEANDER_PLACER_BASE::TuningInfo()
-    virtual const wxString TuningInfo() const;
+    virtual const wxString TuningInfo() const override;
 
 private:
 
     int currentSkew( ) const;
     int itemsetLength( const PNS_ITEMSET& aSet ) const;
 
-    virtual int origPathLength () const;
+    virtual int origPathLength () const override;
 
     PNS_DIFF_PAIR m_originPair;
     PNS_ITEMSET m_tunedPath, m_tunedPathP, m_tunedPathN;
diff --git a/pcbnew/router/pns_node.h b/pcbnew/router/pns_node.h
index 9846da8..8c5d8d1 100644
--- a/pcbnew/router/pns_node.h
+++ b/pcbnew/router/pns_node.h
@@ -63,8 +63,8 @@ public:
     PNS_PCBNEW_CLEARANCE_FUNC( PNS_ROUTER *aRouter );
     virtual ~PNS_PCBNEW_CLEARANCE_FUNC();
 
-    virtual int operator()( const PNS_ITEM* aA, const PNS_ITEM* aB );
-    virtual void OverrideClearance (bool aEnable, int aNetA = 0, int aNetB = 0, int aClearance = 0);
+    virtual int operator()( const PNS_ITEM* aA, const PNS_ITEM* aB ) override;
+    virtual void OverrideClearance (bool aEnable, int aNetA = 0, int aNetB = 0, int aClearance = 0) override;
 
     void UseDpGap( bool aUseDpGap ) { m_useDpGap = aUseDpGap; }
 
diff --git a/pcbnew/router/pns_segment.h b/pcbnew/router/pns_segment.h
index 1c895ac..1103707 100644
--- a/pcbnew/router/pns_segment.h
+++ b/pcbnew/router/pns_segment.h
@@ -60,9 +60,9 @@ public:
         return aItem && SEGMENT == aItem->Kind();
     }
 
-    virtual PNS_SEGMENT* Clone() const;
+    virtual PNS_SEGMENT* Clone() const override;
 
-    virtual const SHAPE* Shape() const
+    virtual const SHAPE* Shape() const override
     {
         return static_cast<const SHAPE*>( &m_seg );
     }
@@ -72,7 +72,7 @@ public:
         SetLayers( PNS_LAYERSET( aLayer ) );
     }
 
-    virtual int Layer() const
+    virtual int Layer() const override
     {
         return Layers().Start();
     }
@@ -108,9 +108,9 @@ public:
         m_seg.SetSeg( SEG (tmp.B , tmp.A ) );
     }
 
-    virtual const SHAPE_LINE_CHAIN Hull( int aClearance, int aWalkaroundThickness ) const;
+    virtual const SHAPE_LINE_CHAIN Hull( int aClearance, int aWalkaroundThickness ) const override;
 
-    virtual VECTOR2I Anchor( int n ) const
+    virtual VECTOR2I Anchor( int n ) const override
     {
         if( n == 0 )
             return m_seg.GetSeg().A;
@@ -118,7 +118,7 @@ public:
             return m_seg.GetSeg().B;
     }
 
-    virtual int AnchorCount() const
+    virtual int AnchorCount() const override
     {
         return 2;
     }
diff --git a/pcbnew/router/pns_shove.h b/pcbnew/router/pns_shove.h
index f9eb60b..6929df6 100644
--- a/pcbnew/router/pns_shove.h
+++ b/pcbnew/router/pns_shove.h
@@ -56,7 +56,7 @@ public:
     PNS_SHOVE( PNS_NODE* aWorld, PNS_ROUTER* aRouter );
     ~PNS_SHOVE();
 
-    virtual PNS_LOGGER* Logger()
+    virtual PNS_LOGGER* Logger() override
     {
         return &m_logger;
     }
diff --git a/pcbnew/router/pns_solid.h b/pcbnew/router/pns_solid.h
index 2d9aed7..d15f052 100644
--- a/pcbnew/router/pns_solid.h
+++ b/pcbnew/router/pns_solid.h
@@ -54,11 +54,11 @@ public:
         return aItem && SOLID == aItem->Kind();
     }
 
-    virtual PNS_ITEM* Clone() const;
+    virtual PNS_ITEM* Clone() const override;
 
-    virtual const SHAPE* Shape() const { return m_shape; }
+    virtual const SHAPE* Shape() const override { return m_shape; }
 
-    virtual const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const;
+    virtual const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const override;
 
     void SetShape( SHAPE* shape )
     {
@@ -78,12 +78,12 @@ public:
         m_pos = aCenter;
     }
 
-    virtual VECTOR2I Anchor( int aN ) const
+    virtual VECTOR2I Anchor( int aN ) const override
     {
         return m_pos;
     }
 
-    virtual int AnchorCount() const
+    virtual int AnchorCount() const override
     {
         return 1;
     }
diff --git a/pcbnew/router/pns_tool_base.h b/pcbnew/router/pns_tool_base.h
index 20bed42..49e39af 100644
--- a/pcbnew/router/pns_tool_base.h
+++ b/pcbnew/router/pns_tool_base.h
@@ -42,7 +42,7 @@ public:
     PNS_TOOL_BASE( const std::string& aToolName );
     virtual ~PNS_TOOL_BASE();
 
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     const PNS_ROUTING_SETTINGS& PNSSettings() const
     {
diff --git a/pcbnew/router/pns_via.h b/pcbnew/router/pns_via.h
index 0d5747c..ca250cf 100644
--- a/pcbnew/router/pns_via.h
+++ b/pcbnew/router/pns_via.h
@@ -130,21 +130,21 @@ public:
             bool aSolidsOnly = true,
             int aMaxIterations = 10 );
 
-    virtual const SHAPE* Shape() const
+    virtual const SHAPE* Shape() const override
     {
         return &m_shape;
     }
 
-    virtual PNS_VIA* Clone() const;
+    virtual PNS_VIA* Clone() const override;
 
-    virtual const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const;
+    virtual const SHAPE_LINE_CHAIN Hull( int aClearance = 0, int aWalkaroundThickness = 0 ) const override;
 
-    virtual VECTOR2I Anchor( int n ) const
+    virtual VECTOR2I Anchor( int n ) const override
     {
         return m_pos;
     }
 
-    virtual int AnchorCount() const
+    virtual int AnchorCount() const override
     {
         return 1;
     }
diff --git a/pcbnew/router/pns_walkaround.h b/pcbnew/router/pns_walkaround.h
index f143b46..6314335 100644
--- a/pcbnew/router/pns_walkaround.h
+++ b/pcbnew/router/pns_walkaround.h
@@ -118,7 +118,7 @@ public:
     WALKAROUND_STATUS Route( const PNS_LINE& aInitialPath, PNS_LINE& aWalkPath,
             bool aOptimize = true );
 
-    virtual PNS_LOGGER* Logger()
+    virtual PNS_LOGGER* Logger() override
     {
         return &m_logger;
     }
diff --git a/pcbnew/router/router_preview_item.h b/pcbnew/router/router_preview_item.h
index c271330..85b6b5a 100644
--- a/pcbnew/router/router_preview_item.h
+++ b/pcbnew/router/router_preview_item.h
@@ -73,22 +73,22 @@ public:
     }
 
 #if defined(DEBUG)
-    virtual void Show( int aA, std::ostream& aB ) const {};
+    virtual void Show( int aA, std::ostream& aB ) const override {};
 #endif
 
     /** Get class name
      * @return  string "ROUTER_PREVIEW_ITEM"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "ROUTER_PREVIEW_ITEM" );
     }
 
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
         aLayers[0] = m_layer;
         aCount = 1;
diff --git a/pcbnew/router/router_tool.h b/pcbnew/router/router_tool.h
index 1cf8b36..43ef2fc 100644
--- a/pcbnew/router/router_tool.h
+++ b/pcbnew/router/router_tool.h
@@ -30,8 +30,8 @@ public:
     ROUTER_TOOL();
     ~ROUTER_TOOL();
 
-    virtual bool Init();
-    virtual void Reset( RESET_REASON aReason );
+    virtual bool Init() override;
+    virtual void Reset( RESET_REASON aReason ) override;
 
     int RouteSingleTrace ( const TOOL_EVENT& aEvent );
     int RouteDiffPair ( const TOOL_EVENT& aEvent );
diff --git a/pcbnew/sel_layer.cpp b/pcbnew/sel_layer.cpp
index 8188a07..f4d0a55 100644
--- a/pcbnew/sel_layer.cpp
+++ b/pcbnew/sel_layer.cpp
@@ -52,20 +52,20 @@ protected:
     BOARD*  m_brd;
 
     // Returns true if the layer id is enabled (i.e. is it should be displayed)
-    virtual bool IsLayerEnabled( LAYER_NUM aLayer ) const
+    virtual bool IsLayerEnabled( LAYER_NUM aLayer ) const override
     {
         return m_brd->IsLayerEnabled( LAYER_ID( aLayer ) );
     }
 
     // Returns a color index from the layer id
     // Virtual function
-    virtual EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const
+    virtual EDA_COLOR_T GetLayerColor( LAYER_NUM aLayer ) const override
     {
         return m_brd->GetLayerColor( ToLAYER_ID( aLayer ) );
     }
 
     // Returns the name of the layer id
-    virtual wxString GetLayerName( LAYER_NUM aLayer ) const
+    virtual wxString GetLayerName( LAYER_NUM aLayer ) const override
     {
         return m_brd->GetLayerName( ToLAYER_ID( aLayer ) );
     }
@@ -94,8 +94,8 @@ public:
 
 private:
     // Event handlers
-    virtual void OnLeftGridCellClick( wxGridEvent& event );
-    virtual void OnRightGridCellClick( wxGridEvent& event );
+    virtual void OnLeftGridCellClick( wxGridEvent& event ) override;
+    virtual void OnRightGridCellClick( wxGridEvent& event ) override;
 
     void buildList();
 };
@@ -264,15 +264,15 @@ public:
     }
 
 private:
-    virtual void OnLeftGridCellClick( wxGridEvent& event );
-    virtual void OnRightGridCellClick( wxGridEvent& event );
+    virtual void OnLeftGridCellClick( wxGridEvent& event ) override;
+    virtual void OnRightGridCellClick( wxGridEvent& event ) override;
 
     void OnOkClick( wxCommandEvent& event )
     {
         EndModal( wxID_OK );
     }
 
-    virtual void OnCancelClick( wxCommandEvent& event )
+    virtual void OnCancelClick( wxCommandEvent& event ) override
     {
         EndModal( wxID_CANCEL );
     }
diff --git a/pcbnew/specctra.h b/pcbnew/specctra.h
index 304bdcc..36f458d 100644
--- a/pcbnew/specctra.h
+++ b/pcbnew/specctra.h
@@ -292,7 +292,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 
 
     //-----< list operations >--------------------------------------------
@@ -388,7 +388,7 @@ public:
 
     PARSER( ELEM* aParent );
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 };
 
 
@@ -422,7 +422,7 @@ public:
     DSN_T   GetEngUnits() const  { return units; }
     int     GetValue() const  { return value; }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( type == T_unit )
             out->Print( nestLevel, "(%s %s)\n", Name(),
@@ -468,7 +468,7 @@ public:
     POINT GetOrigin() { return point0; }
     POINT GetEnd() { return point1; }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -501,7 +501,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -547,7 +547,7 @@ public:
         delete rule;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -608,7 +608,7 @@ public:
         aperture_width = aWidth;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -701,7 +701,7 @@ public:
     }
 
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -734,7 +734,7 @@ public:
         diameter = 0.0;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -781,7 +781,7 @@ public:
         aperture_width = 0.0;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = nestLevel ? "\n" : "";
 
@@ -863,7 +863,7 @@ public:
         }
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -946,7 +946,7 @@ public:
         windows.push_back( aWindow );
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* newline = "\n";
 
@@ -1023,7 +1023,7 @@ public:
         padstacks.push_back( aViaName );
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const int RIGHTMARGIN = 80;
         int perLine = out->Print( nestLevel, "(%s", Name() );
@@ -1077,7 +1077,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( STRINGS::iterator i=class_ids.begin();  i!=class_ids.end();  ++i )
         {
@@ -1116,7 +1116,7 @@ public:
         delete classes;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( classes )
             classes->Format( out, nestLevel );
@@ -1146,7 +1146,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -1201,7 +1201,7 @@ public:
         delete rules;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( name.c_str() );
 
@@ -1275,7 +1275,7 @@ public:
         layer_weight = 0.0;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote0 = out->GetQuoteChar( layer_id0.c_str() );
         const char* quote1 = out->GetQuoteChar( layer_id1.c_str() );
@@ -1302,7 +1302,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s\n", Name() );
 
@@ -1350,7 +1350,7 @@ public:
         value = T_NONE;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s %s)\n", Name(),
                    GetTokenText( value ) );
@@ -1376,7 +1376,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( value.c_str() );
 
@@ -1419,7 +1419,7 @@ public:
         delete rules;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( region_id.size() )
         {
@@ -1463,7 +1463,7 @@ public:
         image_type= T_NONE;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s %s %.6g",
                    Name(),
@@ -1507,7 +1507,7 @@ public:
         delete rules;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( LAYERS::iterator i=layers.begin();  i!=layers.end();  ++i )
             i->Format( out, nestLevel );
@@ -1591,7 +1591,7 @@ public:
             place_boundary->SetParent( this );
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -1638,7 +1638,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    virtual UNIT_RES* GetUnits() const
+    virtual UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -1723,7 +1723,7 @@ public:
         rotation = aRotation;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR );
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override;
 };
 typedef boost::ptr_vector<PLACE>    PLACES;
 
@@ -1760,7 +1760,7 @@ public:
      */
 //    static int Compare( IMAGE* lhs, IMAGE* rhs );
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( image_id.c_str() );
         out->Print( nestLevel, "(%s %s%s%s\n", Name(),
@@ -1771,7 +1771,7 @@ public:
         out->Print( nestLevel, ")\n" );
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( PLACES::iterator i=places.begin();  i!=places.end();  ++i )
             i->Format( out, nestLevel );
@@ -1824,7 +1824,7 @@ public:
         return added;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -1839,7 +1839,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    virtual UNIT_RES* GetUnits() const
+    virtual UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -1890,7 +1890,7 @@ public:
         connect = aConnect;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -1949,7 +1949,7 @@ public:
         vertex.FixNegativeZero();
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
         if( isRotated )
@@ -2034,7 +2034,7 @@ public:
         return image_id;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         std::string imageId = GetImageId();
 
@@ -2049,7 +2049,7 @@ public:
     }
 
     // this is here for makeHash()
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( side != T_both )
             out->Print( 0, " (side %s)", GetTokenText( side ) );
@@ -2076,7 +2076,7 @@ public:
     }
 
 
-    virtual UNIT_RES* GetUnits() const
+    virtual UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2149,7 +2149,7 @@ public:
         padstack_id = aPadstackId;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
 
@@ -2163,7 +2163,7 @@ public:
 
 
     // this factored out for use by Compare()
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -2197,7 +2197,7 @@ public:
     }
 
 
-    virtual UNIT_RES* GetUnits() const
+    virtual UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2392,7 +2392,7 @@ public:
         return NULL;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -2407,7 +2407,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    virtual UNIT_RES* GetUnits() const
+    virtual UNIT_RES* GetUnits() const override
     {
         if( unit )
             return unit;
@@ -2481,7 +2481,7 @@ public:
         delete rules;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         // no quoting on these two, the lexer preserved the quotes on input
         out->Print( nestLevel, "(%s %s %s ",
@@ -2539,7 +2539,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s", Name() );
 
@@ -2622,7 +2622,7 @@ public:
         return -1;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( net_id.c_str() );
         const char* space = " ";
@@ -2699,7 +2699,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( FROMTOS::iterator i=fromtos.begin();  i!=fromtos.end();  ++i )
             i->Format( out, nestLevel );
@@ -2746,7 +2746,7 @@ public:
     }
 
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( class_id.c_str() );
 
@@ -2815,7 +2815,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( NETS::iterator i=nets.begin();  i!=nets.end();  ++i )
             i->Format( out, nestLevel );
@@ -2896,7 +2896,7 @@ public:
         }
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         out->Print( nestLevel, "(%s ", Name() );
 
@@ -2980,7 +2980,7 @@ public:
         return padstack_id;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( padstack_id.c_str() );
 
@@ -3106,7 +3106,7 @@ public:
         delete unit;
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( unit )
             unit->Format( out, nestLevel );
@@ -3118,7 +3118,7 @@ public:
             i->Format( out, nestLevel );
     }
 
-    virtual UNIT_RES*  GetUnits() const
+    virtual UNIT_RES*  GetUnits() const override
     {
         if( unit )
             return unit;
@@ -3169,7 +3169,7 @@ public:
         delete wiring;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( pcbname.c_str() );
 
@@ -3203,7 +3203,7 @@ public:
         out->Print( nestLevel, ")\n" );
     }
 
-    virtual UNIT_RES*  GetUnits() const
+    virtual UNIT_RES*  GetUnits() const override
     {
         if( unit )
             return unit;
@@ -3232,7 +3232,7 @@ public:
         time_stamp = time(NULL);
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         char    temp[80];
         struct  tm* tmp;
@@ -3276,7 +3276,7 @@ public:
         time_stamp = time(NULL);
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( ANCESTORS::iterator i=ancestors.begin();  i!=ancestors.end();  ++i )
             i->Format( out, nestLevel );
@@ -3319,7 +3319,7 @@ public:
     {
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         bool singleLine = pin_refs.size() <= 1;
         out->Print( nestLevel, "(%s", Name() );
@@ -3378,7 +3378,7 @@ public:
         delete rules;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( net_id.c_str() );
 
@@ -3437,7 +3437,7 @@ public:
 //        delete test_points;
     }
 
-    virtual UNIT_RES*  GetUnits() const
+    virtual UNIT_RES*  GetUnits() const override
     {
         if( resolution )
             return resolution;
@@ -3445,7 +3445,7 @@ public:
         return ELEM::GetUnits();
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         if( resolution )
             resolution->Format( out, nestLevel );
@@ -3508,7 +3508,7 @@ public:
     {
     }
 
-    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         for( PIN_PAIRS::iterator i=pin_pairs.begin();  i!=pin_pairs.end();  ++i )
         {
@@ -3565,7 +3565,7 @@ public:
         delete route;
     }
 
-    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
+    virtual void Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR ) override
     {
         const char* quote = out->GetQuoteChar( session_id.c_str() );
         out->Print( nestLevel, "(%s %s%s%s\n", Name(),
diff --git a/pcbnew/target_edit.cpp b/pcbnew/target_edit.cpp
index 10985e1..ed2173f 100644
--- a/pcbnew/target_edit.cpp
+++ b/pcbnew/target_edit.cpp
@@ -74,8 +74,8 @@ public:
     ~TARGET_PROPERTIES_DIALOG_EDITOR() { }
 
 private:
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnCancelClick( wxCommandEvent& event );
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnCancelClick( wxCommandEvent& event ) override;
 };
 
 
diff --git a/pcbnew/tools/bright_box.h b/pcbnew/tools/bright_box.h
index c423f34..db6995e 100644
--- a/pcbnew/tools/bright_box.h
+++ b/pcbnew/tools/bright_box.h
@@ -42,21 +42,21 @@ public:
     BRIGHT_BOX( BOARD_ITEM* aItem );
     ~BRIGHT_BOX() {};
 
-    virtual const BOX2I ViewBBox() const
+    virtual const BOX2I ViewBBox() const override
     {
         return m_item->ViewBBox();
     }
 
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
         aLayers[0] = ITEM_GAL_LAYER( GP_OVERLAY );
         aCount = 1;
     }
 
 #if defined(DEBUG)
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -64,7 +64,7 @@ public:
     /** Get class name
      * @return  string "BRIGHT_BOX"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "BRIGHT_BOX" );
     }
diff --git a/pcbnew/tools/drawing_tool.h b/pcbnew/tools/drawing_tool.h
index 1ab9d08..d146dfd 100644
--- a/pcbnew/tools/drawing_tool.h
+++ b/pcbnew/tools/drawing_tool.h
@@ -50,7 +50,7 @@ public:
     ~DRAWING_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /**
      * Function DrawLine()
@@ -133,7 +133,7 @@ public:
     }
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     ///> Starts drawing a selected shape (i.e. DRAWSEGMENT).
diff --git a/pcbnew/tools/edit_constraints.h b/pcbnew/tools/edit_constraints.h
index a1744d3..a244b15 100644
--- a/pcbnew/tools/edit_constraints.h
+++ b/pcbnew/tools/edit_constraints.h
@@ -92,7 +92,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;      ///< Point that imposes the constraint.
@@ -118,7 +118,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -145,7 +145,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -164,7 +164,7 @@ public:
     EC_LINE( EDIT_POINT& aConstrained, const EDIT_POINT& aConstrainer );
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     const EDIT_POINT& m_constrainer;    ///< Point that imposes the constraint.
@@ -192,7 +192,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_POINT& aHandle );
+    virtual void Apply( EDIT_POINT& aHandle ) override;
 
 private:
     ///> Point that imposes the constraint (center of the circle).
@@ -217,7 +217,7 @@ public:
     virtual ~EC_CONVERGING();
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_LINE& aHandle );
+    virtual void Apply( EDIT_LINE& aHandle ) override;
 
 private:
     ///> Constraint for origin side segment.
@@ -257,7 +257,7 @@ public:
     {}
 
     ///> @copydoc EDIT_CONSTRAINT::Apply()
-    virtual void Apply( EDIT_LINE& aHandle );
+    virtual void Apply( EDIT_LINE& aHandle ) override;
 
 private:
     ///> Function that determines snapping point.
diff --git a/pcbnew/tools/edit_points.h b/pcbnew/tools/edit_points.h
index f27680f..a268797 100644
--- a/pcbnew/tools/edit_points.h
+++ b/pcbnew/tools/edit_points.h
@@ -197,13 +197,13 @@ public:
     }
 
     ///> @copydoc EDIT_POINT::GetPosition()
-    virtual VECTOR2I GetPosition() const
+    virtual VECTOR2I GetPosition() const override
     {
         return ( m_origin.GetPosition() + m_end.GetPosition() ) / 2;
     }
 
     ///> @copydoc EDIT_POINT::GetPosition()
-    virtual void SetPosition( const VECTOR2I& aPosition )
+    virtual void SetPosition( const VECTOR2I& aPosition ) override
     {
         VECTOR2I difference = aPosition - GetPosition();
 
@@ -212,7 +212,7 @@ public:
     }
 
     ///> @copydoc EDIT_POINT::ApplyConstraint()
-    virtual void ApplyConstraint()
+    virtual void ApplyConstraint() override
     {
         m_origin.ApplyConstraint();
         m_end.ApplyConstraint();
@@ -488,23 +488,23 @@ public:
     }
 
     ///> @copydoc VIEW_ITEM::ViewBBox()
-    virtual const BOX2I ViewBBox() const
+    virtual const BOX2I ViewBBox() const override
     {
         return m_parent->ViewBBox();
     }
 
     ///> @copydoc VIEW_ITEM::ViewDraw()
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
     ///> @copydoc VIEW_ITEM::ViewGetLayers()
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override
     {
         aCount = 1;
         aLayers[0] = ITEM_GAL_LAYER( GP_OVERLAY );
     }
 
 #if defined(DEBUG)
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -512,7 +512,7 @@ public:
     /** Get class name
      * @return  string "EDIT_POINTS"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "EDIT_POINTS" );
     }
diff --git a/pcbnew/tools/edit_tool.cpp b/pcbnew/tools/edit_tool.cpp
index 1553397..9c85550 100644
--- a/pcbnew/tools/edit_tool.cpp
+++ b/pcbnew/tools/edit_tool.cpp
@@ -812,42 +812,42 @@ public:
 
 private:
 
-    virtual int getNumberOfItemsToArray() const
+    virtual int getNumberOfItemsToArray() const override
     {
         // only handle single items
         return m_selection.Size();
     }
 
-    virtual BOARD_ITEM* getNthItemToArray( int n ) const
+    virtual BOARD_ITEM* getNthItemToArray( int n ) const override
     {
         return m_selection.Item<BOARD_ITEM>( n );
     }
 
-    virtual BOARD* getBoard() const
+    virtual BOARD* getBoard() const override
     {
         return m_parent.GetBoard();
     }
 
-    virtual MODULE* getModule() const
+    virtual MODULE* getModule() const override
     {
         // Remember this is valid and used only in the module editor.
         // in board editor, the parent of items is usually the board.
         return m_editModules ? m_parent.GetBoard()->m_Modules.GetFirst() : NULL;
     }
 
-    virtual wxPoint getRotationCentre() const
+    virtual wxPoint getRotationCentre() const override
     {
         const VECTOR2I rp = m_selection.GetCenter();
         return wxPoint( rp.x, rp.y );
     }
 
-    virtual void prePushAction( BOARD_ITEM* new_item )
+    virtual void prePushAction( BOARD_ITEM* new_item ) override
     {
         m_parent.GetToolManager()->RunAction( COMMON_ACTIONS::unselectItem,
                                               true, new_item );
     }
 
-    virtual void postPushAction( BOARD_ITEM* new_item )
+    virtual void postPushAction( BOARD_ITEM* new_item ) override
     {
         KIGFX::VIEW* view = m_parent.GetToolManager()->GetView();
         if( new_item->Type() == PCB_MODULE_T)
@@ -860,7 +860,7 @@ private:
         m_ratsnest->Update( new_item );
     }
 
-    virtual void finalise()
+    virtual void finalise() override
     {
         m_ratsnest->Recalculate();
     }
diff --git a/pcbnew/tools/edit_tool.h b/pcbnew/tools/edit_tool.h
index d4feaec..a395463 100644
--- a/pcbnew/tools/edit_tool.h
+++ b/pcbnew/tools/edit_tool.h
@@ -51,10 +51,10 @@ public:
     EDIT_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     /**
      * Function Main()
@@ -127,7 +127,7 @@ public:
     }
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     ///> Selection tool used for obtaining selected items
diff --git a/pcbnew/tools/module_tools.h b/pcbnew/tools/module_tools.h
index 52762fa..df853f2 100644
--- a/pcbnew/tools/module_tools.h
+++ b/pcbnew/tools/module_tools.h
@@ -48,10 +48,10 @@ public:
     ~MODULE_TOOLS();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     /**
      * Function PlacePad()
@@ -101,7 +101,7 @@ public:
     int ModuleEdgeOutlines( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     KIGFX::VIEW* m_view;
diff --git a/pcbnew/tools/pcb_editor_control.h b/pcbnew/tools/pcb_editor_control.h
index e416b76..f0504c8 100644
--- a/pcbnew/tools/pcb_editor_control.h
+++ b/pcbnew/tools/pcb_editor_control.h
@@ -46,10 +46,10 @@ public:
     ~PCB_EDITOR_CONTROL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     // Track & via size control
     int TrackWidthInc( const TOOL_EVENT& aEvent );
@@ -95,7 +95,7 @@ public:
     int HighlightNetCursor( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     ///> Pointer to the currently used edit frame.
diff --git a/pcbnew/tools/pcbnew_control.h b/pcbnew/tools/pcbnew_control.h
index d1fa97a..ecb59f7 100644
--- a/pcbnew/tools/pcbnew_control.h
+++ b/pcbnew/tools/pcbnew_control.h
@@ -45,7 +45,7 @@ public:
     ~PCBNEW_CONTROL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     // View controls
     int ZoomInOut( const TOOL_EVENT& aEvent );
@@ -92,7 +92,7 @@ public:
     int ToBeDone( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     ///> Pointer to the currently used edit frame.
diff --git a/pcbnew/tools/picker_tool.h b/pcbnew/tools/picker_tool.h
index 0f6b1ed..1569180 100644
--- a/pcbnew/tools/picker_tool.h
+++ b/pcbnew/tools/picker_tool.h
@@ -42,7 +42,7 @@ public:
     typedef boost::function<bool(const VECTOR2D&)> CLICK_HANDLER;
 
     ///> @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason ) {}
+    virtual void Reset( RESET_REASON aReason ) override {}
 
     ///> Main event loop.
     int Main( const TOOL_EVENT& aEvent );
@@ -99,7 +99,7 @@ public:
     }
 
     ///> @copydoc TOOL_INTERACTIVE::SetTransitions();
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     // Tool settings.
diff --git a/pcbnew/tools/placement_tool.h b/pcbnew/tools/placement_tool.h
index abfb520..515e115 100644
--- a/pcbnew/tools/placement_tool.h
+++ b/pcbnew/tools/placement_tool.h
@@ -36,10 +36,10 @@ public:
     virtual ~PLACEMENT_TOOL();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason ) {};
+    virtual void Reset( RESET_REASON aReason ) override {};
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     /**
      * Function AlignTop()
@@ -78,7 +78,7 @@ public:
     int DistributeVertically( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     SELECTION_TOOL* m_selectionTool;
diff --git a/pcbnew/tools/point_editor.h b/pcbnew/tools/point_editor.h
index bebf304..0747360 100644
--- a/pcbnew/tools/point_editor.h
+++ b/pcbnew/tools/point_editor.h
@@ -43,10 +43,10 @@ public:
     POINT_EDITOR();
 
     /// @copydoc TOOL_INTERACTIVE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /// @copydoc TOOL_INTERACTIVE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     /**
      * Function OnSelected()
@@ -56,7 +56,7 @@ public:
     int OnSelectionChange( const TOOL_EVENT& aEvent );
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     ///> Selection tool used for obtaining selected items
diff --git a/pcbnew/tools/selection_area.h b/pcbnew/tools/selection_area.h
index 37dd9f9..da38e42 100644
--- a/pcbnew/tools/selection_area.h
+++ b/pcbnew/tools/selection_area.h
@@ -47,11 +47,11 @@ public:
     SELECTION_AREA();
     ~SELECTION_AREA() {};
 
-    virtual const BOX2I ViewBBox() const;
+    virtual const BOX2I ViewBBox() const override;
 
-    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const;
+    virtual void ViewDraw( int aLayer, KIGFX::GAL* aGal ) const override;
 
-    virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
+    virtual void ViewGetLayers( int aLayers[], int& aCount ) const override;
 
     void SetOrigin( VECTOR2I aOrigin )
     {
@@ -64,7 +64,7 @@ public:
     }
 
 #if defined(DEBUG)
-    virtual void Show( int x, std::ostream& st ) const
+    virtual void Show( int x, std::ostream& st ) const override
     {
     }
 #endif
@@ -72,7 +72,7 @@ public:
     /** Get class name
      * @return  string "SELECTION_AREA"
      */
-    virtual wxString GetClass() const
+    virtual wxString GetClass() const override
     {
         return wxT( "SELECTION_AREA" );
     }
diff --git a/pcbnew/tools/selection_tool.h b/pcbnew/tools/selection_tool.h
index ad0bf1a..b7d21c6 100644
--- a/pcbnew/tools/selection_tool.h
+++ b/pcbnew/tools/selection_tool.h
@@ -118,10 +118,10 @@ public:
     ~SELECTION_TOOL();
 
     /// @copydoc TOOL_BASE::Init()
-    virtual bool Init();
+    virtual bool Init() override;
 
     /// @copydoc TOOL_BASE::Reset()
-    virtual void Reset( RESET_REASON aReason );
+    virtual void Reset( RESET_REASON aReason ) override;
 
     /**
      * Function Main()
@@ -183,7 +183,7 @@ public:
     static const TOOL_EVENT ClearedEvent;
 
     ///> Sets up handlers for various events.
-    virtual void SetTransitions();
+    virtual void SetTransitions() override;
 
 private:
     /**
diff --git a/pcbnew/xchgmod.cpp b/pcbnew/xchgmod.cpp
index 5fe627f..209d72a 100644
--- a/pcbnew/xchgmod.cpp
+++ b/pcbnew/xchgmod.cpp
@@ -61,12 +61,12 @@ public:
     ~DIALOG_EXCHANGE_MODULE() { };
 
 private:
-    virtual void OnSelectionClicked( wxCommandEvent& event );
-    virtual void OnOkClick( wxCommandEvent& event );
-    virtual void OnQuit( wxCommandEvent& event );
-    virtual void BrowseAndSelectFootprint( wxCommandEvent& event );
-    virtual void ViewAndSelectFootprint( wxCommandEvent& event );
-    virtual void RebuildCmpList( wxCommandEvent& event );
+    virtual void OnSelectionClicked( wxCommandEvent& event ) override;
+    virtual void OnOkClick( wxCommandEvent& event ) override;
+    virtual void OnQuit( wxCommandEvent& event ) override;
+    virtual void BrowseAndSelectFootprint( wxCommandEvent& event ) override;
+    virtual void ViewAndSelectFootprint( wxCommandEvent& event ) override;
+    virtual void RebuildCmpList( wxCommandEvent& event ) override;
     void init();
 
     bool changeCurrentFootprint();
diff --git a/plugins/3d/vrml/v1/vrml1_base.h b/plugins/3d/vrml/v1/vrml1_base.h
index f5d732d..40b7d18 100644
--- a/plugins/3d/vrml/v1/vrml1_base.h
+++ b/plugins/3d/vrml/v1/vrml1_base.h
@@ -70,13 +70,13 @@ public:
     bool ReadNode( WRLPROC& proc, WRL1NODE* aParent, WRL1NODE** aNode );
 
     // overrides
-    virtual std::string GetName( void );
-    virtual bool SetName( const std::string& aName );
+    virtual std::string GetName( void ) override;
+    virtual bool SetName( const std::string& aName ) override;
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool SetParent( WRL1NODE* aParent, bool doUnlink = true );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool SetParent( WRL1NODE* aParent, bool doUnlink = true ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_BASE_H
diff --git a/plugins/3d/vrml/v1/vrml1_coords.h b/plugins/3d/vrml/v1/vrml1_coords.h
index 696f09f..0278720 100644
--- a/plugins/3d/vrml/v1/vrml1_coords.h
+++ b/plugins/3d/vrml/v1/vrml1_coords.h
@@ -50,10 +50,10 @@ public:
     virtual ~WRL1COORDS();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/v1/vrml1_faceset.h b/plugins/3d/vrml/v1/vrml1_faceset.h
index 36204bd..4cb6cac 100644
--- a/plugins/3d/vrml/v1/vrml1_faceset.h
+++ b/plugins/3d/vrml/v1/vrml1_faceset.h
@@ -53,10 +53,10 @@ public:
     virtual ~WRL1FACESET();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_FACESET_H
diff --git a/plugins/3d/vrml/v1/vrml1_group.h b/plugins/3d/vrml/v1/vrml1_group.h
index 58c91d7..e13169e 100644
--- a/plugins/3d/vrml/v1/vrml1_group.h
+++ b/plugins/3d/vrml/v1/vrml1_group.h
@@ -45,8 +45,8 @@ public:
     virtual ~WRL1GROUP();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_GROUP_H
diff --git a/plugins/3d/vrml/v1/vrml1_matbinding.h b/plugins/3d/vrml/v1/vrml1_matbinding.h
index f24cd02..92fa346 100644
--- a/plugins/3d/vrml/v1/vrml1_matbinding.h
+++ b/plugins/3d/vrml/v1/vrml1_matbinding.h
@@ -49,10 +49,10 @@ public:
     virtual ~WRL1MATBINDING();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_MATBINDING_H
diff --git a/plugins/3d/vrml/v1/vrml1_material.h b/plugins/3d/vrml/v1/vrml1_material.h
index 9f76d4e..408677f 100644
--- a/plugins/3d/vrml/v1/vrml1_material.h
+++ b/plugins/3d/vrml/v1/vrml1_material.h
@@ -60,10 +60,10 @@ public:
     virtual ~WRL1MATERIAL();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 
     /**
      * Function GetAppearance
diff --git a/plugins/3d/vrml/v1/vrml1_separator.h b/plugins/3d/vrml/v1/vrml1_separator.h
index e9ba228..c451b1f 100644
--- a/plugins/3d/vrml/v1/vrml1_separator.h
+++ b/plugins/3d/vrml/v1/vrml1_separator.h
@@ -45,8 +45,8 @@ public:
     virtual ~WRL1SEPARATOR();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SEPARATOR_H
diff --git a/plugins/3d/vrml/v1/vrml1_shapehints.h b/plugins/3d/vrml/v1/vrml1_shapehints.h
index 73df1b4..196c12e 100644
--- a/plugins/3d/vrml/v1/vrml1_shapehints.h
+++ b/plugins/3d/vrml/v1/vrml1_shapehints.h
@@ -50,10 +50,10 @@ public:
     virtual ~WRL1SHAPEHINTS();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SHAPEHINTS_H
diff --git a/plugins/3d/vrml/v1/vrml1_switch.h b/plugins/3d/vrml/v1/vrml1_switch.h
index c1ad2dd..103ff38 100644
--- a/plugins/3d/vrml/v1/vrml1_switch.h
+++ b/plugins/3d/vrml/v1/vrml1_switch.h
@@ -48,8 +48,8 @@ public:
     virtual ~WRL1SWITCH();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_SWITCH_H
diff --git a/plugins/3d/vrml/v1/vrml1_transform.h b/plugins/3d/vrml/v1/vrml1_transform.h
index f9fc814..f3294f6 100644
--- a/plugins/3d/vrml/v1/vrml1_transform.h
+++ b/plugins/3d/vrml/v1/vrml1_transform.h
@@ -52,10 +52,10 @@ public:
     virtual ~WRL1TRANSFORM();
 
     // functions inherited from WRL1NODE
-    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode );
-    virtual bool AddRefNode( WRL1NODE* aNode );
-    virtual bool AddChildNode( WRL1NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp );
+    virtual bool Read( WRLPROC& proc, WRL1BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL1NODE* aNode ) override;
+    virtual bool AddChildNode( WRL1NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent, WRL1STATUS* sp ) override;
 };
 
 #endif  // VRML1_TRANSFORM_H
diff --git a/plugins/3d/vrml/v2/vrml2_appearance.h b/plugins/3d/vrml/v2/vrml2_appearance.h
index 5d19a69..96b21c8 100644
--- a/plugins/3d/vrml/v2/vrml2_appearance.h
+++ b/plugins/3d/vrml/v2/vrml2_appearance.h
@@ -51,13 +51,13 @@ private:
     bool checkNodeType( WRL2NODES aType );
 
     // overloads
-    virtual void unlinkChildNode( const WRL2NODE* aNode );
-    virtual void unlinkRefNode( const WRL2NODE* aNode );
+    virtual void unlinkChildNode( const WRL2NODE* aNode ) override;
+    virtual void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2APPEARANCE();
@@ -65,10 +65,10 @@ public:
     virtual ~WRL2APPEARANCE();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_APPEARANCE_H
diff --git a/plugins/3d/vrml/v2/vrml2_base.h b/plugins/3d/vrml/v2/vrml2_base.h
index 17b9726..543ab64 100644
--- a/plugins/3d/vrml/v2/vrml2_base.h
+++ b/plugins/3d/vrml/v2/vrml2_base.h
@@ -85,7 +85,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2BASE();
@@ -105,13 +105,13 @@ public:
     bool ReadNode( WRLPROC& proc, WRL2NODE* aParent, WRL2NODE** aNode );
 
     // overrides
-    virtual std::string GetName( void );
-    virtual bool SetName( const std::string& aName );
+    virtual std::string GetName( void ) override;
+    virtual bool SetName( const std::string& aName ) override;
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool SetParent( WRL2NODE* aParent, bool doUnlink = true );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool SetParent( WRL2NODE* aParent, bool doUnlink = true ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_BASE_H
diff --git a/plugins/3d/vrml/v2/vrml2_box.h b/plugins/3d/vrml/v2/vrml2_box.h
index ee04138..4a722b2 100644
--- a/plugins/3d/vrml/v2/vrml2_box.h
+++ b/plugins/3d/vrml/v2/vrml2_box.h
@@ -45,7 +45,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2BOX();
@@ -53,10 +53,10 @@ public:
     virtual ~WRL2BOX();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_BOX_H
diff --git a/plugins/3d/vrml/v2/vrml2_color.h b/plugins/3d/vrml/v2/vrml2_color.h
index 9a73782..60e3d6a 100644
--- a/plugins/3d/vrml/v2/vrml2_color.h
+++ b/plugins/3d/vrml/v2/vrml2_color.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2COLOR();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2COLOR();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_coords.h b/plugins/3d/vrml/v2/vrml2_coords.h
index 8099e5c..bc49d4e 100644
--- a/plugins/3d/vrml/v2/vrml2_coords.h
+++ b/plugins/3d/vrml/v2/vrml2_coords.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2COORDS();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2COORDS();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/v2/vrml2_faceset.h b/plugins/3d/vrml/v2/vrml2_faceset.h
index ddfed1b..5e046b2 100644
--- a/plugins/3d/vrml/v2/vrml2_faceset.h
+++ b/plugins/3d/vrml/v2/vrml2_faceset.h
@@ -72,12 +72,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 
     // overloads
-    virtual void unlinkChildNode( const WRL2NODE* aNode );
-    virtual void unlinkRefNode( const WRL2NODE* aNode );
+    virtual void unlinkChildNode( const WRL2NODE* aNode ) override;
+    virtual void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2FACESET();
@@ -85,10 +85,10 @@ public:
     virtual ~WRL2FACESET();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_inline.h b/plugins/3d/vrml/v2/vrml2_inline.h
index 03ffafc..3f37ccd 100644
--- a/plugins/3d/vrml/v2/vrml2_inline.h
+++ b/plugins/3d/vrml/v2/vrml2_inline.h
@@ -48,7 +48,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2INLINE();
@@ -56,10 +56,10 @@ public:
     virtual ~WRL2INLINE();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_INLINE_H
diff --git a/plugins/3d/vrml/v2/vrml2_lineset.h b/plugins/3d/vrml/v2/vrml2_lineset.h
index 8082b84..26b18cb 100644
--- a/plugins/3d/vrml/v2/vrml2_lineset.h
+++ b/plugins/3d/vrml/v2/vrml2_lineset.h
@@ -61,12 +61,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 
     // overloads
-    virtual void unlinkChildNode( const WRL2NODE* aNode );
-    virtual void unlinkRefNode( const WRL2NODE* aNode );
+    virtual void unlinkChildNode( const WRL2NODE* aNode ) override;
+    virtual void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2LINESET();
@@ -74,10 +74,10 @@ public:
     virtual ~WRL2LINESET();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_material.h b/plugins/3d/vrml/v2/vrml2_material.h
index 33d19d6..7d03b83 100644
--- a/plugins/3d/vrml/v2/vrml2_material.h
+++ b/plugins/3d/vrml/v2/vrml2_material.h
@@ -52,7 +52,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2MATERIAL();
@@ -60,10 +60,10 @@ public:
     virtual ~WRL2MATERIAL();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_MATERIAL_H
diff --git a/plugins/3d/vrml/v2/vrml2_norms.h b/plugins/3d/vrml/v2/vrml2_norms.h
index 76798b2..119f8b7 100644
--- a/plugins/3d/vrml/v2/vrml2_norms.h
+++ b/plugins/3d/vrml/v2/vrml2_norms.h
@@ -47,7 +47,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2NORMS();
@@ -55,10 +55,10 @@ public:
     virtual ~WRL2NORMS();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_NORMS_H
diff --git a/plugins/3d/vrml/v2/vrml2_pointset.h b/plugins/3d/vrml/v2/vrml2_pointset.h
index 8067205..9ea8be7 100644
--- a/plugins/3d/vrml/v2/vrml2_pointset.h
+++ b/plugins/3d/vrml/v2/vrml2_pointset.h
@@ -56,12 +56,12 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 
     // overloads
-    virtual void unlinkChildNode( const WRL2NODE* aNode );
-    virtual void unlinkRefNode( const WRL2NODE* aNode );
+    virtual void unlinkChildNode( const WRL2NODE* aNode ) override;
+    virtual void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
     WRL2POINTSET();
@@ -69,10 +69,10 @@ public:
     virtual ~WRL2POINTSET();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     /**
      * Function HasColors
diff --git a/plugins/3d/vrml/v2/vrml2_shape.h b/plugins/3d/vrml/v2/vrml2_shape.h
index 38c8016..ec51a29 100644
--- a/plugins/3d/vrml/v2/vrml2_shape.h
+++ b/plugins/3d/vrml/v2/vrml2_shape.h
@@ -50,13 +50,13 @@ private:
     bool checkNodeType( WRL2NODES aType );
 
     // overloads
-    virtual void unlinkChildNode( const WRL2NODE* aNode );
-    virtual void unlinkRefNode( const WRL2NODE* aNode );
+    virtual void unlinkChildNode( const WRL2NODE* aNode ) override;
+    virtual void unlinkRefNode( const WRL2NODE* aNode ) override;
 
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2SHAPE();
@@ -64,10 +64,10 @@ public:
     virtual ~WRL2SHAPE();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual bool AddChildNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual bool AddChildNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_SHAPE_H
diff --git a/plugins/3d/vrml/v2/vrml2_switch.h b/plugins/3d/vrml/v2/vrml2_switch.h
index 791635b..f0aec5a 100644
--- a/plugins/3d/vrml/v2/vrml2_switch.h
+++ b/plugins/3d/vrml/v2/vrml2_switch.h
@@ -48,7 +48,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2SWITCH();
@@ -56,9 +56,9 @@ public:
     virtual ~WRL2SWITCH();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_SWITCH_H
diff --git a/plugins/3d/vrml/v2/vrml2_transform.h b/plugins/3d/vrml/v2/vrml2_transform.h
index b62dac8..7b46b92 100644
--- a/plugins/3d/vrml/v2/vrml2_transform.h
+++ b/plugins/3d/vrml/v2/vrml2_transform.h
@@ -53,7 +53,7 @@ private:
 public:
 
     // functions inherited from WRL2NODE
-    virtual bool isDangling( void );
+    virtual bool isDangling( void ) override;
 
 public:
     WRL2TRANSFORM();
@@ -61,9 +61,9 @@ public:
     virtual ~WRL2TRANSFORM();
 
     // functions inherited from WRL2NODE
-    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode );
-    virtual bool AddRefNode( WRL2NODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( WRLPROC& proc, WRL2BASE* aTopNode ) override;
+    virtual bool AddRefNode( WRL2NODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // VRML2_TRANSFORM_H
diff --git a/plugins/3d/vrml/x3d/x3d_appearance.h b/plugins/3d/vrml/x3d/x3d_appearance.h
index 0419d36..e44ad8b 100644
--- a/plugins/3d/vrml/x3d/x3d_appearance.h
+++ b/plugins/3d/vrml/x3d/x3d_appearance.h
@@ -59,11 +59,11 @@ public:
     virtual ~X3DAPP();
 
     // functions inherited from X3DNODE
-    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    virtual bool AddChildNode( X3DNODE* aNode );
-    virtual bool AddRefNode( X3DNODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    virtual bool AddChildNode( X3DNODE* aNode ) override;
+    virtual bool AddRefNode( X3DNODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_APPEARANCE_H
diff --git a/plugins/3d/vrml/x3d/x3d_coords.h b/plugins/3d/vrml/x3d/x3d_coords.h
index beb449c..5eb8395 100644
--- a/plugins/3d/vrml/x3d/x3d_coords.h
+++ b/plugins/3d/vrml/x3d/x3d_coords.h
@@ -49,11 +49,11 @@ public:
     virtual ~X3DCOORDS();
 
     // functions inherited from X3DNODE
-    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    virtual bool AddChildNode( X3DNODE* aNode );
-    virtual bool AddRefNode( X3DNODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    virtual bool AddChildNode( X3DNODE* aNode ) override;
+    virtual bool AddRefNode( X3DNODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     void GetCoords( WRLVEC3F*& aCoordList, size_t& aListSize );
 };
diff --git a/plugins/3d/vrml/x3d/x3d_ifaceset.h b/plugins/3d/vrml/x3d/x3d_ifaceset.h
index c9fafd5..36679c5 100644
--- a/plugins/3d/vrml/x3d/x3d_ifaceset.h
+++ b/plugins/3d/vrml/x3d/x3d_ifaceset.h
@@ -57,11 +57,11 @@ public:
     virtual ~X3DIFACESET();
 
     // functions inherited from X3DNODE
-    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    virtual bool AddChildNode( X3DNODE* aNode );
-    virtual bool AddRefNode( X3DNODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    virtual bool AddChildNode( X3DNODE* aNode ) override;
+    virtual bool AddRefNode( X3DNODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_IFACESET_H
diff --git a/plugins/3d/vrml/x3d/x3d_shape.h b/plugins/3d/vrml/x3d/x3d_shape.h
index 6790be4..7393555 100644
--- a/plugins/3d/vrml/x3d/x3d_shape.h
+++ b/plugins/3d/vrml/x3d/x3d_shape.h
@@ -50,15 +50,15 @@ public:
     virtual ~X3DSHAPE();
 
     // functions inherited from X3DNODE
-    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    virtual bool AddChildNode( X3DNODE* aNode );
-    virtual bool AddRefNode( X3DNODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    virtual bool AddChildNode( X3DNODE* aNode ) override;
+    virtual bool AddRefNode( X3DNODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 
     // overrides
-    virtual void unlinkChildNode( const X3DNODE* aNode );
-    virtual void unlinkRefNode( const X3DNODE* aNode );
+    virtual void unlinkChildNode( const X3DNODE* aNode ) override;
+    virtual void unlinkRefNode( const X3DNODE* aNode ) override;
 };
 
 #endif  // X3D_SHAPE_H
diff --git a/plugins/3d/vrml/x3d/x3d_transform.h b/plugins/3d/vrml/x3d/x3d_transform.h
index 6aea08f..44a4cd1 100644
--- a/plugins/3d/vrml/x3d/x3d_transform.h
+++ b/plugins/3d/vrml/x3d/x3d_transform.h
@@ -58,11 +58,11 @@ public:
     virtual ~X3DTRANSFORM();
 
     // functions inherited from X3DNODE
-    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict );
-    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true );
-    virtual bool AddChildNode( X3DNODE* aNode );
-    virtual bool AddRefNode( X3DNODE* aNode );
-    virtual SGNODE* TranslateToSG( SGNODE* aParent );
+    virtual bool Read( wxXmlNode* aNode, X3DNODE* aTopNode, X3D_DICT& aDict ) override;
+    virtual bool SetParent( X3DNODE* aParent, bool doUnlink = true ) override;
+    virtual bool AddChildNode( X3DNODE* aNode ) override;
+    virtual bool AddRefNode( X3DNODE* aNode ) override;
+    virtual SGNODE* TranslateToSG( SGNODE* aParent ) override;
 };
 
 #endif  // X3D_TRANSFORM_H
diff --git a/plugins/ldr/3d/pluginldr3D.h b/plugins/ldr/3d/pluginldr3D.h
index 1e7421d..9ecc6a7 100644
--- a/plugins/ldr/3d/pluginldr3D.h
+++ b/plugins/ldr/3d/pluginldr3D.h
@@ -65,12 +65,12 @@ public:
 
 
     // virtuals inherited from KICAD_PLUGIN_LDR
-    virtual bool Open( const wxString& aFullFileName );
+    virtual bool Open( const wxString& aFullFileName ) override;
 
-    virtual void Close( void );
+    virtual void Close( void ) override;
 
     virtual void GetLoaderVersion( unsigned char* Major, unsigned char* Minor,
-        unsigned char* Revision, unsigned char* Patch ) const;
+        unsigned char* Revision, unsigned char* Patch ) const override;
 
 
     // these functions are shadows of the 3D Plugin functions from 3d_plugin.h
diff --git a/polygon/clipper.hpp b/polygon/clipper.hpp
index 1c38371..67571e4 100644
--- a/polygon/clipper.hpp
+++ b/polygon/clipper.hpp
@@ -391,7 +391,7 @@ class clipperException : public std::exception
   public:
     clipperException(const char* description): m_descr(description) {}
     virtual ~clipperException() throw() {}
-    virtual const char* what() const throw() {return m_descr.c_str();}
+    virtual const char* what() const throw() override {return m_descr.c_str();}
   private:
     std::string m_descr;
 };
diff --git a/utils/idftools/dxf2idf.h b/utils/idftools/dxf2idf.h
index 3b8e864..6b6d0bc 100644
--- a/utils/idftools/dxf2idf.h
+++ b/utils/idftools/dxf2idf.h
@@ -46,58 +46,58 @@ public:
 
 private:
     // DRW_Interface implemented callback functions
-    virtual void addHeader( const DRW_Header* data );
-    virtual void addLine(const DRW_Line& data);
-    virtual void addArc(const DRW_Arc& data );
-    virtual void addCircle(const DRW_Circle& data );
-    virtual void addLWPolyline(const DRW_LWPolyline& data );
-    virtual void addPolyline(const DRW_Polyline& data );
+    virtual void addHeader( const DRW_Header* data ) override;
+    virtual void addLine(const DRW_Line& data) override;
+    virtual void addArc(const DRW_Arc& data ) override;
+    virtual void addCircle(const DRW_Circle& data ) override;
+    virtual void addLWPolyline(const DRW_LWPolyline& data ) override;
+    virtual void addPolyline(const DRW_Polyline& data ) override;
 
     // DRW_Interface callbacks unsupported by DXF2IDF
-    virtual void addLType( const DRW_LType& data ) {}
-    virtual void addLayer( const DRW_Layer& data ) {}
-    virtual void addDimStyle( const DRW_Dimstyle& data ) {}
-    virtual void addVport(const DRW_Vport& data) {}
-    virtual void addTextStyle(const DRW_Textstyle& data) {}
-    virtual void addBlock(const DRW_Block& data ) {}
-    virtual void setBlock(const int handle) {}
-    virtual void endBlock() {}
-    virtual void addPoint(const DRW_Point& data ) {}
-    virtual void addRay(const DRW_Ray& data ) {}
-    virtual void addXline(const DRW_Xline& data ) {}
-    virtual void addEllipse(const DRW_Ellipse& data ) {}
-    virtual void addSpline(const DRW_Spline* data ) {}
-    virtual void addKnot(const DRW_Entity&) {}
-    virtual void addInsert(const DRW_Insert& data ) {}
-    virtual void addTrace(const DRW_Trace& data ) {}
-    virtual void add3dFace(const DRW_3Dface& data ) {}
-    virtual void addSolid(const DRW_Solid& data ) {}
-    virtual void addMText(const DRW_MText& data) {}
-    virtual void addText(const DRW_Text& data ) {}
-    virtual void addDimAlign(const DRW_DimAligned *data ) {}
-    virtual void addDimLinear(const DRW_DimLinear *data ) {}
-    virtual void addDimRadial(const DRW_DimRadial *data ) {}
-    virtual void addDimDiametric(const DRW_DimDiametric *data ) {}
-    virtual void addDimAngular(const DRW_DimAngular *data ) {}
-    virtual void addDimAngular3P(const DRW_DimAngular3p *data ) {}
-    virtual void addDimOrdinate(const DRW_DimOrdinate *data ) {}
-    virtual void addLeader(const DRW_Leader *data ) {}
-    virtual void addHatch(const DRW_Hatch* data ) {}
-    virtual void addViewport(const DRW_Viewport& data) {}
-    virtual void addImage(const DRW_Image* data ) {}
-    virtual void linkImage(const DRW_ImageDef* data ) {}
-    virtual void addComment(const char*) {}
-    virtual void writeHeader(DRW_Header& data) {}
-    virtual void writeBlocks() {}
-    virtual void writeBlockRecords() {}
-    virtual void writeEntities() {}
-    virtual void writeLTypes() {}
-    virtual void writeLayers() {}
-    virtual void writeTextstyles() {}
-    virtual void writeVports() {}
-    virtual void writeDimstyles() {}
-    virtual void addAppId( const DRW_AppId& data ) {}
-    virtual void writeAppId() {}
+    virtual void addLType( const DRW_LType& data ) override {}
+    virtual void addLayer( const DRW_Layer& data ) override {}
+    virtual void addDimStyle( const DRW_Dimstyle& data ) override {}
+    virtual void addVport(const DRW_Vport& data) override {}
+    virtual void addTextStyle(const DRW_Textstyle& data) override {}
+    virtual void addBlock(const DRW_Block& data ) override {}
+    virtual void setBlock(const int handle) override {}
+    virtual void endBlock() override {}
+    virtual void addPoint(const DRW_Point& data ) override {}
+    virtual void addRay(const DRW_Ray& data ) override {}
+    virtual void addXline(const DRW_Xline& data ) override {}
+    virtual void addEllipse(const DRW_Ellipse& data ) override {}
+    virtual void addSpline(const DRW_Spline* data ) override {}
+    virtual void addKnot(const DRW_Entity&) override {}
+    virtual void addInsert(const DRW_Insert& data ) override {}
+    virtual void addTrace(const DRW_Trace& data ) override {}
+    virtual void add3dFace(const DRW_3Dface& data ) override {}
+    virtual void addSolid(const DRW_Solid& data ) override {}
+    virtual void addMText(const DRW_MText& data) override {}
+    virtual void addText(const DRW_Text& data ) override {}
+    virtual void addDimAlign(const DRW_DimAligned *data ) override {}
+    virtual void addDimLinear(const DRW_DimLinear *data ) override {}
+    virtual void addDimRadial(const DRW_DimRadial *data ) override {}
+    virtual void addDimDiametric(const DRW_DimDiametric *data ) override {}
+    virtual void addDimAngular(const DRW_DimAngular *data ) override {}
+    virtual void addDimAngular3P(const DRW_DimAngular3p *data ) override {}
+    virtual void addDimOrdinate(const DRW_DimOrdinate *data ) override {}
+    virtual void addLeader(const DRW_Leader *data ) override {}
+    virtual void addHatch(const DRW_Hatch* data ) override {}
+    virtual void addViewport(const DRW_Viewport& data) override {}
+    virtual void addImage(const DRW_Image* data ) override {}
+    virtual void linkImage(const DRW_ImageDef* data ) override {}
+    virtual void addComment(const char*) override {}
+    virtual void writeHeader(DRW_Header& data) override {}
+    virtual void writeBlocks() override {}
+    virtual void writeBlockRecords() override {}
+    virtual void writeEntities() override {}
+    virtual void writeLTypes() override {}
+    virtual void writeLayers() override {}
+    virtual void writeTextstyles() override {}
+    virtual void writeVports() override {}
+    virtual void writeDimstyles() override {}
+    virtual void addAppId( const DRW_AppId& data ) override {}
+    virtual void writeAppId() override {}
 };
 
 #endif  // DXF2IDF_H
diff --git a/utils/idftools/idf_common.h b/utils/idftools/idf_common.h
index 398f8f8..806ec3c 100644
--- a/utils/idftools/idf_common.h
+++ b/utils/idftools/idf_common.h
@@ -55,7 +55,7 @@ struct IDF_ERROR : std::exception
 
     virtual ~IDF_ERROR() throw();
 
-    virtual const char* what() const throw();
+    virtual const char* what() const throw() override;
 };
 
 
diff --git a/utils/idftools/idf_outlines.h b/utils/idftools/idf_outlines.h
index 33957e7..d50d149 100644
--- a/utils/idftools/idf_outlines.h
+++ b/utils/idftools/idf_outlines.h
@@ -364,7 +364,7 @@ private:
      * @param aHeader is the .OTHER_OUTLINE header as read via FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -374,7 +374,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false.
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 public:
     OTHER_OUTLINE( IDF3_BOARD* aParent );
@@ -411,7 +411,7 @@ public:
      * Function Clear
      * deletes internal data except for the parent object
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -432,13 +432,13 @@ private:
      * @param aHeader is the .ROUTE_OUTLINE header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
      * writes the ROUTE_OUTLINE data to an open IDFv3 file
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 protected:
     IDF3::IDF_LAYER layers; // Routing layers (IDF spec)
@@ -464,7 +464,7 @@ public:
      * Function Clear
      * deletes internal data except for the parent object
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 /**
@@ -484,7 +484,7 @@ private:
      * @param aHeader is the .PLACE_OUTLINE header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -494,7 +494,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 protected:
     IDF3::IDF_LAYER side;   // Board Side [TOP/BOTTOM/BOTH ONLY] (IDF spec)
@@ -534,7 +534,7 @@ public:
      * Function Clear
      * deletes all internal data
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -593,7 +593,7 @@ private:
      * @param aHeader is the .PLACE_REGION header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aBoardFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -603,7 +603,7 @@ private:
      *
      * @return bool: true if the data is successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aBoardFile );
+    virtual void writeData( std::ofstream& aBoardFile ) override;
 
 public:
     GROUP_OUTLINE( IDF3_BOARD* aParent );
@@ -640,7 +640,7 @@ public:
      * Function Clear
      * deletes internal data, subject to IDF ownership rules
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 };
 
 
@@ -673,7 +673,7 @@ private:
      * @param aHeader is the .ELECTRICAL or .MECHANICAL header as returned by FetchIDFLine
      */
     virtual void readData( std::ifstream& aLibFile, const std::string& aHeader,
-                           IDF3::IDF_VERSION aIdfVersion );
+                           IDF3::IDF_VERSION aIdfVersion ) override;
 
     /**
      * Function writeData
@@ -683,7 +683,7 @@ private:
      *
      * @return bool: true if the data was successfully written, otherwise false
      */
-    virtual void writeData( std::ofstream& aLibFile );
+    virtual void writeData( std::ofstream& aLibFile ) override;
 
     /**
      * Function incrementRef
@@ -712,7 +712,7 @@ public:
      * Function Clear
      * deletes internal outline data
      */
-    virtual bool Clear( void );
+    virtual bool Clear( void ) override;
 
     /**
      * Function SetComponentClass

References