[LLVMbugs] [Bug 3989] C99 inline + extern decl merging problems

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Apr 24 11:16:24 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=3989


Matthieu castet <castet.matthieu at free.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |




--- Comment #8 from Matthieu castet <castet.matthieu at free.fr>  2009-04-24 13:15:27 ---
There are still case broken, for example toto should be here not externaly
visible (gnu extern inline) :
$ cat test/toto2.c 
extern int toto(void);
extern inline __attribute__ ((__gnu_inline__)) int toto(void)
{
}

inline int foo()
{
}

int main()
{
        toto();
        return foo();
}

$ clang -ccc-host-triple i686-linux-gnu -O3 test/toto2.c -c -o /tmp/pp.o
-std=c99
$ readelf -s /tmp/pp.o | grep toto
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS test/toto2.c
     6: 00000000     5 FUNC    GLOBAL DEFAULT    1 toto

FYI :
$ gcc -O3 test/toto2.c -c -o  /tmp/pp.o -std=c99
$ readelf -s /tmp/pp.o  | grep toto
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS toto2.c


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list