]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix sysdeps/ia64/fpu/libm-symbols.h for inclusion in testcases.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 28 Nov 2016 23:12:49 +0000 (23:12 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 28 Nov 2016 23:12:49 +0000 (23:12 +0000)
IA64 builds in math/ use "-include libm-symbols.h".  This breaks the
signgam tests, which rely on undefining _LIBC and feature test macros
and defining _ISOMAC before including system headers to get them to
provide only ISO C declarations (libm-symbols.h ending up indirectly
including headers which result in this breaking); similarly, it breaks
C++ tests as some headers included from libm-symbols.h are not ready
for inclusion in C++ code.  This patch disables the contents of
libm-symbols.h if __STRICT_ANSI__ or __cplusplus are defined to avoid
this problem (this header can only test symbols defined before the
source file is processed, so can't test _ISOMAC because that's defined
within the source file, after this header is included).

Tested (compilation only) for ia64.

* sysdeps/ia64/fpu/libm-symbols.h: Make contents conditional on
[!__STRICT_ANSI__ && !__cplusplus].

ChangeLog
sysdeps/ia64/fpu/libm-symbols.h

index ec8b6d88ae655bb3fbaf4b4219fe28ef7c30e1b9..6d9b1629a68d6b9f49944285abaa49806f575558 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/ia64/fpu/libm-symbols.h: Make contents conditional on
+       [!__STRICT_ANSI__ && !__cplusplus].
+
 2016-11-28  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #20750]
index 3cbc6c41b0313e8f108633394528baa121d6ec40..31d6f36de9c3cf806f6a1cbb3c447602df0c8516 100644 (file)
@@ -1,58 +1,60 @@
-#include <sysdep.h>
-#undef ret     /* get rid of the stupid "ret" macro; it breaks br.ret */
+#if !defined __STRICT_ANSI__ && !defined __cplusplus
+# include <sysdep.h>
+# undef ret    /* get rid of the stupid "ret" macro; it breaks br.ret */
 
 /* Support for compatible assembler handling.  */
 
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
 
-#define LOCAL_LIBM_ENTRY(name)                 \
+# define LOCAL_LIBM_ENTRY(name)                        \
        .proc name;                             \
  name:
 
-#define LOCAL_LIBM_END(name)                   \
+# define LOCAL_LIBM_END(name)                  \
        .endp name;                             \
  ASM_SIZE_DIRECTIVE(name)
 
 
-#define RODATA         .rodata
-#define LOCAL_OBJECT_START(name)               \
+# define RODATA                .rodata
+# define LOCAL_OBJECT_START(name)              \
    name:;                                      \
    .type name, @object
-#define LOCAL_OBJECT_END(name)                 \
+# define LOCAL_OBJECT_END(name)                        \
    ASM_SIZE_DIRECTIVE(name)
 
-#define GLOBAL_LIBM_ENTRY(name)                        \
+# define GLOBAL_LIBM_ENTRY(name)               \
        LOCAL_LIBM_ENTRY(name);                 \
        .global name
-#define GLOBAL_LIBM_END(name)          LOCAL_LIBM_END(name)
+# define GLOBAL_LIBM_END(name)         LOCAL_LIBM_END(name)
 
-#define INTERNAL_LIBM_ENTRY(name)              \
+# define INTERNAL_LIBM_ENTRY(name)             \
        GLOBAL_LIBM_ENTRY(__libm_##name);       \
        .global __libm_##name
-#define INTERNAL_LIBM_END(name)                GLOBAL_LIBM_END(__libm_##name)
+# define INTERNAL_LIBM_END(name)       GLOBAL_LIBM_END(__libm_##name)
 
-#define WEAK_LIBM_ENTRY(name)                  \
+# define WEAK_LIBM_ENTRY(name)                 \
        .align 32;                              \
        LOCAL_LIBM_ENTRY(__##name);             \
        .global __##name;                       \
  __##name:
-#define WEAK_LIBM_END(name)                    \
+# define WEAK_LIBM_END(name)                   \
  weak_alias (__##name, name);                  \
  .hidden __##name;                             \
        LOCAL_LIBM_END(__##name);               \
  ASM_SIZE_DIRECTIVE(__##name);                 \
  .type __##name, @function
 
-#define GLOBAL_IEEE754_ENTRY(name)             \
+# define GLOBAL_IEEE754_ENTRY(name)            \
        WEAK_LIBM_ENTRY(name);                  \
        .global __ieee754_##name;               \
        .hidden __ieee754_##name;               \
  __ieee754_##name:
-#define GLOBAL_IEEE754_END(name)                       \
+# define GLOBAL_IEEE754_END(name)                      \
        WEAK_LIBM_END(name);                            \
  ASM_SIZE_DIRECTIVE(__ieee754_##name);                 \
  .type __ieee754_##name, @function
 
-#if defined ASSEMBLER && IS_IN (libc)
-# define __libm_error_support  HIDDEN_JUMPTARGET(__libm_error_support)
+# if defined ASSEMBLER && IS_IN (libc)
+#  define __libm_error_support HIDDEN_JUMPTARGET(__libm_error_support)
+# endif
 #endif