diff packages/language/c/libm/current/cdl/compat.cdl @ 3260:77f9d3253c3e

Add: Complex number header and library (single and double precision floating point), port from Newlib. Add: Single precision floating point library, port from Newlib. [ Bugzilla 1001539 ]
author vae
date Sun, 25 Aug 2013 14:38:57 +0000
parents 74dbf4c3f2e1
children
line wrap: on
line diff
--- a/packages/language/c/libm/current/cdl/compat.cdl
+++ b/packages/language/c/libm/current/cdl/compat.cdl
@@ -8,7 +8,7 @@
 ## ####ECOSGPLCOPYRIGHTBEGIN####                                            
 ## -------------------------------------------                              
 ## This file is part of eCos, the Embedded Configurable Operating System.   
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2013 Free Software Foundation, Inc.
 ##
 ## eCos is free software; you can redistribute it and/or modify it under    
 ## the terms of the GNU General Public License as published by the Free     
@@ -41,7 +41,7 @@
 #
 # Author(s):      jskov
 # Original data:  jlarmour
-# Contributors:
+# Contributors:   ilijak
 # Date:           1999-07-07
 #
 #####DESCRIPTIONEND####
@@ -52,7 +52,7 @@ cdl_interface CYGINT_LIBM_COMPAT {
     requires 1 == CYGINT_LIBM_COMPAT
 }
 
-cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY {
+cdl_component CYGSEM_LIBM_COMPAT_IEEE_ONLY {
     display       "IEEE-only"
     default_value 0
     implements    CYGINT_LIBM_COMPAT
@@ -66,6 +66,19 @@ cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY 
         modes. If not defined, the math library can be
         set at run-time to any of the supported
         compatibility modes."
+
+    cdl_option CYGSEM_LIBM_IEEE_API_INLINE {
+        display    "Inline IEEE754 API wrappers"
+        default_value 0
+
+        description "
+            IEEE754 API functions are just wrappers for
+            core functions. This introduces indirection which can can be
+            avoided by inlining. This will also prevent GCC from rendering
+            these functions as builtin. The HAL can override for a set of functions
+            by providing a list of builtin functions."
+    }
+
 }
 
 cdl_component CYGNUM_LIBM_COMPATIBILITY {
@@ -83,7 +96,7 @@ cdl_component CYGNUM_LIBM_COMPATIBILITY 
         you choose which mode should be the default."
 
     cdl_option CYGNUM_LIBM_COMPAT_DEFAULT {
-      	display       "Numeric representation"
+	display       "Numeric representation"
 	flavor        data
 	calculated   { \
             CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" :\
@@ -97,6 +110,16 @@ cdl_component CYGNUM_LIBM_COMPATIBILITY 
 	    mode for numeric representation in terms of the values used
 	    to set that mode at run-time."
     }
+
+    cdl_option CYGOPT_LIBM_COMPAT_POSIX_IEEE {
+        display       "POSIX return NaN for out-of-domain argument."
+        active_if   { CYGNUM_LIBM_COMPATIBILITY == "POSIX" }
+        default_value 0
+        description   "Later POSIX specification states that functions
+            may return either NaN (like IEEE), or implementation defined
+            value when argument is out of domain. For backward compatibility
+            default value is set to 0."
+    }
 }
 
 cdl_option CYGFUN_LIBM_SVID3_scalb {