diff mbox

[testsuite] g++.dg/torture/stackalign: make compile lines unique in test summary

Message ID 4FDB79C0.6000007@mentor.com
State New
Headers show

Commit Message

Janis Johnson June 15, 2012, 6:06 p.m. UTC
Like the C stackalign tests, the tests in g++.dg/torture/stackalign use
two sets of torture options: the usual optimization sets used as default
for torture tests, and sets of options that are specific to stack
alignment.  There are fewer stack alignment options used for the G++
tests but otherwise the setup is the same.

This patch is similar to the one for the C stackalign tests and uses
existing support to combine the torture options and stackalign options
so they are all reported in the pass/fail lines in the test summary to
make each line unique.  Since this isn't significantly different from
the patch for C tests I'm not waiting for a review.

Tested on i686-pc-linux-gnu and arm-none-eabi, checked in.

Janis
2012-06-15  Janis Johnson  <janisjo@codesourcery.com>

	* g++.dg/torture/stackalign/stackalign.exp: Combine stack
	alignment torture options with usual torture options.

Comments

H.J. Lu June 15, 2012, 6:10 p.m. UTC | #1
On Fri, Jun 15, 2012 at 11:06 AM, Janis Johnson
<janis_johnson@mentor.com> wrote:
> Like the C stackalign tests, the tests in g++.dg/torture/stackalign use
> two sets of torture options: the usual optimization sets used as default
> for torture tests, and sets of options that are specific to stack
> alignment.  There are fewer stack alignment options used for the G++
> tests but otherwise the setup is the same.
>
> This patch is similar to the one for the C stackalign tests and uses
> existing support to combine the torture options and stackalign options
> so they are all reported in the pass/fail lines in the test summary to
> make each line unique.  Since this isn't significantly different from
> the patch for C tests I'm not waiting for a review.
>
> Tested on i686-pc-linux-gnu and arm-none-eabi, checked in.
>

Thanks.
diff mbox

Patch

Index: g++.dg/torture/stackalign/stackalign.exp
===================================================================
--- g++.dg/torture/stackalign/stackalign.exp	(revision 188540)
+++ g++.dg/torture/stackalign/stackalign.exp	(working copy)
@@ -1,4 +1,4 @@ 
-# Copyright (C) 2008, 2010
+# Copyright (C) 2008, 2010, 2012
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -18,18 +18,41 @@ 
 # This harness is for tests that should be run at all optimisation levels.
 
 load_lib g++-dg.exp
+load_lib torture-options.exp
+
+global DG_TORTURE_OPTIONS LTO_TORTURE_OPTIONS
+
 dg-init
-set additional_flags ""
+torture-init
 
+# default_flags are replaced by a dg-options test directive, or appended
+# to by using dg-additional-options.  Use default_flags for options that
+# are used in all of the torture sets to limit the amount of noise in
+# test summaries.
+set default_flags ""
+
+# torture_flags are combined with other torture options and do not
+# affect options specified within a test.
+set torture_flags ""
+
+set stackalign_options [list]
+
 # If automatic stack alignment is supported, force it on.
 if { [check_effective_target_automatic_stack_alignment] } then {
-    lappend additional_flags "-mstackrealign"
-    lappend additional_flags "-mpreferred-stack-boundary=5"
+    append default_flags " -mstackrealign"
+    append default_flags " -mpreferred-stack-boundary=5"
 }
+lappend stackalign_options [join $torture_flags]
 
-gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.C]] $additional_flags
 if { [check_effective_target_fpic] } then {
-    lappend additional_flags "-fpic"
-    gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.C]] $additional_flags
+    lappend torture_flags "-fpic"
+    lappend stackalign_options [join $torture_flags]
 }
+
+# Combine stackalign options with the usual torture optimization flags.
+set-torture-options [concat $DG_TORTURE_OPTIONS $LTO_TORTURE_OPTIONS] $stackalign_options
+
+gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.C]] "$default_flags"
+
+torture-finish
 dg-finish