Aviso estranho do GCC na classe e tipo de armazenamento

Tenho um arquivo de cabeçalho que se parece com

header.h

int TOS;

Este arquivo está sendo incluído por apenas um arquivo de código

code.c

#include "header.h"
TOS=0;

Quando compilar o code.c GCC emite um aviso

code.c: 3: 1: warning: a definição de dados não possui tipo ou classe de armazenamento [habilitado por padrão] code.c: 3: 1: warning: type padrão como 'int' na declaração de 'TOS' [habilitado por padrão ]

Não consigo entender a causa deste aviso. Não é equivalente a declarar e definir TOS no code.c? i.e.

code.c

int TOS;
TOS=0;

questionAnswers(3)

yourAnswerToTheQuestion