Bradley White has quite rightly pointed out that sizeof's are no-no's in preprocessor directives. Of course it's possibly to simply... typedef long long raw_year_type; ...and use the defined type for year-holding variables to avoid problems with really big tm_year values. --ado