head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.2
	netbsd-11-0-RC3:1.1.1.2
	netbsd-11-0-RC2:1.1.1.2
	netbsd-11-0-RC1:1.1.1.2
	gcc-14-3-0:1.1.1.3
	perseant-exfatfs-base-20250801:1.1.1.2
	netbsd-11:1.1.1.2.0.30
	netbsd-11-base:1.1.1.2
	gcc-12-5-0:1.1.1.2
	netbsd-10-1-RELEASE:1.1.1.2
	perseant-exfatfs-base-20240630:1.1.1.2
	gcc-12-4-0:1.1.1.2
	perseant-exfatfs:1.1.1.2.0.28
	perseant-exfatfs-base:1.1.1.2
	netbsd-8-3-RELEASE:1.1.1.2
	netbsd-9-4-RELEASE:1.1.1.2
	netbsd-10-0-RELEASE:1.1.1.2
	netbsd-10-0-RC6:1.1.1.2
	netbsd-10-0-RC5:1.1.1.2
	netbsd-10-0-RC4:1.1.1.2
	netbsd-10-0-RC3:1.1.1.2
	netbsd-10-0-RC2:1.1.1.2
	netbsd-10-0-RC1:1.1.1.2
	gcc-12-3-0:1.1.1.2
	gcc-10-5-0:1.1.1.2
	netbsd-10:1.1.1.2.0.26
	netbsd-10-base:1.1.1.2
	netbsd-9-3-RELEASE:1.1.1.2
	gcc-10-4-0:1.1.1.2
	cjep_sun2x-base1:1.1.1.2
	cjep_sun2x:1.1.1.2.0.24
	cjep_sun2x-base:1.1.1.2
	cjep_staticlib_x-base1:1.1.1.2
	netbsd-9-2-RELEASE:1.1.1.2
	cjep_staticlib_x:1.1.1.2.0.22
	cjep_staticlib_x-base:1.1.1.2
	gcc-10-3-0:1.1.1.2
	netbsd-9-1-RELEASE:1.1.1.2
	gcc-9-3-0:1.1.1.2
	gcc-7-5-0:1.1.1.2
	phil-wifi-20200421:1.1.1.2
	phil-wifi-20200411:1.1.1.2
	is-mlppp:1.1.1.2.0.20
	is-mlppp-base:1.1.1.2
	phil-wifi-20200406:1.1.1.2
	netbsd-8-2-RELEASE:1.1.1.2
	gcc-8-4-0:1.1.1.2
	netbsd-9-0-RELEASE:1.1.1.2
	netbsd-9-0-RC2:1.1.1.2
	netbsd-9-0-RC1:1.1.1.2
	phil-wifi-20191119:1.1.1.2
	gcc-8-3-0:1.1.1.2
	netbsd-9:1.1.1.2.0.18
	netbsd-9-base:1.1.1.2
	phil-wifi-20190609:1.1.1.2
	netbsd-8-1-RELEASE:1.1.1.2
	netbsd-8-1-RC1:1.1.1.2
	pgoyette-compat-merge-20190127:1.1.1.2
	pgoyette-compat-20190127:1.1.1.2
	gcc-7-4-0:1.1.1.2
	pgoyette-compat-20190118:1.1.1.2
	pgoyette-compat-1226:1.1.1.2
	pgoyette-compat-1126:1.1.1.2
	gcc-6-5-0:1.1.1.2
	pgoyette-compat-1020:1.1.1.2
	pgoyette-compat-0930:1.1.1.2
	pgoyette-compat-0906:1.1.1.2
	netbsd-7-2-RELEASE:1.1.1.1
	pgoyette-compat-0728:1.1.1.2
	netbsd-8-0-RELEASE:1.1.1.2
	phil-wifi:1.1.1.2.0.16
	phil-wifi-base:1.1.1.2
	pgoyette-compat-0625:1.1.1.2
	netbsd-8-0-RC2:1.1.1.2
	pgoyette-compat-0521:1.1.1.2
	pgoyette-compat-0502:1.1.1.2
	pgoyette-compat-0422:1.1.1.2
	netbsd-8-0-RC1:1.1.1.2
	pgoyette-compat-0415:1.1.1.2
	pgoyette-compat-0407:1.1.1.2
	pgoyette-compat-0330:1.1.1.2
	pgoyette-compat-0322:1.1.1.2
	pgoyette-compat-0315:1.1.1.2
	netbsd-7-1-2-RELEASE:1.1.1.1
	pgoyette-compat:1.1.1.2.0.14
	pgoyette-compat-base:1.1.1.2
	gcc-6-4-0:1.1.1.2
	netbsd-7-1-1-RELEASE:1.1.1.1
	gcc-5-5-0:1.1.1.2
	matt-nb8-mediatek:1.1.1.2.0.12
	matt-nb8-mediatek-base:1.1.1.2
	perseant-stdc-iso10646:1.1.1.2.0.10
	perseant-stdc-iso10646-base:1.1.1.2
	netbsd-8:1.1.1.2.0.8
	netbsd-8-base:1.1.1.2
	prg-localcount2-base3:1.1.1.2
	prg-localcount2-base2:1.1.1.2
	prg-localcount2-base1:1.1.1.2
	prg-localcount2:1.1.1.2.0.6
	prg-localcount2-base:1.1.1.2
	pgoyette-localcount-20170426:1.1.1.2
	bouyer-socketcan-base1:1.1.1.2
	pgoyette-localcount-20170320:1.1.1.2
	netbsd-7-1:1.1.1.1.0.14
	netbsd-7-1-RELEASE:1.1.1.1
	netbsd-7-1-RC2:1.1.1.1
	netbsd-7-nhusb-base-20170116:1.1.1.1
	bouyer-socketcan:1.1.1.2.0.4
	bouyer-socketcan-base:1.1.1.2
	pgoyette-localcount-20170107:1.1.1.2
	netbsd-7-1-RC1:1.1.1.1
	pgoyette-localcount-20161104:1.1.1.2
	netbsd-7-0-2-RELEASE:1.1.1.1
	localcount-20160914:1.1.1.2
	netbsd-7-nhusb:1.1.1.1.0.12
	netbsd-7-nhusb-base:1.1.1.1
	pgoyette-localcount-20160806:1.1.1.2
	pgoyette-localcount-20160726:1.1.1.2
	pgoyette-localcount:1.1.1.2.0.2
	pgoyette-localcount-base:1.1.1.2
	gcc-5-4-0:1.1.1.2
	netbsd-7-0-1-RELEASE:1.1.1.1
	gcc-5-3-0:1.1.1.2
	netbsd-7-0:1.1.1.1.0.10
	netbsd-7-0-RELEASE:1.1.1.1
	gcc-4-8-5-pre-gcc-old-import:1.1.1.1
	netbsd-7-0-RC3:1.1.1.1
	netbsd-7-0-RC2:1.1.1.1
	post-gcc-4-8-5-merge:1.1.1.1
	gcc-4-8-5:1.1.1.1
	netbsd-7-0-RC1:1.1.1.1
	gcc-4-8-4:1.1.1.1
	gcc-4-8-20141009:1.1.1.1
	tls-maxphys-base:1.1.1.1
	tls-maxphys:1.1.1.1.0.8
	netbsd-7:1.1.1.1.0.6
	netbsd-7-base:1.1.1.1
	gcc-4-8-3:1.1.1.1
	yamt-pagecache:1.1.1.1.0.4
	yamt-pagecache-base9:1.1.1.1
	tls-earlyentropy:1.1.1.1.0.2
	tls-earlyentropy-base:1.1.1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1
	riastradh-drm2-base3:1.1.1.1
	gcc-4-8-3-pre-r208254:1.1.1.1
	gcc-4-8-3-pre-r206687:1.1.1.1
	FSF:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2014.03.01.08.41.43;	author mrg;	state Exp;
