2010-10.10 Kai Tietz <kai.tietz@onevision.com>

* g++.dg/ext/dllexport-MI1.C: Enable for x86_64 mingw
	and adjust -export symbol scanning.
	* g++.dg/ext/dllexport1.C: Likewise.
	* g++.dg/ext/dllexport3.C: Likewise.
	* gcc.dg/dll-3.c: Likewise.
	* gcc.dg/dll-4.c: Likewise.
	* gcc.dg/dll-5.c: Likewise.

From-SVN: r165261
This commit is contained in:
Kai Tietz 2010-10-10 21:25:09 +02:00 committed by Kai Tietz
parent e14d28a7a5
commit 6ea7f14af8
7 changed files with 30 additions and 20 deletions

View File

@ -1,3 +1,13 @@
2010-10.10 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/ext/dllexport-MI1.C: Enable for x86_64 mingw
and adjust -export symbol scanning.
* g++.dg/ext/dllexport1.C: Likewise.
* g++.dg/ext/dllexport3.C: Likewise.
* gcc.dg/dll-3.c: Likewise.
* gcc.dg/dll-4.c: Likewise.
* gcc.dg/dll-5.c: Likewise.
2010-10-10 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/tree-prof/ic-misattribution-1a.c: Cleanup tree_profile_ipa

View File

@ -1,4 +1,4 @@
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} }
// Test that non-virtual MI thunks are exported.
@ -27,25 +27,25 @@ DLL_IMPEXP MI1 dllMI1Copy = dllMI1;
// Scan for export of some methods that are undefined in dllimportMI1.C,
// { dg-final { scan-assembler "-export:_ZNK2D12vfEv" } }
// { dg-final { scan-assembler "-export:_ZNK2D22vfEv" } }
// { dg-final { scan-assembler "-export:_ZNK3MI12vfEv" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK2D12vfEv" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK2D22vfEv" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK3MI12vfEv" } }
// and MI thunks,
// { dg-final { scan-assembler "-export:_ZThn4_NK3MI12vfEv" } }
// { dg-final { scan-assembler "-export:_ZTv0_n12_NK2D12vfEv" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZThn4_NK3MI12vfEv" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZTv0_n12_NK2D12vfEv" } }
// and a vtable data variable.
// { dg-final { scan-assembler "-export:_ZTV2D1,data" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZTV2D1\[\\\"\]*,data" } }
// an explicit copy ctor
// { dg-final { scan-assembler "-export:_ZN2D2C2ERKS_" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZN2D2C2ERKS_" } }
// but not implicit copy ctor generated by compiler
// nor implicit dtor
// { dg-final { scan-assembler-not "-export:_ZN2D1C2ERKS_" } }
// { dg-final { scan-assembler-not "-export:_ZN2D1D2Ev" } }
// { dg-final { scan-assembler-not "-export:\[\\\\\"\]*_ZN2D1C2ERKS_" } }
// { dg-final { scan-assembler-not "-export:\[\\\\\"\]*_ZN2D1D2Ev" } }

View File

@ -1,5 +1,5 @@
// Test that inline functions are exported with -fkeep-inline-functions.
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} }
// { dg-options -fkeep-inline-functions }
__attribute__((dllexport)) inline int foo (int a) { return a;}
@ -19,5 +19,5 @@ int Bar::outline_bar(int a) {return foo (a);}
Bar abar;
// { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*_ZN3Bar11outline_barEi" } }
// { dg-final { scan-assembler " -export:_ZN3Bar10inline_barEi" } }
// { dg-final { scan-assembler " -export:_Z3fooi" } }
// { dg-final { scan-assembler " -export:\[\\\\\"\]*_ZN3Bar10inline_barEi" } }
// { dg-final { scan-assembler " -export:\[\\\\\"\]*_Z3fooi" } }

View File

@ -1,6 +1,6 @@
// PR c++/42870
// { dg-do compile { target i?86-*-cygwin *-*-mingw* } }
// { dg-final { scan-assembler "-export:_ZN2SaD1Ev" } }
// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZN2SaD1Ev" } }
#define ATTRIBUTE __attribute__ ((dllexport))
class ATTRIBUTE Sa {

View File

@ -2,7 +2,7 @@
/* { dg-do compile { target arm*-*-pe* } } */
/* { dg-do compile { target i?86-pc-cygwin } } */
/* { dg-do compile { target i?86-pc-mingw* } } */
/* { dg-do compile { target i?86-*-mingw* x86_64-*-mingw*} } */
__declspec (dllimport) int foo1 ();
__declspec (dllexport) int foo1 (); /* { dg-warning "previous dllimport ignored" } */
@ -13,6 +13,6 @@ __declspec (dllimport) int foo2 (); /* { dg-warning "dllimport ignored" } */
__declspec (dllexport) int foo1 () { return foo2 (); }
__declspec (dllexport) int foo2 () { return foo1 (); }
/* { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*-export:foo2" } } */
/* { dg-final { scan-assembler "-export:foo1" } } */
/* { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*-export:\[\\\\\"\]*foo2" } } */
/* { dg-final { scan-assembler "-export:\[\\\\\"\]*foo1" } } */
/* { dg-final { scan-assembler-not "(__imp_foo1|_imp__foo1|__imp_foo2|_imp__foo2)" } } */

View File

@ -1,6 +1,6 @@
/* { dg-do compile { target arm*-*-pe* } } */
/* { dg-do compile { target i?86-pc-cygwin } } */
/* { dg-do compile { target i?86-pc-mingw* } } */
/* { dg-do compile { target i?86-*-mingw* x86_64-*-mingw* } } */
__declspec (dllimport) int foo1;
int foo1; /* { dg-warning "redeclared without dllimport" } */

View File

@ -1,5 +1,5 @@
/* { dg-do compile { target i?86-pc-cygwin } } */
/* { dg-do compile { target i?86-pc-mingw* } } */
/* { dg-do compile { target i?86-*-mingw* x86_64-*-mingw* } } */
/* { dg-do compile { target arm*-*-pe* } } */
/* { dg-options -mnop-fun-dllimport } */
@ -19,4 +19,4 @@ __declspec (dllexport) void dllexp ()
/* { dg-final { scan-assembler-not "(__imp_dllimpfn|_imp__dllimpfn)" } } */
/* { dg-final { scan-assembler "(__imp_dllimpvar|_imp__dllimpvar)" } } */
/* { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n\.*-export:dllexp" } } */
/* { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n\.*-export:\[\\\\\"\]*dllexp" } } */