Source file: /~heha/Mikrocontroller/Displays/utft/Kalender.zip/ILI9325/avr-gcc-bug.cpp

struct _time{
 char sec,min,hour,day,month,year;
};

// Makros um die Kompilierzeit als Startzeit einzusetzen
// (d.h. automatisches Stellen der Uhr beim „Betanken“)
#define YEAR (	__DATE__[9]*10+__DATE__[10]-528)
#define MONTH (	__DATE__[0]=='J'&&__DATE__[1]=='a'?1:\
		__DATE__[0]=='F'?2:\
		__DATE__[0]=='M'&&__DATE__[2]=='r'?3:\
		__DATE__[0]=='A'&&__DATE__[1]=='p'?4:\
		__DATE__[0]=='M'?5:\
		__DATE__[0]=='J'&&__DATE__[2]=='n'?6:\
		__DATE__[0]=='J'?7:\
		__DATE__[0]=='A'?8:\
		__DATE__[0]=='S'?9:\
		__DATE__[0]=='O'?10:\
		__DATE__[0]=='N'?11:\
		__DATE__[0]=='D'?12:0)
#define DAY ((__DATE__[4]>='0'?__DATE__[4]:'0')*10+__DATE__[5]-528)
#define HOUR (	__TIME__[0]*10+__TIME__[1]-528)
#define MIN (	__TIME__[3]*10+__TIME__[4]-528)
#define SEC (	__TIME__[6]*10+__TIME__[7]-528)
		

EEMEM _time eetime={SEC,MIN,HOUR,DAY,MONTH,YEAR};
// Hier kommen rätselhafterweise nur Nullen an!! Bug im gcc??

EEMEM char more[]=__DATE__ "\0" __TIME__;
// Das hingegen klappt.

EEMEM _time ee2={1,2,3,4,5,6};
// Das auch.

_time jetzt={SEC,MIN,HOUR,DAY,MONTH,YEAR};
// Das klappt auch korrekt.

Detected encoding: UTF-80