CI: Build on Arch (bleeding-ege) and Ubuntu (stable) AVR-GCC toolchains.
[pub/USBasp.git] / LUFA / Common / Common.h
index 38afb85..0eee969 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2014.
+     Copyright (C) Dean Camera, 2018.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2014  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2018  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
                        #define pgm_read_byte(x)         *x
                        #define memcmp_P(...)            memcmp(__VA_ARGS__)
                        #define memcpy_P(...)            memcpy(__VA_ARGS__)
+                       #define strlen_P(...)            strlen(__VA_ARGS__)
                        // =================================================
 
                        typedef uint32_t uint_reg_t;
 
        /* Public Interface - May be used in end-application: */
                /* Macros: */
-                       /** Macro for encasing other multi-statement macros. This should be used along with an opening brace
-                        *  before the start of any multi-statement macro, so that the macros contents as a whole are treated
-                        *  as a discrete block and not as a list of separate statements which may cause problems when used as
-                        *  a block (such as inline \c if statements).
-                        */
-                       #define MACROS                  do
-
-                       /** Macro for encasing other multi-statement macros. This should be used along with a preceding closing
-                        *  brace at the end of any multi-statement macro, so that the macros contents as a whole are treated
-                        *  as a discrete block and not as a list of separate statements which may cause problems when used as
-                        *  a block (such as inline \c if statements).
-                        */
-                       #define MACROE                  while (0)
+                       #if !defined(__DOXYGEN__)
+                               // Obsolete, retained for compatibility with user code
+                               #define MACROS                  do
+                               #define MACROE                  while (0)
+                       #endif
 
                        /** Convenience macro to determine the larger of two values.
                         *