]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/commitdiff
Rename __noinline/__always_inline to prevent clash with headers.
authorSimon Ruderich <simon@ruderich.org>
Mon, 10 Jun 2013 12:55:13 +0000 (14:55 +0200)
committerSimon Ruderich <simon@ruderich.org>
Mon, 10 Jun 2013 12:55:13 +0000 (14:55 +0200)
With this change noinline can be used in ldpreload.h.

src/coloredstderr.c
src/compiler.h
src/ldpreload.h
src/trackfds.h

index f005c726446a35231dd6a4ebacce7367e461a27b..dcd1166edae9f86d65f8d57c57cee2f7096ccfef 100644 (file)
@@ -20,6 +20,8 @@
 
 #include <config.h>
 
+#include "compiler.h"
+
 /* Must be loaded before the following headers. */
 #include "ldpreload.h"
 
@@ -51,7 +53,6 @@ static int force_write_to_non_tty;
 
 
 #include "constants.h"
-#include "compiler.h"
 #ifdef DEBUG
 # include "debug.h"
 #endif
@@ -67,7 +68,7 @@ static int force_write_to_non_tty;
 /* Prevent inlining into hook functions because it may increase the number of
  * spilled registers unnecessarily. As it's not called very often accept the
  * additional call. */
-static int isatty_noinline(int fd) __noinline;
+static int isatty_noinline(int fd) noinline;
 static int isatty_noinline(int fd) {
     int saved_errno = errno;
     int result = isatty(fd);
@@ -137,10 +138,10 @@ static void init_pre_post_string(void) {
 
 /* Don't inline any of the pre/post functions. Keep the hook function as small
  * as possible for speed reasons. */
-static void handle_fd_pre(int fd) __noinline;
-static void handle_fd_post(int fd) __noinline;
-static void handle_file_pre(FILE *stream) __noinline;
-static void handle_file_post(FILE *stream) __noinline;
+static void handle_fd_pre(int fd) noinline;
+static void handle_fd_post(int fd) noinline;
+static void handle_file_pre(FILE *stream) noinline;
+static void handle_file_post(FILE *stream) noinline;
 
 static void handle_fd_pre(int fd) {
     int saved_errno = errno;
index 9e23e238efa2c30ec52e9be5a20f50b7ef097876..4a69adf066c59cacd63caea63ec8110dd43fff39 100644 (file)
 #define COMPILER_H 1
 
 /* Prevent/force inlining. Used to improve performance. */
-#undef __noinline
-#undef __always_inline
 #ifdef HAVE___ATTRIBUTE__
-# define __noinline      __attribute__((noinline))
-# define __always_inline __attribute__((always_inline))
+# define noinline      __attribute__((noinline))
+# define always_inline __attribute__((always_inline))
 #else
-# define __noinline
-# define __always_inline
+# define noinline
+# define always_inline
 #endif
 
 /* Branch prediction information for the compiler. */
index 57f923b22e5dab013401a7e9f2ea1477daa85236..cc2dcee3c6c33d630ee085d8d8e52e7ab1a4b7a4 100644 (file)
 #include <dlfcn.h>
 #include <errno.h>
 
-static void *dlsym_function(char const *name)
-#ifdef HAVE___ATTRIBUTE__
-                                              __attribute__((noinline))
-#endif
-;
-
+static void *dlsym_function(char const *name) noinline;
 /* Load the function name using dlsym() and return it. Terminate program on
  * failure. Split in function and macro to reduce code inserted into the
  * function using the macro. */
index eddff4c5b5dc92bbf296c0e52b3979231479900c..2def68cfb99dc4233d9df7c74667108966cd1b30 100644 (file)
@@ -300,7 +300,7 @@ static int tracked_fds_remove(int fd) {
     return 0;
 }
 
-static int tracked_fds_find_slow(int fd) __noinline;
+static int tracked_fds_find_slow(int fd) noinline;
 /*
  * tracked_fds_find() is called for each hook call and should be as fast as
  * possible. As most file descriptors are < TRACKFDS_STATIC_COUNT, force the
@@ -309,7 +309,7 @@ static int tracked_fds_find_slow(int fd) __noinline;
  * Inlining tracked_fds_add()/tracked_fds_remove() isn't worth the effort as
  * they are not called often enough.
  */
-inline static int tracked_fds_find(int fd) __always_inline;
+inline static int tracked_fds_find(int fd) always_inline;
 static int tracked_fds_find(int fd) {
     if (fd < TRACKFDS_STATIC_COUNT) {
         return tracked_fds[fd];