How to use 2 IR receivers ?

If you wanna use the IRremote library you have to modify it quite extensively,

Why ?

This is the code of one of the IRremote examples (dump function stripped down because it's long and not relevant here):

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

// ...

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume(); // Receive the next value
  }
}

Just by looking at this example I don't see why instantiating two IRremote objects each one on its own pin shouldn't work. (Of course there should be also two results variables...)