branches
	1.1.1.1;
next	;
commitid	TtaB91QNTknAoYqx;

1.1.1.1
date	2014.03.01.08.41.43;	author mrg;	state Exp;
branches
	1.1.1.1.4.1
	1.1.1.1.8.1;
next	1.1.1.2;
commitid	TtaB91QNTknAoYqx;

1.1.1.2
date	2016.01.24.06.05.41;	author mrg;	state Exp;
branches;
next	1.1.1.3;
commitid	uWWfbLp08zOK79Sy;

1.1.1.3
date	2025.09.13.23.45.57;	author mrg;	state Exp;
branches;
next	;
commitid	KwhwN4krNWa6XBaG;

1.1.1.1.4.1
date	2014.03.01.08.41.43;	author yamt;	state dead;
branches;
next	1.1.1.1.4.2;
commitid	W5NbWi8HaA1uoyBx;

1.1.1.1.4.2
date	2014.05.22.16.35.06;	author yamt;	state Exp;
branches;
next	;
commitid	W5NbWi8HaA1uoyBx;

1.1.1.1.8.1
date	2014.03.01.08.41.43;	author tls;	state dead;
branches;
next	1.1.1.1.8.2;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.1.8.2
date	2014.08.19.23.53.12;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;


desc
@@


1.1
log
@Initial revision
@
text
@#!/bin/bash -eu
#
# Script to reproduce a test failure from a dejagnu .log file.
#
# Contributed by Diego Novillo <dnovillo@@google.com>
#
# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING.  If not, write to
# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

