diff mbox

[2/6] nvptx testsuite patches: typed assembly

Message ID 54466A67.2020500@codesourcery.com
State New
Headers show

Commit Message

Bernd Schmidt Oct. 21, 2014, 2:15 p.m. UTC
Since everything in ptx assembly is typed, K&R C is problematic. There 
are a number of testcases that call functions with the wrong number of 
arguments, or arguments of the wrong type. I've added a new feature, 
untyped_assembly, which these tests now require. I've also used this for 
tests using builtin_apply/builtin_return.


Bernd

Comments

Jeff Law Oct. 21, 2014, 3:16 p.m. UTC | #1
On 10/21/14 14:15, Bernd Schmidt wrote:
> Since everything in ptx assembly is typed, K&R C is problematic. There
> are a number of testcases that call functions with the wrong number of
> arguments, or arguments of the wrong type. I've added a new feature,
> untyped_assembly, which these tests now require. I've also used this for
> tests using builtin_apply/builtin_return.
I'd kind of prefer to see the tests fixed, but I can live with this.

FWIW, the PA (32-bit SOM) is very sensitive to this stuff as well, 
though the linker will detect and correct most of these problems.  The 
PTX model doesn't give you the option to correct this stuff during the 
link phase

jeff
Bernd Schmidt Oct. 21, 2014, 3:32 p.m. UTC | #2
On 10/21/2014 05:16 PM, Jeff Law wrote:
> On 10/21/14 14:15, Bernd Schmidt wrote:
>> Since everything in ptx assembly is typed, K&R C is problematic. There
>> are a number of testcases that call functions with the wrong number of
>> arguments, or arguments of the wrong type. I've added a new feature,
>> untyped_assembly, which these tests now require. I've also used this for
>> tests using builtin_apply/builtin_return.
> I'd kind of prefer to see the tests fixed, but I can live with this.

Most of these are quite old, and it seems likely that they should be 
kept as they are for test coverage - it's desirable to know that the 
compiler doesn't crash when a K&R function is called with varying 
numbers of arguments for example.


Bernd
Bernd Schmidt Nov. 10, 2014, 4:15 p.m. UTC | #3
On 10/21/2014 05:32 PM, Bernd Schmidt wrote:
> On 10/21/2014 05:16 PM, Jeff Law wrote:
>> On 10/21/14 14:15, Bernd Schmidt wrote:
>>> Since everything in ptx assembly is typed, K&R C is problematic. There
>>> are a number of testcases that call functions with the wrong number of
>>> arguments, or arguments of the wrong type. I've added a new feature,
>>> untyped_assembly, which these tests now require. I've also used this for
>>> tests using builtin_apply/builtin_return.
>> I'd kind of prefer to see the tests fixed, but I can live with this.
>
> Most of these are quite old, and it seems likely that they should be
> kept as they are for test coverage - it's desirable to know that the
> compiler doesn't crash when a K&R function is called with varying
> numbers of arguments for example.

Just a note that I'm assuming that your mail was an approval and 
checking this in.


Bernd
diff mbox

