X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Fcompiler.h;fp=src%2Fcompiler.h;h=3d92f2fac5f1e05eef2a93f4191e1dd489465df7;hb=048bd6f9e7f316aafede310ba273776d0086b8ed;hp=0000000000000000000000000000000000000000;hpb=9862b8c8f13fe3d5a6012a8d67562bdaef48b8af;p=coloredstderr%2Fcoloredstderr.git diff --git a/src/compiler.h b/src/compiler.h new file mode 100644 index 0000000..3d92f2f --- /dev/null +++ b/src/compiler.h @@ -0,0 +1,32 @@ +/* + * Compiler specific macros. + * + * Copyright (C) 2013 Simon Ruderich + * + * This program 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 Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef COMPILER_H +#define COMPILER_H 1 + +/* Branch prediction information for the compiler. */ +#ifdef HAVE___BUILTIN_EXPECT +# define likely(x) __builtin_expect(!!(x), 1) +# define unlikely(x) __builtin_expect(!!(x), 0) +#else +# define likely(x) x +# define unlikely(x) x +#endif + +#endif