In old times when CPUs were measured in MHz and RAM was in Kb the macro would always be inlined into code making it an easy shorthand for simple and readable code with no overhead. In those days a function call cost more than you expected or wanted and could even be noticeable in tight loops. In a very low power device maybe this is still true.
Nowadays though, CPUs are so fast the compiler can do a lot more to optimise functions, the 2nd one would be inlined (or not, the compiler will know to figure out when is best) so there's no reason not to use the function. This is perhaps why macros have fallen out of fashion.
However they can still be useful for making code more readable, if used appropriately. Even in compilers that do not have a preprocessor you still see features like #if DEBUG
as this kind of macro is immensely powerful, with zero overhead.