aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/stdconst.h
diff options
context:
space:
mode:
Diffstat (limited to 'AT91SAM7S256/Source/stdconst.h')
-rw-r--r--AT91SAM7S256/Source/stdconst.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/AT91SAM7S256/Source/stdconst.h b/AT91SAM7S256/Source/stdconst.h
index fa1c59e..29bf239 100644
--- a/AT91SAM7S256/Source/stdconst.h
+++ b/AT91SAM7S256/Source/stdconst.h
@@ -44,5 +44,22 @@ typedef char* PSZ;
#define BASETYPES
+#ifdef __GNUC__
+#define DEFINE_DATA(type, name) \
+ extern const type name ## _; \
+ const type * const name = &name ## _; \
+ const type name ## _
+#define BEGIN_DATA {
+#define END_DATA }
+#define POINTER_TO_DATA(name) (&name ## _)
+#define SIZEOF_DATA(name) (sizeof_ ## name)
+#else
+#define DEFINE_DATA(type, name) \
+ const type name[]
+#define BEGIN_DATA
+#define END_DATA
+#define POINTER_TO_DATA(name) (name)
+#define SIZEOF_DATA(name) (sizeof (name))
+#endif
#endif