avr-gcc-list
[Top][All Lists]
Advanced

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

Re: [avr-gcc-list] Bug in gcc version 3.0 20010605 (and yesterday's)


From: Kasper Pedersen
Subject: Re: [avr-gcc-list] Bug in gcc version 3.0 20010605 (and yesterday's)
Date: Tue, 26 Jun 2001 00:42:31 +0200

From: "Markus Gietzen" <address@hidden>
> > gcctest7.c:120: Unrecognizable insn:
> > (insn 320 317 321 (parallel[
>
> I get the same error (also v3.0)
> when I use something like this:
>
> #define len(v) strlen(v)
>
> I did the above to replace the custom function len() with the
> standard strlen().

A short version that produces it:

int funcc(void) { return 0; }
#define strlexx strlen
extern int strlen(const char *a);
extern int strlem(const char *a);
extern int strleo(const char *a);
char buffer[20];
int main(void)
{
 for(;;)   if (funcc())   if (strlexx(buffer))   if (funcc()) ;
}

Interrestingly enough it manages to distinguish between strlen and
strlem/strleo with the name strlen changed in all libraries. Even without
libraries (a binary search of the tree says that strlen doesn't occur
anywhere except the help documentation and the exe files - windows version)
it manages to behave differently.

In short, it seems that if I name strlen something other than strlen, and
then rebuild the libraries, it works?

/Kasper




reply via email to

[Prev in Thread] Current Thread [Next in Thread]