diff mbox

C++ PATCH for c++/55877 (names for linkage purposes)

Message ID 20140303154924.647E2102@mailhost.lps.ens.fr
State New
Headers show

Commit Message

Dominique d'Humières March 3, 2014, 3:49 p.m. UTC
The test g++.dg/abi/anon2.C introduced at r208157 causes:

UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N11D1C3fn1ENS0_1BE
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N11D1C3fn2ES1_
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N23._31C3fn1ENS0_1BE
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N23._31C3fn2ES1_
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N31D1CIiE3fn1ENS0_1BE
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N31D1CIiE3fn2ES2_
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N43._91CIiE3fn1ENS0_1BE
UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N43._91CIiE3fn2ES2_

This is silenced by the following patch


Dominique

Comments

Jakub Jelinek March 3, 2014, 3:52 p.m. UTC | #1
On Mon, Mar 03, 2014 at 04:49:24PM +0100, Dominique Dhumieres wrote:
> The test g++.dg/abi/anon2.C introduced at r208157 causes:
> 
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N11D1C3fn1ENS0_1BE
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N11D1C3fn2ES1_
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N23._31C3fn1ENS0_1BE
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N23._31C3fn2ES1_
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N31D1CIiE3fn1ENS0_1BE
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler .weak(_definition)?[ \\t]_?_ZN2N31D1CIiE3fn2ES2_
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N43._91CIiE3fn1ENS0_1BE
> UNRESOLVED: g++.dg/abi/anon2.C -std=c++98  scan-assembler-not .weak(_definition)?[ \\t]_?_ZN2N43._91CIiE3fn2ES2_
> 
> This is silenced by the following patch

Rainer has already posted similar patch earlier today.

	Jakub
diff mbox

Patch

--- ../_clean/gcc/testsuite/g++.dg/abi/anon2.C	2014-02-26 10:46:45.000000000 +0100
+++ gcc/testsuite/g++.dg/abi/anon2.C	2014-03-01 14:45:54.000000000 +0100
@@ -6,9 +6,9 @@  namespace N1 {
     typedef enum { X, Y } A;
     typedef struct { } B;
     struct C {
-      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N11D1C3fn1ENS0_1BE" } }
+      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N11D1C3fn1ENS0_1BE" { target c++11 } } }
       static void fn1 (B) { }
-      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N11D1C3fn2ES1_" } }
+      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N11D1C3fn2ES1_" { target c++11 } } }
       static void fn2 (C) { }
     };
   } D;
@@ -22,9 +22,9 @@  namespace N2 {
     typedef enum { X, Y } A;
     typedef struct { } B;
     struct C {
-      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N23._31C3fn1ENS0_1BE" } }
+      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N23._31C3fn1ENS0_1BE" { target c++11 } } }
       static void fn1 (B) { } // { dg-error "no linkage" "" { target c++98 } }
-      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N23._31C3fn2ES1_" } }
+      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N23._31C3fn2ES1_" { target c++11 } } }
       static void fn2 (C) { } // { dg-error "no linkage" "" { target c++98 } }
     };
   } const D;
@@ -38,9 +38,9 @@  namespace N3 {
     typedef enum { X, Y } A;
     typedef struct { } B;
     template <class T> struct C {
-      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N31D1CIiE3fn1ENS0_1BE" } }
+      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N31D1CIiE3fn1ENS0_1BE" { target c++11 } } }
       static void fn1 (B) { }
-      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N31D1CIiE3fn2ES2_" } }
+      // { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZN2N31D1CIiE3fn2ES2_" { target c++11 } } }
       static void fn2 (C) { }
     };
   } D;
@@ -54,9 +54,9 @@  namespace N4 {
     typedef enum { X, Y } A;
     typedef struct { } B;
     template <class T> struct C {
-      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N43._91CIiE3fn1ENS0_1BE" } }
+      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N43._91CIiE3fn1ENS0_1BE" { target c++11 } } }
       static void fn1 (B) { } // { not-dg-error "no linkage" "" { target c++98 } }
-      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N43._91CIiE3fn2ES2_" } }
+      // { dg-final { scan-assembler-not ".weak\(_definition\)?\[ \t\]_?_ZN2N43._91CIiE3fn2ES2_" { target c++11 } } }
       static void fn2 (C) { } // { not-dg-error "no linkage" "" { target c++98 } }
     };
   } const D;