Define CMPLX, CMPLXF, CMPLXL
authorUlrich Drepper <drepper@gmail.com>
Sun, 8 Jan 2012 15:07:26 +0000 (10:07 -0500)
committerUlrich Drepper <drepper@gmail.com>
Sun, 8 Jan 2012 15:07:26 +0000 (10:07 -0500)
ChangeLog
NEWS
math/complex.h

index 78ac067..776323a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-01-08  Ulrich Drepper  <drepper@gmail.com>
 
+       [BZ #1350]
+       * math/complex.h (CMPLX, CMPLXF, CMPLXL): Define.
+
        * configure.in: static is always set to yes.  Remove.
        * config.make.in: Don't set build-static.
        * Makeconfig: Remove use of build-static.
diff --git a/NEWS b/NEWS
index a85caef..01f55dc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2012-1-7
+GNU C Library NEWS -- history of user-visible changes.  2012-1-8
 Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -9,8 +9,8 @@ Version 2.16
 
 * The following bugs are resolved with this release:
 
-  13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13551, 13552,
-  13553, 13555, 13559
+  13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530,
+  13551, 13552, 13553, 13555, 13559
 
 * ISO C11 support:
 
@@ -29,6 +29,8 @@ Version 2.16
 
   + uchar.h support added
 
+  + CMPLX, CMPLXF, CMPLXL added
+
   Implemented by Ulrich Drepper.
 
 * Support for the IA-64 is removed and could live in ports.
index cc6006e..9cbcc7f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2006, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2000, 2006, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,6 +49,15 @@ __BEGIN_DECLS
 #undef I
 #define I _Complex_I
 
+#if defined __USE_ISOC11 && __GNUC_PREREQ (4, 7)
+/* Macros to expand into expression of specified complex type.  */
+# define CMPLX(x, y) __builtin_complex ((double) (x), (double) (y))
+# define CMPLXF(x, y) __builtin_complex ((float) (x), (float) (y))
+# ifndef __NO_LONG_DOUBLE_MATH
+#  define CMPLXL(x, y) __builtin_complex ((double) (x), (double) (y))
+# endif
+#endif
+
 /* The file <bits/cmathcalls.h> contains the prototypes for all the
    actual math functions.  These macros are used for those prototypes,
    so we can easily declare each function as both `name' and `__name',