From ac097f5cd08c8e60097297bd51e04f4fe1b25cc0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 8 Jan 2012 10:07:26 -0500 Subject: [PATCH] Define CMPLX, CMPLXF, CMPLXL --- ChangeLog | 3 +++ NEWS | 8 +++++--- math/complex.h | 11 ++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78ac067..776323a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-01-08 Ulrich Drepper + [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 --- 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. diff --git a/math/complex.h b/math/complex.h index cc6006e..9cbcc7f 100644 --- a/math/complex.h +++ b/math/complex.h @@ -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 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', -- 2.7.4