am 66b18dd4: Merge "Fix the x86_64 fenv.h."

* commit '66b18dd4e4294de72728f51af61b79f6f7885a2f':
  Fix the x86_64 fenv.h.
This commit is contained in:
Elliott Hughes 2013-10-02 20:50:21 -07:00 committed by Android Git Automerger
commit 14d5e22fee

View file

@ -1,6 +1,3 @@
/* $OpenBSD: fenv.h,v 1.4 2011/05/25 21:46:49 martynas Exp $ */
/* $NetBSD: fenv.h,v 1.1 2010/07/31 21:47:54 joerg Exp $ */
/*- /*-
* Copyright (c) 2004-2005 David Schultz <das (at) FreeBSD.ORG> * Copyright (c) 2004-2005 David Schultz <das (at) FreeBSD.ORG>
* All rights reserved. * All rights reserved.
@ -32,6 +29,14 @@
#include <sys/types.h> #include <sys/types.h>
/*
* This file combines the OpenBSD include/fenv.h and machine/fenv.h to fit
* the style of the other architectures (where we couldn't just take an
* upstream fenv.h and had to write our own).
*/
__BEGIN_DECLS
/* /*
* Each symbol representing a floating point exception expands to an integer * Each symbol representing a floating point exception expands to an integer
* constant expression with values, such that bitwise-inclusive ORs of _all * constant expression with values, such that bitwise-inclusive ORs of _all
@ -95,9 +100,7 @@ typedef struct {
* that manage the floating-point environment, namely fesetenv() and * that manage the floating-point environment, namely fesetenv() and
* feupdateenv(). * feupdateenv().
*/ */
__BEGIN_DECLS
extern fenv_t __fe_dfl_env; extern fenv_t __fe_dfl_env;
__END_DECLS
#define FE_DFL_ENV ((const fenv_t *)&__fe_dfl_env) #define FE_DFL_ENV ((const fenv_t *)&__fe_dfl_env)
/* /*
@ -114,4 +117,31 @@ __END_DECLS
*/ */
typedef unsigned int fexcept_t; typedef unsigned int fexcept_t;
/* C99 floating-point exception functions */
int feclearexcept(int excepts);
int fegetexceptflag(fexcept_t *flagp, int excepts);
int fesetexceptflag(const fexcept_t *flagp, int excepts);
/* feraiseexcept does not set the inexact flag on overflow/underflow */
int feraiseexcept(int excepts);
int fetestexcept(int excepts);
/* C99 rounding control functions */
int fegetround(void);
int fesetround(int round);
/* C99 floating-point environment functions */
int fegetenv(fenv_t *__envp);
int feholdexcept(fenv_t *__envp);
int fesetenv(const fenv_t *envp);
int feupdateenv(const fenv_t *__envp);
#if __BSD_VISIBLE
/* Additional support functions to set/query floating point traps */
int feenableexcept(int __mask);
int fedisableexcept(int __mask);
int fegetexcept(void);
#endif /* __BSD_VISIBLE */
__END_DECLS
#endif /* !_AMD64_FENV_H_ */ #endif /* !_AMD64_FENV_H_ */