X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=build-aux%2Flink-warning.h;h=84708ffdc613746c3623c0a792d4c9e247bdc16a;hb=10d90c830f45ec144359c5ddfee57fc8724b7fb9;hp=fda01941af51ca3920974ea79dc3b85761aa1440;hpb=5d2cd3c5f067d383355242cfbc575e544e8a0eb4;p=gnulib.git diff --git a/build-aux/link-warning.h b/build-aux/link-warning.h index fda01941a..84708ffdc 100644 --- a/build-aux/link-warning.h +++ b/build-aux/link-warning.h @@ -1,3 +1,24 @@ +/* A C macro for emitting link time warnings. + Copyright (C) 1995, 1997, 2000, 2002-2003, 2007, 2009-2011 Free Software + Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#if @HAVE_FEATURES_H@ +# include /* for __GLIBC__, __UCLIBC__ */ +#endif + /* GL_LINK_WARNING("literal string") arranges to emit the literal string as a linker warning on most glibc systems. We use a linker warning rather than a preprocessor warning, because @@ -7,7 +28,7 @@ Testing __GLIBC__ is sufficient for asserting that GNU ld is in use. Testing __ELF__ guarantees the ELF object format. Testing __GNUC__ is necessary for the compound expression syntax. */ -# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__ +# if (defined __GLIBC__ || defined __UCLIBC__) && defined __ELF__ && defined __GNUC__ # define GL_LINK_WARNING(message) \ GL_LINK_WARNING1 (__FILE__, __LINE__, message) # define GL_LINK_WARNING1(file, line, message) \ @@ -15,12 +36,12 @@ # define GL_LINK_WARNING2(file, line, message) \ GL_LINK_WARNING3 (file ":" #line ": warning: " message) # define GL_LINK_WARNING3(message) \ - ({ static const char warning[sizeof (message)] \ - __attribute__ ((__unused__, \ - __section__ (".gnu.warning"), \ - __aligned__ (1))) \ - = message "\n"; \ - (void)0; \ + ({ static const char warning[sizeof (message)] \ + __attribute__ ((__unused__, \ + __section__ (".gnu.warning"), \ + __aligned__ (1))) \ + = message "\n"; \ + (void)0; \ }) # else # define GL_LINK_WARNING(message) ((void) 0)