From 577bc9d32253f8c50493c73450366e955ea8ed16 Mon Sep 17 00:00:00 2001 From: mattias Date: Thu, 14 Feb 2013 23:34:15 +0000 Subject: [PATCH] LCL: gtk2: disabled optimization REMOVEEMPTYPROCS for fpc 2.7.1 git-svn-id: trunk@40321 - --- lcl/include/lcl_defines.inc | 7 +++++++ lcl/interfaces/gtk2/gtk2defines.inc | 4 ++++ lcl/lclbase.lpk | 6 +++++- lcl/lclproc.pas | 3 +-- lcl/widgetset/wsarrow.pp | 2 +- lcl/widgetset/wsbuttons.pp | 2 +- lcl/widgetset/wscalendar.pp | 2 +- lcl/widgetset/wschecklst.pp | 2 +- lcl/widgetset/wscomctrls.pp | 2 +- lcl/widgetset/wscontrols.pp | 2 +- lcl/widgetset/wsdesigner.pp | 2 +- lcl/widgetset/wsdialogs.pp | 2 +- lcl/widgetset/wsextctrls.pp | 2 +- lcl/widgetset/wsextdlgs.pp | 2 +- lcl/widgetset/wsfactory.pas | 22 ++++++++++++++++++++++ lcl/widgetset/wsforms.pp | 1 + lcl/widgetset/wsgrids.pp | 1 + lcl/widgetset/wsimglist.pp | 1 + lcl/widgetset/wslazdeviceapis.pas | 1 + lcl/widgetset/wslclclasses.pp | 1 + lcl/widgetset/wsmenus.pp | 1 + lcl/widgetset/wspairsplitter.pp | 1 + lcl/widgetset/wsproc.pp | 1 + lcl/widgetset/wsreferences.pp | 1 + lcl/widgetset/wsspin.pp | 1 + lcl/widgetset/wsstdctrls.pp | 1 + lcl/widgetset/wstoolwin.pp | 4 ++-- packager/packagesystem.pas | 4 ++-- 28 files changed, 64 insertions(+), 17 deletions(-) diff --git a/lcl/include/lcl_defines.inc b/lcl/include/lcl_defines.inc index a80fd1343d..490071e237 100644 --- a/lcl/include/lcl_defines.inc +++ b/lcl/include/lcl_defines.inc @@ -1,3 +1,10 @@ // Add defines here. This file should be included in all LCL units headers + {$DEFINE UseCLDefault} {$WARN SYMBOL_PLATFORM OFF} + +{$IF FPC_FULLVERSION>=20701} + // NOREMOVEEMPTYPROCS bites double inheritance in wslclclasses.pp + {$OPTIMIZATION NOREMOVEEMPTYPROCS} +{$ENDIF} + diff --git a/lcl/interfaces/gtk2/gtk2defines.inc b/lcl/interfaces/gtk2/gtk2defines.inc index 5ba7159edb..c019ecc348 100644 --- a/lcl/interfaces/gtk2/gtk2defines.inc +++ b/lcl/interfaces/gtk2/gtk2defines.inc @@ -94,3 +94,7 @@ // See http://bugs.freepascal.org/view.php?id=18966 {$define Gtk2CallMouseDownBeforeContext} +{$IF FPC_FULLVERSION>=20701} + {$OPTIMIZATION NOREMOVEEMPTYPROCS} +{$ENDIF} + diff --git a/lcl/lclbase.lpk b/lcl/lclbase.lpk index 839ec7d93b..f4eb16ef30 100644 --- a/lcl/lclbase.lpk +++ b/lcl/lclbase.lpk @@ -30,7 +30,7 @@ - + @@ -1196,6 +1196,10 @@ + + + + diff --git a/lcl/lclproc.pas b/lcl/lclproc.pas index d847b5cd9f..8e3fc36721 100644 --- a/lcl/lclproc.pas +++ b/lcl/lclproc.pas @@ -24,9 +24,8 @@ } unit LCLProc; -{$mode objfpc}{$H+} +{$I lcl_defines.inc} {$inline on} -{$include include/lcl_defines.inc} interface diff --git a/lcl/widgetset/wsarrow.pp b/lcl/widgetset/wsarrow.pp index 55c2ef253b..7103507332 100644 --- a/lcl/widgetset/wsarrow.pp +++ b/lcl/widgetset/wsarrow.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSArrow.pp * @@ -23,6 +22,7 @@ unit WSArrow; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsbuttons.pp b/lcl/widgetset/wsbuttons.pp index 06d3fb9895..3f419fa4aa 100644 --- a/lcl/widgetset/wsbuttons.pp +++ b/lcl/widgetset/wsbuttons.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSButtons.pp * @@ -23,6 +22,7 @@ unit WSButtons; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wscalendar.pp b/lcl/widgetset/wscalendar.pp index 5fe84db2cb..435a8e3b14 100644 --- a/lcl/widgetset/wscalendar.pp +++ b/lcl/widgetset/wscalendar.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSCalendar.pp * @@ -23,6 +22,7 @@ unit WSCalendar; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wschecklst.pp b/lcl/widgetset/wschecklst.pp index 5016dc5090..1ac9f9413b 100644 --- a/lcl/widgetset/wschecklst.pp +++ b/lcl/widgetset/wschecklst.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSCheckLst.pp * @@ -23,6 +22,7 @@ unit WSCheckLst; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wscomctrls.pp b/lcl/widgetset/wscomctrls.pp index 162a08d33a..5b66d63dab 100644 --- a/lcl/widgetset/wscomctrls.pp +++ b/lcl/widgetset/wscomctrls.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSComCtrls.pp * @@ -23,6 +22,7 @@ unit WSComCtrls; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wscontrols.pp b/lcl/widgetset/wscontrols.pp index 438d07d1cc..0853075127 100644 --- a/lcl/widgetset/wscontrols.pp +++ b/lcl/widgetset/wscontrols.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSControls.pp * @@ -23,6 +22,7 @@ unit WSControls; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsdesigner.pp b/lcl/widgetset/wsdesigner.pp index 9862237cbc..23488b6b63 100644 --- a/lcl/widgetset/wsdesigner.pp +++ b/lcl/widgetset/wsdesigner.pp @@ -1,4 +1,3 @@ -{ $Id: wsdesigner.pp 11897 2007-09-01 02:46:24Z marc $} { ***************************************************************************** * WSDesigner.pp * @@ -23,6 +22,7 @@ unit WSDesigner; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsdialogs.pp b/lcl/widgetset/wsdialogs.pp index 97c12cfe82..3344ada8cb 100644 --- a/lcl/widgetset/wsdialogs.pp +++ b/lcl/widgetset/wsdialogs.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSDialogs.pp * @@ -23,6 +22,7 @@ unit WSDialogs; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsextctrls.pp b/lcl/widgetset/wsextctrls.pp index 3b093a5b31..f8714449c3 100644 --- a/lcl/widgetset/wsextctrls.pp +++ b/lcl/widgetset/wsextctrls.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSExtCtrls.pp * @@ -23,6 +22,7 @@ unit WSExtCtrls; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsextdlgs.pp b/lcl/widgetset/wsextdlgs.pp index f79e5cdb9a..9f889794c6 100644 --- a/lcl/widgetset/wsextdlgs.pp +++ b/lcl/widgetset/wsextdlgs.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSExtDlgs.pp * @@ -23,6 +22,7 @@ unit WSExtDlgs; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsfactory.pas b/lcl/widgetset/wsfactory.pas index c0b2c40ed7..84936d4d12 100644 --- a/lcl/widgetset/wsfactory.pas +++ b/lcl/widgetset/wsfactory.pas @@ -1,6 +1,28 @@ +{ + ***************************************************************************** + * WSFactory.pas * + * ------------- * + * * + * * + ***************************************************************************** + + ***************************************************************************** + * * + * This file is part of the Lazarus Component Library (LCL) * + * * + * See the file COPYING.modifiedLGPL.txt, included in this distribution, * + * for details about the copyright. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * * + ***************************************************************************** +} unit WSFactory; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface diff --git a/lcl/widgetset/wsforms.pp b/lcl/widgetset/wsforms.pp index c139f56392..9ff7be1c2c 100644 --- a/lcl/widgetset/wsforms.pp +++ b/lcl/widgetset/wsforms.pp @@ -23,6 +23,7 @@ unit WSForms; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsgrids.pp b/lcl/widgetset/wsgrids.pp index 59a4775292..b107f0942b 100644 --- a/lcl/widgetset/wsgrids.pp +++ b/lcl/widgetset/wsgrids.pp @@ -23,6 +23,7 @@ unit WSGrids; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsimglist.pp b/lcl/widgetset/wsimglist.pp index 503ba4366b..0dc66826a7 100644 --- a/lcl/widgetset/wsimglist.pp +++ b/lcl/widgetset/wsimglist.pp @@ -23,6 +23,7 @@ unit WSImgList; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wslazdeviceapis.pas b/lcl/widgetset/wslazdeviceapis.pas index 61364e139e..7ae5374cc9 100644 --- a/lcl/widgetset/wslazdeviceapis.pas +++ b/lcl/widgetset/wslazdeviceapis.pas @@ -22,6 +22,7 @@ unit WSLazDeviceAPIS; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wslclclasses.pp b/lcl/widgetset/wslclclasses.pp index f17e5d9060..e43bb125ec 100644 --- a/lcl/widgetset/wslclclasses.pp +++ b/lcl/widgetset/wslclclasses.pp @@ -23,6 +23,7 @@ unit WSLCLClasses; {$mode objfpc}{$H+} +{$I lcl_defines.inc} {off$DEFINE VerboseWSRegistration} {off$DEFINE VerboseWSRegistration_methods} diff --git a/lcl/widgetset/wsmenus.pp b/lcl/widgetset/wsmenus.pp index 91b4607fdf..3b38a9b7d2 100644 --- a/lcl/widgetset/wsmenus.pp +++ b/lcl/widgetset/wsmenus.pp @@ -23,6 +23,7 @@ unit WSMenus; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wspairsplitter.pp b/lcl/widgetset/wspairsplitter.pp index 10a9bc679e..a7791c033b 100644 --- a/lcl/widgetset/wspairsplitter.pp +++ b/lcl/widgetset/wspairsplitter.pp @@ -23,6 +23,7 @@ unit WSPairSplitter; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsproc.pp b/lcl/widgetset/wsproc.pp index 893290d231..5467fb9322 100644 --- a/lcl/widgetset/wsproc.pp +++ b/lcl/widgetset/wsproc.pp @@ -25,6 +25,7 @@ unit WSProc; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface diff --git a/lcl/widgetset/wsreferences.pp b/lcl/widgetset/wsreferences.pp index 70956c48e0..77b081da04 100644 --- a/lcl/widgetset/wsreferences.pp +++ b/lcl/widgetset/wsreferences.pp @@ -23,6 +23,7 @@ unit WSReferences; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface diff --git a/lcl/widgetset/wsspin.pp b/lcl/widgetset/wsspin.pp index 3adc90034b..47e5e02da5 100644 --- a/lcl/widgetset/wsspin.pp +++ b/lcl/widgetset/wsspin.pp @@ -23,6 +23,7 @@ unit WSSpin; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wsstdctrls.pp b/lcl/widgetset/wsstdctrls.pp index 2c60c247f1..e14b41d04e 100644 --- a/lcl/widgetset/wsstdctrls.pp +++ b/lcl/widgetset/wsstdctrls.pp @@ -23,6 +23,7 @@ unit WSStdCtrls; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// diff --git a/lcl/widgetset/wstoolwin.pp b/lcl/widgetset/wstoolwin.pp index a66b12da66..82ae52c007 100644 --- a/lcl/widgetset/wstoolwin.pp +++ b/lcl/widgetset/wstoolwin.pp @@ -1,4 +1,3 @@ -{ $Id$} { ***************************************************************************** * WSToolwin.pp * @@ -23,6 +22,7 @@ unit WSToolwin; {$mode objfpc}{$H+} +{$I lcl_defines.inc} interface //////////////////////////////////////////////////// @@ -65,4 +65,4 @@ implementation //initialization // RegisterWSComponent(TToolWindow, TWSToolWindow); //////////////////////////////////////////////////// -end. \ No newline at end of file +end. diff --git a/packager/packagesystem.pas b/packager/packagesystem.pas index 923c37e504..099a021783 100644 --- a/packager/packagesystem.pas +++ b/packager/packagesystem.pas @@ -3238,7 +3238,7 @@ var ReqFlags: TPkgIntfRequiredFlags; begin {$IFDEF VerbosePkgCompile} - debugln('TLazPackageGraph.CompileRequiredPackages A ',dbgs(Policy)); + debugln('TLazPackageGraph.CompileRequiredPackages A MinPolicy=',dbgs(Policy),' SkipDesignTimePackages=',SkipDesignTimePackages); {$ENDIF} ReqFlags:=[pirCompileOrder]; if SkipDesignTimePackages then @@ -3394,7 +3394,7 @@ begin end; // create external tool to run the compiler - //DebugLn('TPkgManager.DoCompilePackage WorkingDir="',APackage.Directory,'"'); + //DebugLn('TLazPackageGraph.CompilePackage WorkingDir="',APackage.Directory,'"'); if (not APackage.CompilerOptions.SkipCompiler) and (not (pcfDoNotCompilePackage in Flags)) then begin