diff options
author | Richard Guenther <rguenther@suse.de> | 2010-06-03 16:08:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-06-03 16:08:10 +0000 |
commit | f5f92f6d3bc3e0d1758cc7ae8e8ccc9f2850895e (patch) | |
tree | d4f561d3750c502e46908563fd504c34819124ff /gcc | |
parent | 0c1b8fe999305de74747ce3e3780451a0a9c1c7f (diff) | |
download | gcc-f5f92f6d3bc3e0d1758cc7ae8e8ccc9f2850895e.zip gcc-f5f92f6d3bc3e0d1758cc7ae8e8ccc9f2850895e.tar.gz gcc-f5f92f6d3bc3e0d1758cc7ae8e8ccc9f2850895e.tar.bz2 |
re PR lto/41921 (Cross language don't work with typedef unnamed structs)
2010-06-03 Richard Guenther <rguenther@suse.de>
PR lto/41921
* lib/lto.exp: Always load gcc.exp.
(lto-obj): For C source files invoke gcc_target_compile.
* g++.dg/lto/20100603-1_0.C: New testcase.
* g++.dg/lto/20100603-1_1.c: Likewise.
From-SVN: r160226
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lto/20100603-1_0.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lto/20100603-1_1.c | 2 |
3 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 048c513..79d34c2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2010-06-03 Richard Guenther <rguenther@suse.de> + + PR lto/41921 + * lib/lto.exp: Always load gcc.exp. + (lto-obj): For C source files invoke gcc_target_compile. + * g++.dg/lto/20100603-1_0.C: New testcase. + * g++.dg/lto/20100603-1_1.c: Likewise. + 2010-06-03 H.J. Lu <hongjiu.lu@intel.com> PR tree-optimization/43688 diff --git a/gcc/testsuite/g++.dg/lto/20100603-1_0.C b/gcc/testsuite/g++.dg/lto/20100603-1_0.C new file mode 100644 index 0000000..8fe11a2 --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20100603-1_0.C @@ -0,0 +1,14 @@ +/* { dg-lto-do link } */ + +extern "C" { + typedef struct {} CvImage; + extern CvImage* Cv_ImageNew(void); +} +void __attribute__((noinline,noclone)) +_Raytrace(CvImage* LImage) { __asm volatile (""); } +int main(int LArgC, char** LArgV) +{ + CvImage* LImage = Cv_ImageNew(); + _Raytrace(LImage); +} + diff --git a/gcc/testsuite/g++.dg/lto/20100603-1_1.c b/gcc/testsuite/g++.dg/lto/20100603-1_1.c new file mode 100644 index 0000000..fddce5d --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20100603-1_1.c @@ -0,0 +1,2 @@ +typedef struct {} CvImage; +CvImage* Cv_ImageNew(void) { } |