Поведение __LINE__ во встроенных функциях

У меня есть макрос, который передает номер строки и имя файла обработчику ошибок:

#define SYSTEM_FAILURE (error_code, comment) \
   System_Failure((error_code), (comment), __LINE__, __FILE__);

Как будет разрешаться __LINE__при использовании внутри встроенной функции?

file.h:
inline int divide(int x, int y)
{
    if (y == 0)
    {
        SYSTEM_FAILURE(ENUM_DIVIDE_BY_ZERO, "divide by zero error");
    }
    return x/y;
}

Будет ли __LINE__содержать номер строки в заголовочном файле или номер строки исходного файла, в котором вызывается встроенная функция (при условии, что компилятор выполняет «вставку» в исходный код)?

15
задан Thomas Matthews 26 June 2012 в 19:03
поделиться