X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fglobal-ctor.hh;h=62c4ce8c69ce1d5294a8ff1283226a5e253f7aee;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=03ecd384577dd43a715442fa40ef93c6d3d706e2;hpb=94189ec2b8da6d7e89dc619c646a927adead9b19;p=lilypond.git diff --git a/lily/include/global-ctor.hh b/lily/include/global-ctor.hh index 03ecd38457..62c4ce8c69 100644 --- a/lily/include/global-ctor.hh +++ b/lily/include/global-ctor.hh @@ -1,30 +1,39 @@ -/* - global-ctor.hh -- declare Global construction stuff. - - source file of the GNU LilyPond music typesetter - - (c) 1999--2001 Han-Wen Nienhuys - - */ +/* + This file is part of LilyPond, the GNU music typesetter. -#ifndef GLOBAL_CTOR_HH -#define GLOBAL_CTOR_HH + Copyright (C) 1999--2015 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + LilyPond 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. See the + GNU General Public License for more details. -#define ADD_GLOBAL_CTOR_WITHNAME(y,x)\ -class Global_ctor_ ## y \ -{\ -public: \ - Global_ctor_ ## y () { \ - add_constructor (x); \ - } \ -} _ ## y ## _ctor_init; \ + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ +#ifndef GLOBAL_CTOR_HH +#define GLOBAL_CTOR_HH -#define ADD_GLOBAL_CTOR(x) ADD_GLOBAL_CTOR_WITHNAME(x,x); +#define ADD_GLOBAL_CTOR_WITHNAME(y, x) \ + class Global_ctor_ ## y \ + { \ + public: \ + Global_ctor_ ## y () \ + { \ + add_constructor (x); \ + } \ + } \ + _ ## y ## _ctor_init; +#define ADD_GLOBAL_CTOR(x) ADD_GLOBAL_CTOR_WITHNAME (x, x); -typedef void (* Global_ctor ) (); +typedef void (* Global_ctor) (); void add_constructor (Global_ctor ctor); void call_constructors ();