Есть ли фиктивное lvalue, которое можно использовать, когда ничего не должно выполняться?

Рассмотрим следующую функцию C99:

void port_pin_set(const bool value, const uint8_t pin_mask)
{
    if (value) {
        PORT |= pin_mask;
    } else {
        PORT &= ~pin_mask;
    }
}

С PORT , являющимся , определите , например:

#define PORT (P1OUT)

Есть ли способ переопределить PORT так, чтобы:

  • принималось как lvalue,
  • функция ничего не делает.

Я хочу оставить исходный код функции как есть, а при компиляции ничего не делать.

Изменить : Я понимаю, что использование такого lvalue может быть не лучшим решением. Я не ищу лучшего решения этой конкретной проблемы, меня интересует сам язык. Это теоретический вопрос, а не прагматический.

5
задан Gauthier 18 January 2012 в 09:14
поделиться