Patch

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_untyped_assembly): New function.
	* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
	* gcc.c-torture/compile/920917-1.c: Likewise.
	* gcc.c-torture/compile/930120-1.c: Likewise.
	* gcc.c-torture/compile/930411-1.c: Likewise.
	* gcc.c-torture/compile/930529-1.c: Likewise.
	* gcc.c-torture/compile/930623-1.c: Likewise.
	* gcc.c-torture/compile/950329-1.c: Likewise.
	* gcc.c-torture/compile/calls.c: Likewise.
	* gcc.c-torture/compile/pr37258.c: Likewise.
	* gcc.c-torture/compile/pr37327.c: Likewise.
	* gcc.c-torture/compile/pr38360.c: Likewise.
	* gcc.c-torture/compile/pr43635.c: Likewise.
	* gcc.c-torture/compile/pr47428.c: Likewise.
	* gcc.c-torture/compile/pr47967.c: Likewise.
	* gcc.c-torture/compile/pr49145.c: Likewise.
	* gcc.c-torture/compile/pr51694.c: Likewise.
	* gcc.c-torture/compile/pr53411.c: Likewise.
	* gcc.c-torture/execute/20001101.c: Likewise.
	* gcc.c-torture/execute/20051012-1.c: Likewise.
	* gcc.c-torture/execute/920501-1.c: Likewise.
	* gcc.c-torture/execute/921202-1.c: Likewise.
	* gcc.c-torture/execute/921208-2.c: Likewise.
	* gcc.c-torture/execute/call-trap-1.c: Likewise.
	* gcc.c-torture/compile/20010525-1.c: Likewise.
	* gcc.c-torture/compile/20021015-2.c: Likewise.
	* gcc.c-torture/compile/20031023-1.c: Likewise.
	* gcc.c-torture/compile/20031023-2.c: Likewise.
	* gcc.c-torture/compile/pr49206.c: Likewise.
	* gcc.c-torture/execute/pr47237.c: Likewise.
	* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
	* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
	* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
	* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
	* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
	* gcc.dg/builtin-apply1.c: Likewise.
	* gcc.dg/builtin-apply2.c: Likewise.
	* gcc.dg/builtin-apply3.c: Likewise.
	* gcc.dg/builtin-apply4.c: Likewise.
	* gcc.dg/pr38338.c: Likewise.
	* gcc.dg/torture/pr41993.c: Likewise.
	* gcc.c-torture/compile/386.c: Likewise.
	* gcc.c-torture/compile/cmpsi386.c: Likewise.
	* gcc.c-torture/compile/consec.c: Likewise.
	* gcc.c-torture/compile/ex.c: Likewise.
	* gcc.c-torture/compile/pass.c: Likewise.
	* gcc.c-torture/compile/scal.c: Likewise.
	* gcc.c-torture/compile/uuarg.c: Likewise.
	* gcc.c-torture/compile/conv_tst.c: Likewise.

------------------------------------------------------------------------
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp.orig
+++ gcc/testsuite/lib/target-supports.exp
@@ -604,6 +606,17 @@  proc add_options_for_tls { flags } {
     return $flags
 }
 
