summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/inline/rtems/rtems/attr.inl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/attrimpl.h (renamed from cpukit/rtems/inline/rtems/rtems/attr.inl)51
1 files changed, 41 insertions, 10 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/attr.inl b/cpukit/rtems/include/rtems/rtems/attrimpl.h
index 126259a067..4f06b16fd7 100644
--- a/cpukit/rtems/inline/rtems/rtems/attr.inl
+++ b/cpukit/rtems/include/rtems/rtems/attrimpl.h
@@ -1,8 +1,9 @@
/**
- * @file rtems/rtems/attr.inl
+ * @file
*
- * This include file contains all of the inlined routines associated
- * with attributes.
+ * @ingroup ClassicAttributesImpl
+ *
+ * @brief Classic Attributes Implementation
*/
/*
@@ -14,20 +15,46 @@
* http://www.rtems.com/license/LICENSE.
*/
-#ifndef _RTEMS_RTEMS_ATTR_H
-# error "Never use <rtems/rtems/attr.inl> directly; include <rtems/rtems/attr.h> instead."
-#endif
-
#ifndef _RTEMS_RTEMS_ATTR_INL
#define _RTEMS_RTEMS_ATTR_INL
-#include <rtems/score/basedefs.h> /* RTEMS_INLINE_ROUTINE */
+#include <rtems/rtems/attr.h>
+#include <rtems/score/cpu.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
- * @addtogroup ClassicAttributes
- * @{
+ * @defgroup ClassicAttributesImpl Classic Attributes Implementation
+ *
+ * @ingroup ClassicAttributes
+ *
+ * @{
*/
+/****************** Forced Attributes in Configuration ****************/
+
+/**
+ * This attribute constant indicates the attributes that are not
+ * supportable given the hardware configuration.
+ */
+#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
+#define ATTRIBUTES_NOT_SUPPORTED 0
+#else
+#define ATTRIBUTES_NOT_SUPPORTED RTEMS_FLOATING_POINT
+#endif
+
+/**
+ * This attribute constant indicates the attributes that are
+ * required given the hardware configuration.
+ */
+#if ( CPU_ALL_TASKS_ARE_FP == TRUE )
+#define ATTRIBUTES_REQUIRED RTEMS_FLOATING_POINT
+#else
+#define ATTRIBUTES_REQUIRED 0
+#endif
+
/**
* @brief Sets the requested new_attributes in the attribute_set passed in.
*
@@ -201,5 +228,9 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_system_task(
/**@}*/
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* end of include file */