+/*#*
+ *#* $Log$
+ *#* Revision 1.41 2005/01/22 04:19:22 bernie
+ *#* MTIME_INFINITE: New constant.
+ *#*
+ *#* Revision 1.40 2005/01/20 18:46:04 aleph
+ *#* Add progmem datatypes; PSTR() definition.
+ *#*
+ *#* Revision 1.39 2005/01/08 08:49:39 bernie
+ *#* Define PROGMEM on AVR only when not including pgmspace.h.
+ *#*
+ *#* Revision 1.38 2004/12/31 16:41:52 bernie
+ *#* PROGMEM: Define to nothing for non-Harvard processors.
+ *#*
+ *#* Revision 1.37 2004/12/08 09:43:21 bernie
+ *#* Metrowerks supports variadic macros.
+ *#*
+ *#* Revision 1.36 2004/12/08 08:55:54 bernie
+ *#* Rename sigset_t to sigmask_t and time_t to mtime_t, to avoid conflicts with POSIX definitions.
+ *#*
+ *#* Revision 1.35 2004/12/08 07:35:51 bernie
+ *#* Typo in macro name.
+ *#*
+ *#* Revision 1.34 2004/11/28 23:21:33 bernie
+ *#* Use mtime_t instead of overloading ANSI time_t with new semantics.
+ *#*
+ *#* Revision 1.33 2004/11/16 23:09:40 bernie
+ *#* size_t: Add 64bit definitions; time_t: Add 16bit hack for tiny CPUs.
+ *#*
+ *#* Revision 1.32 2004/11/16 22:42:44 bernie
+ *#* Doxygen fixes.
+ *#*
+ *#* Revision 1.31 2004/11/16 22:37:28 bernie
+ *#* IPTR: Remove obsolete definition.
+ *#*
+ *#* Revision 1.30 2004/11/16 22:30:19 bernie
+ *#* Declare fixed-size types before other types.
+ *#*
+ *#* Revision 1.29 2004/11/16 20:34:40 bernie
+ *#* UNUSED_VAR, USED_VAR, USED_FUNC: New macros; UNUSED_ARG: Rename from UNUSED.
+ *#*
+ *#* Revision 1.28 2004/10/21 11:03:52 bernie
+ *#* Typo.
+ *#*
+ *#* Revision 1.27 2004/10/21 10:09:40 bernie
+ *#* Remove spurious token in preprocessor directive.
+ *#*
+ *#* Revision 1.26 2004/10/19 08:55:14 bernie
+ *#* UNUSED_FUNC: New function attribute.
+ *#*
+ *#* Revision 1.25 2004/10/19 07:14:20 bernie
+ *#* Add macros to test for specific compiler features.
+ *#*
+ *#* Revision 1.24 2004/10/03 18:35:13 bernie
+ *#* Poison C++ keywords in C programs for better portability.
+ *#*
+ *#* Revision 1.23 2004/09/20 03:30:27 bernie
+ *#* Remove vsprintf_P() proto, no longer needed with avr-libc 1.0.4.
+ *#*
+ *#* Revision 1.22 2004/09/14 21:03:04 bernie
+ *#* PURE_FUNC, CONST_FUNC, MUST_CHECK: New function attributes; LIKELY()/UNLIKELY(): Fix for non-integral expressions.
+ *#*
+ *#* Revision 1.21 2004/09/06 21:38:31 bernie
+ *#* Misc documentation and style fixes.
+ *#*
+ *#* Revision 1.20 2004/08/29 21:57:58 bernie
+ *#* Move back STATIC_ASSERT() to compiler.h as it's needed in cpu.h;
+ *#* iptr_t, const_iptr_t: Replace IPTR macro with a real typedef.
+ *#*
+ *#* Revision 1.19 2004/08/25 14:12:08 rasky
+ *#* Aggiornato il comment block dei log RCS
+ *#*
+ *#* Revision 1.18 2004/08/24 16:32:37 bernie
+ *#* Document custom types.
+ *#*
+ *#* Revision 1.17 2004/08/24 13:32:14 bernie
+ *#* PP_CAT(), PP_STRINGIZE(): Move back to compiler.h to break circular dependency between cpu.h/compiler.h/macros.h;
+ *#* offsetof(), countof(): Move back to compiler.h to avoid including macros.h almost everywhere;
+ *#* Trim CVS log;
+ *#* Rename header guards;
+ *#* Don't include arch_config.h in compiler.h as it's not needed there.
+ *#*
+ *#* Revision 1.16 2004/08/14 19:37:57 rasky
+ *#* Merge da SC: macros.h, pool.h, BIT_CHANGE, nome dei processi, etc.
+ *#*
+ *#* Revision 1.15 2004/08/13 03:23:26 bernie
+ *#* Adjust a few MSVC tweaks from older projects.
+ *#*
+ *#* Revision 1.14 2004/08/10 06:56:29 bernie
+ *#* RESTRICT: New C99-like macro; STATIC_ASSERT: Fix warning for multiple invocation in one file.
+ *#*
+ *#* Revision 1.13 2004/08/02 20:20:29 aleph
+ *#* Merge from project_ks
+ *#*
+ *#* Revision 1.12 2004/08/01 01:21:17 bernie
+ *#* LIKELY(), UNLIKELY(): New compiler-specific macros.
+ *#*
+ *#* Revision 1.11 2004/07/30 14:34:10 rasky
+ *#* Vari fix per documentazione e commenti
+ *#* Aggiunte PP_CATn e STATIC_ASSERT
+ *#*
+ *#* Revision 1.10 2004/07/30 14:15:53 rasky
+ *#* Nuovo supporto unificato per detect della CPU
+ *#*
+ *#* Revision 1.9 2004/07/29 22:57:09 bernie
+ *#* vsprintf(): Remove prototype for backwards compatibility with GCC 3.4; ssize_t: Add definition for inferior compilers.
+ *#*/
+#ifndef DEVLIB_COMPILER_H
+#define DEVLIB_COMPILER_H
+
+#include "cpu_detect.h"