No RISC architecture can store directly to MEM, so the expected RTL in g++.dg/init/vbase1.C is wrong. I am adding XFAIL for PowerPC. This probably should be disabled for ARM and other RISC architectures.
Dollar sign is not a valid identifier on AIX, so g++.dg/cpp/ucn-1.C will produce an additional error on AIX. * g++.dg/init/vbase1.C: XFAIL powerpc*-*-*. * g++.dg/cpp/ucn-1.C: Expect error for dollar sign identifier on AIX. Thanks, David Index: init/vbase1.C =================================================================== --- init/vbase1.C (revision 230366) +++ init/vbase1.C (working copy) @@ -42,4 +42,4 @@ // Verify that the SubB() mem-initializer is storing 0 directly into // this->D.whatever rather than into a stack temp that is then copied into the // base field. -// { dg-final { scan-rtl-dump "set \[^\n\]*\n\[^\n\]*this\[^\n\]*\n\[^\n\]*const_int 0" "expand" } } +// { dg-final { scan-rtl-dump "set \[^\n\]*\n\[^\n\]*this\[^\n\]*\n\[^\n\]*const_int 0" "expand" { xfail { powerpc*-*-* } } } } Index: cpp/ucn-1.C =================================================================== --- cpp/ucn-1.C (revision 230366) +++ cpp/ucn-1.C (working copy) @@ -7,8 +7,9 @@ "\u0041"; // 'A' UCN is OK in string literal '\u0041'; // also OK in character literal - int c\u0041c; // { dg-error "not valid in an identifier" } - int c\u0024c; // $ is OK; not part of basic source char set + int c\u0041c; // { dg-error "not valid in an identifier" } + // $ is OK on most targets; not part of basic source char set + int c\u0024c; // { dg-error "not valid in an identifier" { target { powerpc-ibm-aix* } } } U"\uD800"; // { dg-error "not a valid universal character" } }