OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [gnulib/] [extra/] [link-warning.h] - Diff between revs 227 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 227 Rev 816
/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
   a linker warning on most glibc systems.
   a linker warning on most glibc systems.
   We use a linker warning rather than a preprocessor warning, because
   We use a linker warning rather than a preprocessor warning, because
   #warning cannot be used inside macros.  */
   #warning cannot be used inside macros.  */
#ifndef GL_LINK_WARNING
#ifndef GL_LINK_WARNING
  /* This works on platforms with GNU ld and ELF object format.
  /* This works on platforms with GNU ld and ELF object format.
     Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
     Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
     Testing __ELF__ guarantees the ELF object format.
     Testing __ELF__ guarantees the ELF object format.
     Testing __GNUC__ is necessary for the compound expression syntax.  */
     Testing __GNUC__ is necessary for the compound expression syntax.  */
# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
#  define GL_LINK_WARNING(message) \
#  define GL_LINK_WARNING(message) \
     GL_LINK_WARNING1 (__FILE__, __LINE__, message)
     GL_LINK_WARNING1 (__FILE__, __LINE__, message)
#  define GL_LINK_WARNING1(file, line, message) \
#  define GL_LINK_WARNING1(file, line, message) \
     GL_LINK_WARNING2 (file, line, message)  /* macroexpand file and line */
     GL_LINK_WARNING2 (file, line, message)  /* macroexpand file and line */
#  define GL_LINK_WARNING2(file, line, message) \
#  define GL_LINK_WARNING2(file, line, message) \
     GL_LINK_WARNING3 (file ":" #line ": warning: " message)
     GL_LINK_WARNING3 (file ":" #line ": warning: " message)
#  define GL_LINK_WARNING3(message) \
#  define GL_LINK_WARNING3(message) \
     ({ static const char warning[sizeof (message)]             \
     ({ static const char warning[sizeof (message)]             \
          __attribute__ ((__unused__,                           \
          __attribute__ ((__unused__,                           \
                          __section__ (".gnu.warning"),         \
                          __section__ (".gnu.warning"),         \
                          __aligned__ (1)))                     \
                          __aligned__ (1)))                     \
          = message "\n";                                       \
          = message "\n";                                       \
        (void)0;                                         \
        (void)0;                                         \
     })
     })
# else
# else
#  define GL_LINK_WARNING(message) ((void) 0)
#  define GL_LINK_WARNING(message) ((void) 0)
# endif
# endif
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.