about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/stdalign.h15
-rw-r--r--include/stdio.h2
-rw-r--r--include/stdlib.h1
3 files changed, 18 insertions, 0 deletions
diff --git a/include/stdalign.h b/include/stdalign.h
new file mode 100644
index 00000000..b6e50aeb
--- /dev/null
+++ b/include/stdalign.h
@@ -0,0 +1,15 @@
+#ifndef _STDALIGN_H
+#define _STDALIGN_H
+
+/* this whole header only works in C11 or with compiler extensions */
+#if __STDC_VERSION__ < 201112L && defined( __GNUC__)
+#define _Alignas(t) __attribute__((__aligned__(t)))
+#define _Alignof(t) __alignof__(t)
+#endif
+
+#define alignas _Alignas
+#define alignof _Alignof
+#define __alignas_is_defined 1
+#define __alignof_is_defined 1
+
+#endif
diff --git a/include/stdio.h b/include/stdio.h
index 19ab8bcd..9aa2f782 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -90,7 +90,9 @@ int putc(int, FILE *);
 int putchar(int);
 
 char *fgets(char *, int, FILE *);
+#if __STDC_VERSION__ < 201112L
 char *gets(char *);
+#endif
 
 int fputs(const char *, FILE *);
 int puts(const char *);
diff --git a/include/stdlib.h b/include/stdlib.h
index c1d93e71..1749cb3b 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -38,6 +38,7 @@ void *malloc (size_t);
 void *calloc (size_t, size_t);
 void *realloc (void *, size_t);
 void free (void *);
+void *aligned_alloc(size_t alignment, size_t size);
 
 void abort (void);
 int atexit (void (*) (void));