# This script will search a line starting with 'spawn' that includes the
# pattern you are looking for (typically a source file name).
#
# Once it finds that pattern, it re-executes the whole command
# in the spawn line.  If the pattern matches more than one spawn
# command, it asks which one you want.

if [ $# -lt 2 ] ; then
    echo "usage: $0 [--debug|--debug-tui] pattern file.log [additional-args]"
    echo
    echo "Finds the 'spawn' line matching PATTERN in FILE.LOG and executes"
    echo "the command with any arguments in ADDITIONAL-ARGS."
    echo
    echo "If --debug is used, the compiler is invoked with -wrapper gdb,--args"
    echo "If --debug-tui is used, the compiler is invoked with -wrapper "\
         "gdb,--tui,--args"
    exit 1
fi

if [ "$1" == "--debug" ] ; then
    debug_args="-wrapper gdb,--args"
    shift
elif [ "$1" == "--debug-tui" ] ; then
    debug_args="-wrapper gdb,--tui,--args"
    shift
else
    debug_args=""
fi
pattern="$1"
logf="$2"
shift 2

# Find the commands in LOGF that reference PATTERN.
lines=$(grep -E "^spawn .*$pattern" $logf | sed -e 's/^spawn //')
if [ -z "$lines" ] ; then
    echo "Could not find a spawn command for pattern $pattern"
    exit 1
fi

# Collect all the command lines into the COMMANDS array.
old_IFS="$IFS"
IFS=""
num_lines=0
for line in $lines ; do
    num_lines=$[$num_lines + 1]
    echo "[$num_lines] $line"
    commands[$num_lines]=$line
done

# If we found more than one line for PATTERN, ask which one we should run.
cmds_to_run='0'
if [ $num_lines -gt 1 ] ; then
    echo
    echo
    echo -n "Enter the list of commands to run or '0' to run them all: "
    read cmds_to_run
fi
if [ "$cmds_to_run" = "0" ] ; then
    cmds_to_run=$(seq 1 $num_lines)
fi
IFS="$old_IFS"

# Finally, execute all the commands we were told to execute.
for cmd_num in $cmds_to_run ; do
    cmd=${commands[$cmd_num]}
    set -x +e
    $cmd $debug_args "$@@"
    set +x -e
done
@


1.1.1.1
log
@import GCC 4.8 branch at r206687.

highlights from: http://gcc.gnu.org/gcc-4.6/changes.html

   GCC now has stricter checks for invalid command-line options
   New -Wunused-but-set-variable and -Wunused-but-set-parameter
      warnings
   Many platforms have been obsoleted
   Link-time optimization improvements
   A new switch -fstack-usage has been added
   A new function attribute leaf was introduced
   A new warning, enabled by -Wdouble-promotion
   Support for selectively enabling and disabling warnings via
      #pragma GCC diagnostic has been added
   There is now experimental support for some features from the
      upcoming C1X revision of the ISO C standard
   Improved experimental support for the upcoming C++0x ISO C++
      standard
   G++ now issues clearer diagnostics in several cases
   Updates for ARM, x86, MIPS, PPC/PPC64, SPARC
   Darwin, FreeBSD, Solaris 2, MinGW and Cygwin now all support
      __float128 on 32-bit and 64-bit x86 targets. [*1]

highlights from: http://gcc.gnu.org/gcc-4.7/changes.html

   The -fconserve-space flag has been deprecated
   Support for a new parameter --param case-values-threshold=n
      was added
   Interprocedural and Link-time optimization improvements
   A new built-in, __builtin_assume_aligned, has been added
   A new warning option -Wunused-local-typedefs was added
   A new experimental command-line option -ftrack-macro-expansion
      was added
   Support for atomic operations specifying the C++11/C11 memory
      model has been added
   There is support for some more features from the C11 revision
      of the ISO C standard
   Improved experimental support for the new ISO C++ standard,
      C++11
   Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*
   A new option (-grecord-gcc-switches) was added

highlights from: http://gcc.gnu.org/gcc-4.8/changes.html

   GCC now uses C++ as its implementation language.  This means
      that to build GCC from sources, you will need a C++
      compiler that understands C++ 2003
   DWARF4 is now the default when generating DWARF debug
      information
   A new general optimization level, -Og, has been introduced
   A new option -ftree-partial-pre was added
   The option -fconserve-space has been removed
   The command-line options -fipa-struct-reorg and
      -fipa-matrix-reorg have been removed
   Interprocedural and Link-time optimization improvements
   AddressSanitizer, a fast memory error detector, has been
      added  [*2]
   A new -Wsizeof-pointer-memaccess warning has been added
   G++ now supports a -std=c++1y option for experimentation
      with features proposed for the next revision of the
      standard, expected around 2014
   Improved experimental support for the new ISO C++ standard,
      C++11
   A new port has been added to support AArch64
   Updates for ARM, x86, MIPS, PPC/PPC64, SH, SPARC, TILE*


[*1] we should support this too!
[*2] we should look into this.
     https://code.google.com/p/address-sanitizer/
@
text
@@


1.1.1.2
log
@import GCC 5.3.0.  see these urls for details which are too large to
include here:

	http://gcc.gnu.org/gcc-4.9/changes.html
	http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
 which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
 floating-point register support is now obsolete and has been removed.
 It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
 The meaning of the -mfp64 command-line option has changed. It is now
 used to enable the FP64A and FP64 ABI extensions.
@
text
@d7 1
a7 1
# Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
d59 1
a59 3
lines=$(grep -E "^spawn .*$pattern" $logf \
        | sed -e 's/^spawn -ignore SIGHUP //' \
        | sed -e 's/^spawn //')
@


1.1.1.3
log
@initial import of GCC 14.3.0.

major changes in GCC 13:
- improved sanitizer
- zstd debug info compression
- LTO improvements
- SARIF based diagnostic support
- new warnings: -Wxor-used-as-pow, -Wenum-int-mismatch, -Wself-move,
  -Wdangling-reference
- many new -Wanalyzer* specific warnings
- enhanced warnings: -Wpessimizing-move, -Wredundant-move
- new attributes to mark file descriptors, c++23 "assume"
- several C23 features added
- several C++23 features added
- many new features for Arm, x86, RISC-V

major changes in GCC 14:
- more strict C99 or newer support
- ia64* marked deprecated (but seemingly still in GCC 15.)
- several new hardening features
- support for "hardbool", which can have user supplied values of true/false
- explicit support for stack scrubbing upon function exit
- better auto-vectorisation support
- added clang-compatible __has_feature and __has_extension
- more C23, including -std=c23
- several C++26 features added
- better diagnostics in C++ templates
- new warnings: -Wnrvo, Welaborated-enum-base
- many new features for Arm, x86, RISC-V
- possible ABI breaking change for SPARC64 and small structures with arrays
  of floats.
@
text
@d45 1
a45 1
if [ "$1" = "--debug" ] ; then
d48 1
a48 1
elif [ "$1" = "--debug-tui" ] ; then
@


1.1.1.1.8.1
log
@file repro_fail was added on branch tls-maxphys on 2014-08-19 23:53:12 +0000
@
text
@d1 94
@


1.1.1.1.8.2
log
@Rebase to HEAD as of a few days ago.
@
text
@a0 94
#!/bin/bash -eu
#
# Script to reproduce a test failure from a dejagnu .log file.
#
# Contributed by Diego Novillo <dnovillo@@google.com>
#
# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING.  If not, write to
# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

# This script will search a line starting with 'spawn' that includes the
# pattern you are looking for (typically a source file name).
#
# Once it finds that pattern, it re-executes the whole command
# in the spawn line.  If the pattern matches more than one spawn
# command, it asks which one you want.

if [ $# -lt 2 ] ; then
    echo "usage: $0 [--debug|--debug-tui] pattern file.log [additional-args]"
    echo
    echo "Finds the 'spawn' line matching PATTERN in FILE.LOG and executes"
    echo "the command with any arguments in ADDITIONAL-ARGS."
    echo
    echo "If --debug is used, the compiler is invoked with -wrapper gdb,--args"
    echo "If --debug-tui is used, the compiler is invoked with -wrapper "\
         "gdb,--tui,--args"
    exit 1
fi

if [ "$1" == "--debug" ] ; then
    debug_args="-wrapper gdb,--args"
    shift
elif [ "$1" == "--debug-tui" ] ; then
    debug_args="-wrapper gdb,--tui,--args"
    shift
else
    debug_args=""
fi
pattern="$1"
logf="$2"
shift 2

# Find the commands in LOGF that reference PATTERN.
lines=$(grep -E "^spawn .*$pattern" $logf | sed -e 's/^spawn //')
if [ -z "$lines" ] ; then
    echo "Could not find a spawn command for pattern $pattern"
    exit 1
fi

# Collect all the command lines into the COMMANDS array.
old_IFS="$IFS"
IFS=""
num_lines=0
for line in $lines ; do
    num_lines=$[$num_lines + 1]
    echo "[$num_lines] $line"
    commands[$num_lines]=$line
done

# If we found more than one line for PATTERN, ask which one we should run.
cmds_to_run='0'
if [ $num_lines -gt 1 ] ; then
    echo
    echo
    echo -n "Enter the list of commands to run or '0' to run them all: "
    read cmds_to_run
fi
if [ "$cmds_to_run" = "0" ] ; then
    cmds_to_run=$(seq 1 $num_lines)
fi
IFS="$old_IFS"

# Finally, execute all the commands we were told to execute.
for cmd_num in $cmds_to_run ; do
    cmd=${commands[$cmd_num]}
    set -x +e
    $cmd $debug_args "$@@"
    set +x -e
done
@


1.1.1.1.4.1
log
@file repro_fail was added on branch yamt-pagecache on 2014-05-22 16:35:06 +0000
@
text
@d1 94
@


1.1.1.1.4.2
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@a0 94
#!/bin/bash -eu
#
# Script to reproduce a test failure from a dejagnu .log file.
#
# Contributed by Diego Novillo <dnovillo@@google.com>
#
# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING.  If not, write to
# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

# This script will search a line starting with 'spawn' that includes the
# pattern you are looking for (typically a source file name).
#
# Once it finds that pattern, it re-executes the whole command
# in the spawn line.  If the pattern matches more than one spawn
# command, it asks which one you want.

if [ $# -lt 2 ] ; then
    echo "usage: $0 [--debug|--debug-tui] pattern file.log [additional-args]"
    echo
    echo "Finds the 'spawn' line matching PATTERN in FILE.LOG and executes"
    echo "the command with any arguments in ADDITIONAL-ARGS."
    echo
    echo "If --debug is used, the compiler is invoked with -wrapper gdb,--args"
    echo "If --debug-tui is used, the compiler is invoked with -wrapper "\
         "gdb,--tui,--args"
    exit 1
fi

if [ "$1" == "--debug" ] ; then
    debug_args="-wrapper gdb,--args"
    shift
elif [ "$1" == "--debug-tui" ] ; then
    debug_args="-wrapper gdb,--tui,--args"
    shift
else
    debug_args=""
fi
pattern="$1"
logf="$2"
shift 2

# Find the commands in LOGF that reference PATTERN.
lines=$(grep -E "^spawn .*$pattern" $logf | sed -e 's/^spawn //')
if [ -z "$lines" ] ; then
    echo "Could not find a spawn command for pattern $pattern"
    exit 1
fi

# Collect all the command lines into the COMMANDS array.
old_IFS="$IFS"
IFS=""
num_lines=0
for line in $lines ; do
    num_lines=$[$num_lines + 1]
    echo "[$num_lines] $line"
    commands[$num_lines]=$line
done

# If we found more than one line for PATTERN, ask which one we should run.
cmds_to_run='0'
if [ $num_lines -gt 1 ] ; then
    echo
    echo
    echo -n "Enter the list of commands to run or '0' to run them all: "
    read cmds_to_run
fi
if [ "$cmds_to_run" = "0" ] ; then
    cmds_to_run=$(seq 1 $num_lines)
fi
IFS="$old_IFS"

# Finally, execute all the commands we were told to execute.
for cmd_num in $cmds_to_run ; do
    cmd=${commands[$cmd_num]}
    set -x +e
    $cmd $debug_args "$@@"
    set +x -e
done
@


