+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
-// { 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.
// 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" } }
// 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;}
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" } }
// 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 {
/* { 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" } */
__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)" } } */
/* { 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" } */
/* { 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 } */
/* { 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" } } */