G++ bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I can not understand this and suspect this to be a bug (after consulting with
several more programmers).
Below is the description.

I have some *.h file which contains the following:
enum PinDir {DIR0=0, DIR1=1, IN=0, OUT=1};
enum PinPar {PAR0=0, PAR1=1, GPIO=0, PERIPH=1};
enum PinODR     {ODR0=0, ODR1=1};
enum PinSO      {SO0 =0, SO1 =1};
enum PinINT     {INT0=0, INT1=1, SET=1, CLR=0};
enum Ports {PortA, PortB, PortC, PortD};

class __PinsIO {
        struct __Port{
                volatile unsigned long  DIR;
                volatile unsigned long  PAR;
                volatile unsigned long  SO;
                volatile unsigned long  ODR;
                volatile unsigned long  DAT;
        };
        __Port *pPortA __attribute__ ((packed));
        __Port *pPortB __attribute__ ((packed));
        __Port *pPortC __attribute__ ((packed));
        __Port *pPortD __attribute__ ((packed));
public:
        __PinsIO();
        void Define(Ports Port, short PinNum, PinDir Dir, PinPar Par, bool
Dat); /*CALLED*/
        void Define(Ports Port, short PinNum, PinDir Dir, PinPar Par);
        void Define(Ports Port, short PinNum, PinDir Dir, PinPar Par, PinODR
Odr);
        void Define(Ports Port, short PinNum, PinDir Dir, PinPar Par, PinODR
Odr, bool Dat);
        void Define(Ports Port, short PinNum, PinDir Dir, PinPar Par, PinSO
So, PinINT Int);
        void DefineInt(Ports Port, short PinNum);
} PinsIO;


In some other cpp file (which, of course, includes the file above) I have
written the following: 
PinsIO.Define(PortC, 24, DIR0, PAR1, SO1);
Today, considering this, I expect gcc to issue the error message - no
corresponding prototype found. Instead, gcc silently compiles the code and
calls the first function in the list marked with /*CALLED*/.

I shall be really thankfull for any possible hints and helps.
-- 
View this message in context: http://www.nabble.com/G%2B%2B-bug--tf3558625.html#a9937176
Sent from the gcc - Help mailing list archive at Nabble.com.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux