Did you not get compiler warnings to let you know that your shifts would fail? If not, you should turn up the warning level in Preferences.
/Users/john/Documents/Arduino/sketch_sep22a/sketch_sep22a.ino: In function 'void setup()':
/Users/john/Documents/Arduino/sketch_sep22a/sketch_sep22a.ino:8:56: warning: left shift count >= width of type
long merge_var = (byte0) | (byte1 << 8) | (byte2 << 16) | (byte3 << 24);
^
/Users/john/Documents/Arduino/sketch_sep22a/sketch_sep22a.ino:8:72: warning: left shift count >= width of type
long merge_var = (byte0) | (byte1 << 8) | (byte2 << 16) | (byte3 << 24);
^
/Users/john/Documents/Arduino/sketch_sep22a/sketch_sep22a.ino:8:8: warning: unused variable 'merge_var' [-Wunused-variable]
long merge_var = (byte0) | (byte1 << 8) | (byte2 << 16) | (byte3 << 24);
Test sketch:
void setup() {
Serial.begin(9600);
byte byte0 = 0x12;
byte byte1 = 0x34;
byte byte2 = 0x56;
byte byte3 = 0x78;
long merge_var = (byte0) | (byte1 << 8) | (byte2 << 16) | (byte3 << 24);
}
void loop() {}