+# Return 1 if the assembler does not verify function types against
+# calls, 0 otherwise.  Such verification will typically show up problems
+# with K&R C function declarations.
+
+proc check_effective_target_untyped_assembly {} {
+    if { [istarget nvptx-*-*] } {
+	return 0
+    }
+    return 1
+}
+
 # Return 1 if alloca is supported, 0 otherwise.
 
 proc check_effective_target_alloca {} {
Index: gcc/testsuite/gcc.c-torture/compile/20091215-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20091215-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20091215-1.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 void bar ();
 
 void
Index: gcc/testsuite/gcc.c-torture/compile/920917-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/920917-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/920917-1.c
@@ -1,2 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 inline f(x){switch(x){case 6:case 4:case 3:case 1:;}return x;}
 g(){f(sizeof("xxxxxx"));}
Index: gcc/testsuite/gcc.c-torture/compile/930120-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/930120-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/930120-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 union {
   short I[2];
   long int L;
Index: gcc/testsuite/gcc.c-torture/compile/930411-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/930411-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/930411-1.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 int heap;
 
 g(){}
Index: gcc/testsuite/gcc.c-torture/compile/930529-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/930529-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/930529-1.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 struct r
 {
   int d1, d2;
Index: gcc/testsuite/gcc.c-torture/compile/930623-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/930623-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/930623-1.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 g (a, b) {}
 
 f (xx)
Index: gcc/testsuite/gcc.c-torture/compile/950329-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/950329-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/950329-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 f ()
 {
   int i;
Index: gcc/testsuite/gcc.c-torture/compile/calls.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/calls.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/calls.c
@@ -1,4 +1,6 @@ 
 /* { dg-require-effective-target ptr32plus } */
+/* { dg-require-effective-target untyped_assembly } */
+
 typedef void  *(*T)(void);
 f1 ()
 {
Index: gcc/testsuite/gcc.c-torture/compile/pr37258.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr37258.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr37258.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 typedef signed char int8_t;
 typedef short int int16_t;
 typedef int int32_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr37327.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr37327.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr37327.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 typedef signed char int8_t;
 typedef short int int16_t;
 typedef int int32_t;
Index: gcc/testsuite/gcc.c-torture/compile/pr38360.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr38360.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr38360.c
@@ -1,4 +1,5 @@ 
 /* PR middle-end/38360 */
+/* { dg-require-effective-target untyped_assembly } */
 
 int
 main ()
Index: gcc/testsuite/gcc.c-torture/compile/pr43635.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr43635.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr43635.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 extern void d (void);
 
 void (*foo (void)) (float)
Index: gcc/testsuite/gcc.c-torture/compile/pr47428.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr47428.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr47428.c
@@ -1,4 +1,5 @@ 
 /* PR tree-optimization/47428 */
+/* { dg-require-effective-target untyped_assembly } */
 
 struct S
 {
Index: gcc/testsuite/gcc.c-torture/compile/pr47967.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr47967.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr47967.c
@@ -1,4 +1,5 @@ 
 /* PR tree-optimization/47967 */
+/* { dg-require-effective-target untyped_assembly } */
 
 extern void abort (void);
 static void bar ();
Index: gcc/testsuite/gcc.c-torture/compile/pr49145.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr49145.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr49145.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 static int
 func1 (int a, int b)
 {
Index: gcc/testsuite/gcc.c-torture/compile/pr51694.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr51694.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr51694.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 void
 foo (x, fn)
   void (*fn) ();
Index: gcc/testsuite/gcc.c-torture/compile/pr53411.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr53411.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr53411.c
@@ -1,4 +1,5 @@ 
 /* PR middle-end/53411 */
+/* { dg-require-effective-target untyped_assembly } */
 
 int a, b, c, d, e, f, g, h;
 void fn1 (void);
Index: gcc/testsuite/gcc.c-torture/execute/20001101.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/20001101.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/20001101.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 extern void abort(void);
 			 
 typedef struct
Index: gcc/testsuite/gcc.c-torture/execute/20051012-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/20051012-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/20051012-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 extern void abort (void);
 
 struct type 
Index: gcc/testsuite/gcc.c-torture/execute/920501-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/920501-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/920501-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 int s[2];
 x(){if(!s[0]){s[1+s[1]]=s[1];return 1;}}
 main(){s[0]=s[1]=0;if(x(0)!=1)abort();exit(0);}
Index: gcc/testsuite/gcc.c-torture/execute/921202-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/921202-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/921202-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 #ifndef STACK_SIZE
 #define	VLEN	2055
 #else
Index: gcc/testsuite/gcc.c-torture/execute/921208-2.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/921208-2.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/921208-2.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 #define STACK_REQUIREMENT (100000 * 4 + 1024)
 #if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT
 main () { exit (0); }
Index: gcc/testsuite/gcc.c-torture/execute/call-trap-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/call-trap-1.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/call-trap-1.c
@@ -2,6 +2,7 @@ 
    type does not appear until after the function designator and
    arguments have been evaluated.  PR 38483.  */
 /* Origin: Joseph Myers <joseph@codesourcery.com> */
+/* { dg-require-effective-target untyped_assembly } */
 
 extern void exit (int);
 extern void abort (void);
Index: gcc/testsuite/gcc.c-torture/compile/20010525-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20010525-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20010525-1.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 static int kind_varread(char *str)
 {
   if (0 == memcmp("%_#",               str, 3))  return 2;
Index: gcc/testsuite/gcc.c-torture/compile/20021015-2.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20021015-2.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20021015-2.c
@@ -1,4 +1,5 @@ 
 /* PR target/8232.  */
+/* { dg-require-effective-target untyped_assembly } */
 
 int f (char *p, char *q, int i)
 {
Index: gcc/testsuite/gcc.c-torture/compile/20031023-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20031023-1.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20031023-1.c
@@ -1,3 +1,5 @@ 
+/* Declaration of the frame size doesn't work on ptx.  */
+/* { dg-require-effective-target untyped_assembly } */
 #ifndef ASIZE
 # define ASIZE 0x10000000000UL
 #endif
Index: gcc/testsuite/gcc.c-torture/compile/20031023-2.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20031023-2.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/20031023-2.c
@@ -1,2 +1,4 @@ 
+/* Declaration of the frame size doesn't work on ptx.  */
+/* { dg-require-effective-target untyped_assembly } */
 #define ASIZE 0x1000000000UL
 #include "20031023-1.c"
Index: gcc/testsuite/gcc.c-torture/compile/20031023-3.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/20031023-3.c.orig
7+++ gcc/testsuite/gcc.c-torture/compile/20031023-3.c
@@ -1,2 +1,4 @@ 
+/* Declaration of the frame size doesn't work on ptx.  */
+/* { dg-require-effective-target untyped_assembly } */
 #define ASIZE 0x100000000UL
 #include "20031023-1.c"
Index: gcc/testsuite/gcc.c-torture/compile/pr49206.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr49206.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pr49206.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 struct S1
 {
   short f0;
Index: gcc/testsuite/gcc.c-torture/execute/pr47237.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/pr47237.c.orig
+++ gcc/testsuite/gcc.c-torture/execute/pr47237.c
@@ -1,4 +1,5 @@ 
 /* { dg-xfail-if "can cause stack underflow" { nios2-*-* } "*" "" } */
+/* { dg-require-effective-target untyped_assembly } */
 #define INTEGER_ARG  5
 
 extern void abort(void);
Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c.orig
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-1.c
@@ -1,5 +1,6 @@ 
 /* PR 11184 */
 /* Origin:  Dara Hazeghi <dhazeghi@yahoo.com> */
+/* { dg-require-effective-target untyped_assembly } */
 
 void *
 objc_msg_sendv (char * arg_frame, void (*foo)())
Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c.orig
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
@@ -11,6 +11,7 @@ 
         do.  */
 /* { dg-skip-if "Variadic funcs use different argument passing from normal funcs" { arm_hf_eabi || { avr-*-* } } "*" "" } */
 /* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { nds32*-*-* } "*" "" } */
+/* { dg-require-effective-target untyped_assembly } */
    
 
 #define INTEGER_ARG  5
Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c.orig
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-3.c
@@ -5,6 +5,7 @@ 
    to the right location by __builtin_apply after the direct call.  */
 
 /* { dg-do run } */
+/* { dg-require-effective-target untyped_assembly } */
 
 
 #define INTEGER_ARG  5
Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c.orig
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c
@@ -1,6 +1,7 @@ 
 /* PR tree-optimization/20076 */
 /* { dg-do run } */
 /* { dg-additional-options "-fgnu89-inline" } */
+/* { dg-require-effective-target untyped_assembly } */
 
 extern void abort (void);
 
Index: gcc/testsuite/gcc.dg/builtin-apply1.c
===================================================================
--- gcc/testsuite/gcc.dg/builtin-apply1.c.orig
+++ gcc/testsuite/gcc.dg/builtin-apply1.c
@@ -1,5 +1,6 @@ 
 /* PR 11184 */
 /* Origin:  Dara Hazeghi <dhazeghi@yahoo.com> */
+/* { dg-require-effective-target untyped_assembly } */
 
 void *
 objc_msg_sendv (char * arg_frame, void (*foo)())
Index: gcc/testsuite/gcc.dg/builtin-apply2.c
===================================================================
--- gcc/testsuite/gcc.dg/builtin-apply2.c.orig
+++ gcc/testsuite/gcc.dg/builtin-apply2.c
@@ -1,4 +1,5 @@ 
 /* { dg-do run } */
+/* { dg-require-effective-target untyped_assembly } */
 /* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { "aarch64*-*-* avr-*-* nds32*-*-*" } { "*" } { "" } } */
 /* { dg-skip-if "Variadic funcs use Base AAPCS.  Normal funcs use VFP variant." { arm*-*-* && arm_hf_eabi } { "*" } { "" } } */
 
Index: gcc/testsuite/gcc.dg/builtin-apply3.c
===================================================================
--- gcc/testsuite/gcc.dg/builtin-apply3.c.orig
+++ gcc/testsuite/gcc.dg/builtin-apply3.c
@@ -5,6 +5,7 @@ 
    to the right location by __builtin_apply after the direct call.  */
 
 /* { dg-do run } */
+/* { dg-require-effective-target untyped_assembly } */
 
 
 #define INTEGER_ARG  5
Index: gcc/testsuite/gcc.dg/builtin-apply4.c
===================================================================
--- gcc/testsuite/gcc.dg/builtin-apply4.c.orig
+++ gcc/testsuite/gcc.dg/builtin-apply4.c
@@ -2,6 +2,7 @@ 
 /* { dg-options "-O2 -Wmissing-noreturn -fgnu89-inline" } */
 /* { dg-options "-O2 -mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
 /* { dg-do run } */
+/* { dg-require-effective-target untyped_assembly } */
 
 extern void abort (void);
 
Index: gcc/testsuite/gcc.dg/pr38338.c
===================================================================
--- gcc/testsuite/gcc.dg/pr38338.c.orig
+++ gcc/testsuite/gcc.dg/pr38338.c
@@ -1,6 +1,7 @@ 
 /* PR middle-end/38338 */
 /* { dg-options "-O0" } */
 /* { dg-options "-O0 -fPIC" { target fpic } } */
+/* { dg-require-effective-target untyped_assembly } */
 
 typedef void (*fnp) (void);
 
Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c.orig
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-return-1.c
@@ -1,6 +1,7 @@ 
 /* PR middle-end/11151 */
 /* Originator: Andrew Church <gcczilla@achurch.org> */
 /* { dg-do run } */
+/* { dg-require-effective-target untyped_assembly } */
 
 /* This used to fail on SPARC because the (undefined) return
    value of 'bar' was overwriting that of 'foo'.  */
Index: gcc/testsuite/gcc.dg/torture/pr41993.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr41993.c.orig
+++ gcc/testsuite/gcc.dg/torture/pr41993.c
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-mavx -mvzeroupper" { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-require-effective-target untyped_assembly } */
 
 short retframe_short (void *rframe)
 {
Index: gcc/testsuite/gcc.c-torture/compile/386.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/386.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/386.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 foo (a, p)
      int *p;
 {
Index: gcc/testsuite/gcc.c-torture/compile/cmpsi386.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/cmpsi386.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/cmpsi386.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 foo (a, p)
      register int a;
      int *p;
Index: gcc/testsuite/gcc.c-torture/compile/consec.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/consec.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/consec.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 int glob;
 
 conseq (a, b, c, d)
Index: gcc/testsuite/gcc.c-torture/compile/ex.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/ex.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/ex.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 foo (a, b)
 {
   if ((a & (1 << b)) == 0)
Index: gcc/testsuite/gcc.c-torture/compile/pass.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pass.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/pass.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 int
 foo (a, b, c)
 {
Index: gcc/testsuite/gcc.c-torture/compile/scal.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/scal.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/scal.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 int g1, g2;
 
 void
Index: gcc/testsuite/gcc.c-torture/compile/uuarg.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/uuarg.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/uuarg.c
@@ -1,3 +1,4 @@ 
+/* { dg-require-effective-target untyped_assembly } */
 foo (a, b, c, d, e, f, g, h, i)
 {
   return foo () + i;
Index: gcc/testsuite/gcc.c-torture/compile/conv_tst.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/conv_tst.c.orig
+++ gcc/testsuite/gcc.c-torture/compile/conv_tst.c
@@ -1,3 +1,5 @@ 
+/* { dg-require-effective-target untyped_assembly } */
+
 #define ID_1 2400000000.0
 #define ID_2 1.7
 #define ID_3 -1.7