[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-project/creduce] 27d567: Added support for OpenCL parsing



  Branch: refs/heads/llvm-svn-compatible
  Home:   https://github.com/csmith-project/creduce
  Commit: 27d5676c9630fce22a0b94bf260a94f33b6b29ea
      https://github.com/csmith-project/creduce/commit/27d5676c9630fce22a0b94bf260a94f33b6b29ea
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-07-29 (Wed, 29 Jul 2015)

  Changed paths:
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h

  Log Message:
  -----------
  Added support for OpenCL parsing


  Commit: 0a3b64888e2409f3639a0e8b55e9ca13dca6ff44
      https://github.com/csmith-project/creduce/commit/0a3b64888e2409f3639a0e8b55e9ca13dca6ff44
  Author: Moritz Pflanzer <mp3414@ic.ac.uk>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/RemoveUnusedFunction.cpp

  Log Message:
  -----------
  Added OpenCL kernels as unremovable functions

Since for C the main function was excluded from removal it seems natural
to preserve the OpenCL kernels as well. They might be called from the
host.


  Commit: f2c4bbec06b8f64f7f5dab2322c6754a5284bf91
      https://github.com/csmith-project/creduce/commit/f2c4bbec06b8f64f7f5dab2322c6754a5284bf91
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h

  Log Message:
  -----------
  Added function to check for OpenCL LangOpts


  Commit: 3175d2fe4527d017a2fd69917a9df5d1194f28b1
      https://github.com/csmith-project/creduce/commit/3175d2fe4527d017a2fd69917a9df5d1194f28b1
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/ReplaceDependentName.cpp

  Log Message:
  -----------
  Do not use replace-dependent-name for OpenCL


  Commit: a00613dd697cecac1262f16c31195d26022bfbe0
      https://github.com/csmith-project/creduce/commit/a00613dd697cecac1262f16c31195d26022bfbe0
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/ReplaceDependentTypedef.cpp

  Log Message:
  -----------
  Do not use replace-dependent-typedef for OpenCL


  Commit: 396f035b03eb793f3bf07cdf1c0acb5196b30092
      https://github.com/csmith-project/creduce/commit/396f035b03eb793f3bf07cdf1c0acb5196b30092
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/SimplifyDependentTypedef.cpp

  Log Message:
  -----------
  Do not use simplify-dependent-typedef for OpenCL


  Commit: 73bb22e2031961a13238299b1a0515e47dc75c27
      https://github.com/csmith-project/creduce/commit/73bb22e2031961a13238299b1a0515e47dc75c27
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/SimplifyNestedClass.cpp

  Log Message:
  -----------
  Do not use simplify-nested-class for OpenCL


  Commit: bba11cf0d7bc5b95e87a1460a9c3f2d48d7a3d27
      https://github.com/csmith-project/creduce/commit/bba11cf0d7bc5b95e87a1460a9c3f2d48d7a3d27
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/SimplifyRecursiveTemplateInstantiation.cpp

  Log Message:
  -----------
  Do not use simplify-recursive-template-instantiation for OpenCL


  Commit: 475012c15f7e4a3bfd9732dabf3c5891b083e91a
      https://github.com/csmith-project/creduce/commit/475012c15f7e4a3bfd9732dabf3c5891b083e91a
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/TemplateArgToInt.cpp

  Log Message:
  -----------
  Do not use template-arg-to-int for OpenCL


  Commit: e79951d4719af1fb1732e408d1de40990c32de2a
      https://github.com/csmith-project/creduce/commit/e79951d4719af1fb1732e408d1de40990c32de2a
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/TemplateNonTypeArgToInt.cpp

  Log Message:
  -----------
  Do not use template-non-type-arg-to-int for OpenCL


  Commit: d8c8ddc985a746c5746a222781f2b64b2ad45291
      https://github.com/csmith-project/creduce/commit/d8c8ddc985a746c5746a222781f2b64b2ad45291
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/ClassTemplateToClass.cpp
    M clang_delta/InstantiateTemplateParam.cpp
    M clang_delta/InstantiateTemplateTypeParamToInt.cpp
    M clang_delta/ReduceClassTemplateParameter.cpp
    M clang_delta/RemoveBaseClass.cpp
    M clang_delta/RemoveCtorInitializer.cpp
    M clang_delta/RemoveTrivialBaseTemplate.cpp
    M clang_delta/RemoveUnresolvedBase.cpp
    M clang_delta/RemoveUnusedOuterClass.cpp
    M clang_delta/RenameClass.cpp
    M clang_delta/ReplaceClassWithBaseTemplateSpec.cpp
    M clang_delta/ReplaceDerivedClass.cpp

  Log Message:
  -----------
  Disabled CXX exclusive transformations for OpenCL


  Commit: c82954a6d503bba37686f4d6676ce9bff5655166
      https://github.com/csmith-project/creduce/commit/c82954a6d503bba37686f4d6676ce9bff5655166
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/RenameFun.cpp

  Log Message:
  -----------
  Do not rename the names of OpenCL kernels


  Commit: 9e2d0fe60ae6a49ac4c96c09f9e25cd17962391f
      https://github.com/csmith-project/creduce/commit/9e2d0fe60ae6a49ac4c96c09f9e25cd17962391f
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/ParamToGlobal.cpp

  Log Message:
  -----------
  Do not use param-to-global for OpenCL


  Commit: 0de64e5230b2a48596cac0642f4adf7ce93fd50f
      https://github.com/csmith-project/creduce/commit/0de64e5230b2a48596cac0642f4adf7ce93fd50f
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/LocalToGlobal.cpp

  Log Message:
  -----------
  Do not use local-to-global for OpenCL


  Commit: cf47f5e582a384c963dbee97a81305959461a921
      https://github.com/csmith-project/creduce/commit/cf47f5e582a384c963dbee97a81305959461a921
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M clang_delta/ClassTemplateToClass.cpp
    M clang_delta/InstantiateTemplateParam.cpp
    M clang_delta/InstantiateTemplateTypeParamToInt.cpp
    M clang_delta/LocalToGlobal.cpp
    M clang_delta/ParamToGlobal.cpp
    M clang_delta/ReduceClassTemplateParameter.cpp
    M clang_delta/RemoveBaseClass.cpp
    M clang_delta/RemoveCtorInitializer.cpp
    M clang_delta/RemoveTrivialBaseTemplate.cpp
    M clang_delta/RemoveUnresolvedBase.cpp
    M clang_delta/RemoveUnusedFunction.cpp
    M clang_delta/RemoveUnusedOuterClass.cpp
    M clang_delta/RenameClass.cpp
    M clang_delta/RenameFun.cpp
    M clang_delta/ReplaceClassWithBaseTemplateSpec.cpp
    M clang_delta/ReplaceDependentName.cpp
    M clang_delta/ReplaceDependentTypedef.cpp
    M clang_delta/ReplaceDerivedClass.cpp
    M clang_delta/SimplifyDependentTypedef.cpp
    M clang_delta/SimplifyNestedClass.cpp
    M clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
    M clang_delta/TemplateArgToInt.cpp
    M clang_delta/TemplateNonTypeArgToInt.cpp
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h

  Log Message:
  -----------
  Merge pull request #67 from mpflanzer/opencl-transformation-fixes

Disable some clang_delta transformations for OpenCL


  Commit: a5ead7f02da7a32307ff08e2a4d25d359ecc1769
      https://github.com/csmith-project/creduce/commit/a5ead7f02da7a32307ff08e2a4d25d359ecc1769
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-04 (Tue, 04 Aug 2015)

  Changed paths:
    M clang_delta/LocalToGlobal.cpp
    M clang_delta/RewriteUtils.cpp

  Log Message:
  -----------
  remove the variable definition from its spelling loc

When rewrite non-preprocessed files, we need to be
careful about macros. We should remove the variable
definition from its spelling location if the definition
comes from a macro.


  Commit: 33c487e08f636a4647c565064da1aefe1b18ec42
      https://github.com/csmith-project/creduce/commit/33c487e08f636a4647c565064da1aefe1b18ec42
  Author: Moritz Pflanzer <moritz@pflanzer.eu>
  Date:   2015-08-07 (Fri, 07 Aug 2015)

  Changed paths:
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h

  Log Message:
  -----------
  Updated code style


  Commit: 2e9df118660b8b127604c0e2441b91c34113add0
      https://github.com/csmith-project/creduce/commit/2e9df118660b8b127604c0e2441b91c34113add0
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-07 (Fri, 07 Aug 2015)

  Changed paths:
    M clang_delta/TransformationManager.cpp

  Log Message:
  -----------
  Merge pull request #64 from mpflanzer/opencl

OpenCL support for clang_delta


  Commit: 1e2db9d268fd8282203aaba59fb7fba255883c39
      https://github.com/csmith-project/creduce/commit/1e2db9d268fd8282203aaba59fb7fba255883c39
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-07 (Fri, 07 Aug 2015)

  Changed paths:
    M clang_delta/TransformationManager.cpp

  Log Message:
  -----------
  Minor style fix

use two-space indent instead of four


  Commit: 0856335ee369ca243d177c4183c168f68c5ceb6e
      https://github.com/csmith-project/creduce/commit/0856335ee369ca243d177c4183c168f68c5ceb6e
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-23 (Sun, 23 Aug 2015)

  Changed paths:
    M clang_delta/UnionToStruct.cpp

  Log Message:
  -----------
  Fixed a crash in UnionToStruct

Patched by Johan Bengtsson

"In rewriteOneVarDecl the code assumed that the new variable was
initialized using an initializer list. If the variable was initialized
by copying another variable of the same type the transform would crash."


  Commit: b5bbdaf82b90ea32656c2ebb1d6fc48402df10d0
      https://github.com/csmith-project/creduce/commit/b5bbdaf82b90ea32656c2ebb1d6fc48402df10d0
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-23 (Sun, 23 Aug 2015)

  Changed paths:
    M clang_delta/CMakeLists.txt

  Log Message:
  -----------
  Only define NDEBUG when building in release mode

Patch provided by Johan Bengtsson

"Only define NDEBUG when building in release mode. In debug-node define
ENABLE_TRANS_ASSERT instead, to enable all assertions."


  Commit: e8c56acc30f15ac6261454bba8159af7f3c27dd2
      https://github.com/csmith-project/creduce/commit/e8c56acc30f15ac6261454bba8159af7f3c27dd2
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-08-23 (Sun, 23 Aug 2015)

  Changed paths:
    M CMakeLists.txt
    M clang_delta/CMakeLists.txt
    M creduce/CMakeLists.txt

  Log Message:
  -----------
  Fixed some issues in the CMake configuration

Patched by Johan Bengtsson

"There were three main problems with using the cmake configuration on
linux.

1) The names of the needed programs are hardcoded to end in .exe instead
of using ${CMAKE_EXECUTABLE_SUFFIX}.

2) The clang libraries are listed in the wrong order for a one-pass
linker.

3) GCC and Clang needs -std=c++11 and -fno-rtti

This change set addresses all of those problems."


  Commit: 04b1f316d732521e1942f88dbe81b05d8f4b6f38
      https://github.com/csmith-project/creduce/commit/04b1f316d732521e1942f88dbe81b05d8f4b6f38
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-14 (Mon, 14 Sep 2015)

  Changed paths:
    M .travis.yml
    M INSTALL
    M configure
    M configure.ac
    M scripts/travis_deps.sh

  Log Message:
  -----------
  Use prebuilt LLVM 3.7 binaries.

Update "configure.ac" and documentation to refer to LLVM 3.7.


  Commit: 78aeaf2a460f79f8128ad9cc56fb330252c837c0
      https://github.com/csmith-project/creduce/commit/78aeaf2a460f79f8128ad9cc56fb330252c837c0
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-14 (Mon, 14 Sep 2015)

  Changed paths:
    M scripts/travis_deps.sh

  Log Message:
  -----------
  Install package "llvm-3.7-dev".

We need the llvm-3.7-dev package for LLVM libraries and headers.

This was somehow missing from the list of packages to install until now;
whoops!  I discovered the problem when I tried to build C-Reduce on a
host that had no version of LLVM already installed.


  Commit: bea2bc2727305d6b2868e4f1bd06e9a6f18f8317
      https://github.com/csmith-project/creduce/commit/bea2bc2727305d6b2868e4f1bd06e9a6f18f8317
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-14 (Mon, 14 Sep 2015)

  Changed paths:
    M .travis.yml
    M INSTALL
    M clang_delta/RemoveNamespace.cpp
    M clang_delta/RemoveNestedFunction.cpp
    M clang_delta/RemoveUnusedFunction.cpp
    M clang_delta/ReplaceCallExpr.cpp
    M clang_delta/SimpleInliner.cpp
    M clang_delta/Transformation.cpp
    M configure
    M configure.ac
    M scripts/travis_deps.sh

  Log Message:
  -----------
  Merge support for LLVM 3.7.


  Commit: e860b0d79926627514156f2a1ae633a8538af5a8
      https://github.com/csmith-project/creduce/commit/e860b0d79926627514156f2a1ae633a8538af5a8
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-14 (Mon, 14 Sep 2015)

  Changed paths:
    M clang_delta/CMakeLists.txt

  Log Message:
  -----------
  Require LLVM 3.7+.


  Commit: d947739cb194fe2f237d15eeeac7356e1b26ce67
      https://github.com/csmith-project/creduce/commit/d947739cb194fe2f237d15eeeac7356e1b26ce67
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-14 (Mon, 14 Sep 2015)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Ignore contents of "autom4te.cache" directory.


  Commit: 813e75dd5b0d6fe2525e952f63b4e7a6d1fa4b00
      https://github.com/csmith-project/creduce/commit/813e75dd5b0d6fe2525e952f63b4e7a6d1fa4b00
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-09-19 (Sat, 19 Sep 2015)

  Changed paths:
    M clang_delta/RewriteUtils.cpp

  Log Message:
  -----------
  Fixed a crash due to rewrite macros

Get the expansion location for the EndLoc of
the expression.


  Commit: 3308b62532264662918a6bebb3fa04353cda997a
      https://github.com/csmith-project/creduce/commit/3308b62532264662918a6bebb3fa04353cda997a
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-21 (Mon, 21 Sep 2015)

  Changed paths:
    M clang_delta/ClassTemplateToClass.cpp
    M clang_delta/EmptyStructToInt.cpp
    M clang_delta/EmptyStructToInt.h
    M clang_delta/InstantiateTemplateParam.cpp
    M clang_delta/InstantiateTemplateTypeParamToInt.cpp
    M clang_delta/LocalToGlobal.cpp
    M clang_delta/ParamToGlobal.cpp
    M clang_delta/ReduceClassTemplateParameter.cpp
    M clang_delta/RemoveBaseClass.cpp
    M clang_delta/RemoveCtorInitializer.cpp
    M clang_delta/RemoveTrivialBaseTemplate.cpp
    M clang_delta/RemoveUnresolvedBase.cpp
    M clang_delta/RemoveUnusedOuterClass.cpp
    M clang_delta/RemoveUnusedStructField.cpp
    M clang_delta/RenameClass.cpp
    M clang_delta/RenameFun.cpp
    M clang_delta/ReplaceClassWithBaseTemplateSpec.cpp
    M clang_delta/ReplaceDependentName.cpp
    M clang_delta/ReplaceDependentTypedef.cpp
    M clang_delta/ReplaceDerivedClass.cpp
    M clang_delta/RewriteUtils.cpp
    M clang_delta/RewriteUtils.h
    M clang_delta/SimplifyDependentTypedef.cpp
    M clang_delta/SimplifyNestedClass.cpp
    M clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
    M clang_delta/TemplateArgToInt.cpp
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h
    M clang_delta/UnionToStruct.cpp
    M clex/driver.c
    M creduce/Makefile.am
    M creduce/creduce.in
    M creduce/creduce_utils.pm
    M creduce/pass_blank.pm
    M creduce/pass_clang.pm
    M creduce/pass_clex.pm
    M creduce/pass_indent.pm
    M creduce/pass_lines.pm

  Log Message:
  -----------
  Update copyright years.


  Commit: f332cc37cc46a75aee4622e2fb60107b40588fbe
      https://github.com/csmith-project/creduce/commit/f332cc37cc46a75aee4622e2fb60107b40588fbe
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-21 (Mon, 21 Sep 2015)

  Changed paths:
    M Makefile.am
    M Makefile.in
    M clang_delta/Makefile.am
    M clang_delta/Makefile.in
    M clex/Makefile.am
    M clex/Makefile.in
    M creduce/Makefile.am
    M creduce/Makefile.in
    M tests/Makefile.am
    M tests/Makefile.in

  Log Message:
  -----------
  Add CMake- and Windows-related files to dists.


  Commit: d568cb7bfdbba08a348b8763dbc1f2a29928056b
      https://github.com/csmith-project/creduce/commit/d568cb7bfdbba08a348b8763dbc1f2a29928056b
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-09-23 (Wed, 23 Sep 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  avoiding printing the error about a pass not changing anything when that pass is the indent one


  Commit: 6f03438778ffd0d10c34596e0cc4628cdf9d7032
      https://github.com/csmith-project/creduce/commit/6f03438778ffd0d10c34596e0cc4628cdf9d7032
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-23 (Wed, 23 Sep 2015)

  Changed paths:
    M m4/ax_llvm.m4

  Log Message:
  -----------
  Be more aggressive about cleaning C++ compiler flags.

In particular, remove all warning-related options ("-W...").  While I
was in there, I tuned it up to also remove options of the form "-w",
"-g...", and "-O...".  We already removed "-pedantic...".

This change was instigated by the LLVM 3.7.0 binary distribution for
Ubuntu 14.04, available from
http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz

That binary distribution was compiled with the clang option
"-Wcovered-switch-default", which is not implemented by g++.

g++ is the compiler that our configure scripts choose by default for
building C-Reduce.  (This is standard behavior for Autoconf-based
projects.)

This means that if someone installs the precompiled LLVM 3.7.0
distribution on Ubuntu 14, the "out of the box build experience" for
C-Reduce fails at configure time, when we try to build the test LLVM
program (with g++).

No more trying to be clever about which -W options to keep and which to
discard!  Get rid of them all!


  Commit: 593422b9c23b56faef426060999a252800517df9
      https://github.com/csmith-project/creduce/commit/593422b9c23b56faef426060999a252800517df9
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-23 (Wed, 23 Sep 2015)

  Changed paths:
    M m4/ax_llvm.m4

  Log Message:
  -----------
  Use a better pipeline to process LLVM --cxxflags.

The 'sed' command in my previous commit is not portable.  At a minimum,
some sed's use "[[:<:]]" and "[[:>:]]" to match word boundaries, and
others use "\b".  In addition, the GNU Autoconf documentation says that
"^" is not portable.  Sigh.

So this commit replaces the 'sed' with a pipeline that uses 'grep' to do
the matching.  This is perhaps more portable, and bonus, it can be
written in a more human-readable way.  Huzzah!

The main trick is the new pipeline is to put the command-line options on
separate lines, using 'sed', so that we can use 'grep' to match the
options (lines) we want to remove.  Then the pipeline puts the
command-line options back onto a single line using 'xargs'.


  Commit: c0c6cb05fbc4117326a7ef11506a2e15f00a9bec
      https://github.com/csmith-project/creduce/commit/c0c6cb05fbc4117326a7ef11506a2e15f00a9bec
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-23 (Wed, 23 Sep 2015)

  Changed paths:
    M clang_delta/Makefile.am

  Log Message:
  -----------
  Use a better pipeline to process LLVM --cxxflags.

Copy the new parsing pipeline from "m4/ax_llvm.m4" to here.


  Commit: ec89a4b836da6cad321e95d12527572c00de58fe
      https://github.com/csmith-project/creduce/commit/ec89a4b836da6cad321e95d12527572c00de58fe
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-23 (Wed, 23 Sep 2015)

  Changed paths:
    M clang_delta/Makefile.in
    M configure

  Log Message:
  -----------
  Regenerate build files.

Use the new LLVM --cxxflags parsing stuff.


  Commit: 5fa0685e968a12467f77b905874189a5304d599c
      https://github.com/csmith-project/creduce/commit/5fa0685e968a12467f77b905874189a5304d599c
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-24 (Thu, 24 Sep 2015)

  Changed paths:
    M clang_delta/Makefile.am
    M clang_delta/Makefile.in
    M configure
    M m4/ax_llvm.m4

  Log Message:
  -----------
  Fix new LLVM --cxxflags parsing for OS X.

Guess what?  The command "sed -e 's/[ \t][ \t]*/\n/g'" doesn't work with
the `sed' that comes with OS X 10.10.5.  Sigh.

This commit replaces that command with a `tr | sed | tr' pipeline that
works on OS X.


  Commit: 5fd7232a6d9f930905383bd8714677a317fdae4a
      https://github.com/csmith-project/creduce/commit/5fd7232a6d9f930905383bd8714677a317fdae4a
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-25 (Fri, 25 Sep 2015)

  Changed paths:
    M creduce/pass_clang.pm
    M creduce/pass_clang_binsrch.pm
    M creduce/pass_clex.pm

  Log Message:
  -----------
  Handle cases in which `bindir' references a symlink.

When we check if the `creduce' script is an installed copy, we obtain
the realpath of directory containing the script.

Previously we compared that realpath to the configured `bindir'.  That
test doesn't work right if `bindir' traverses a symbolic link.  Fix the
test by comparing to the realpath of `bindir'.

Thanks to Christian Schreiner for discovering this bug and submitting a
patch.  This commit is a tweaked version of Christian's patch.


  Commit: f4290de1903b68f1c1a3f51645731058f3559e69
      https://github.com/csmith-project/creduce/commit/f4290de1903b68f1c1a3f51645731058f3559e69
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-09-28 (Mon, 28 Sep 2015)

  Changed paths:
    M CMakeLists.txt
    M configure
    M version.m4

  Log Message:
  -----------
  Increment version number to 2.5.0.


  Commit: 6518fdee8975f103b07e071a18a30a741d181cfb
      https://github.com/csmith-project/creduce/commit/6518fdee8975f103b07e071a18a30a741d181cfb
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M clex/driver.c

  Log Message:
  -----------
  reformat


  Commit: 5682b908b2b90d450d751c28c577b61ec0b8b8fd
      https://github.com/csmith-project/creduce/commit/5682b908b2b90d450d751c28c577b61ec0b8b8fd
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-08 (Thu, 08 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  this typo must have been there for a while


  Commit: 7d70aa0c1cc814d83738c034dbd835dc1c6a1619
      https://github.com/csmith-project/creduce/commit/7d70aa0c1cc814d83738c034dbd835dc1c6a1619
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-14 (Wed, 14 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  make c-reduce a little bit more friendly and informative


  Commit: 00b0fbe32e7d4c275179d998510856787defe61c
      https://github.com/csmith-project/creduce/commit/00b0fbe32e7d4c275179d998510856787defe61c
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-14 (Wed, 14 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  teach C-Reduce to work when file_to_reduce is not in the CWD

improve --help output just a bit more


  Commit: 7e60a2b14228d2a2688fab1ba1fe6c3640811407
      https://github.com/csmith-project/creduce/commit/7e60a2b14228d2a2688fab1ba1fe6c3640811407
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-18 (Sun, 18 Oct 2015)

  Changed paths:
    M creduce/creduce_regexes.pm

  Log Message:
  -----------
  turn class into struct


  Commit: 0bfd95402e126293bb4f7df1435770f66da98bb1
      https://github.com/csmith-project/creduce/commit/0bfd95402e126293bb4f7df1435770f66da98bb1
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-19 (Mon, 19 Oct 2015)

  Changed paths:
    M creduce/creduce.in
    M creduce/creduce_utils.pm
    M creduce/pass_clang.pm
    M creduce/pass_clang_binsrch.pm
    A scripts/localize_headers

  Log Message:
  -----------
  multifile reduction


  Commit: f0630e4374143f8cdf6b076e02f26d101444078c
      https://github.com/csmith-project/creduce/commit/f0630e4374143f8cdf6b076e02f26d101444078c
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-19 (Mon, 19 Oct 2015)

  Changed paths:
    M INSTALL

  Log Message:
  -----------
  note about precompiled packages


  Commit: 6b71ee263900a013b93d35be9e3e843c67672908
      https://github.com/csmith-project/creduce/commit/6b71ee263900a013b93d35be9e3e843c67672908
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-10-20 (Tue, 20 Oct 2015)

  Changed paths:
    M clang_delta/AggregateToScalar.cpp
    M clang_delta/BinOpSimplification.cpp
    M clang_delta/CallExprToValue.cpp
    M clang_delta/ClassTemplateToClass.cpp
    M clang_delta/CombineGlobalVarDecl.cpp
    M clang_delta/CombineLocalVarDecl.cpp
    M clang_delta/CopyPropagation.cpp
    M clang_delta/EmptyStructToInt.cpp
    M clang_delta/InstantiateTemplateParam.cpp
    M clang_delta/InstantiateTemplateTypeParamToInt.cpp
    M clang_delta/LiftAssignmentExpr.cpp
    M clang_delta/MoveFunctionBody.cpp
    M clang_delta/MoveGlobalVar.cpp
    M clang_delta/ParamToGlobal.cpp
    M clang_delta/ParamToLocal.cpp
    M clang_delta/ReduceArrayDim.cpp
    M clang_delta/ReduceArraySize.cpp
    M clang_delta/ReduceClassTemplateParameter.cpp
    M clang_delta/ReducePointerLevel.cpp
    M clang_delta/ReducePointerPairs.cpp
    M clang_delta/RemoveAddrTaken.cpp
    M clang_delta/RemoveArray.cpp
    M clang_delta/RemoveBaseClass.cpp
    M clang_delta/RemoveCtorInitializer.cpp
    M clang_delta/RemoveEnumMemberValue.cpp
    M clang_delta/RemoveNamespace.cpp
    M clang_delta/RemoveNestedFunction.cpp
    M clang_delta/RemovePointer.cpp
    M clang_delta/RemoveTrivialBaseTemplate.cpp
    M clang_delta/RemoveUnresolvedBase.cpp
    M clang_delta/RemoveUnusedEnumMember.cpp
    M clang_delta/RemoveUnusedFunction.cpp
    M clang_delta/RemoveUnusedOuterClass.cpp
    M clang_delta/RemoveUnusedStructField.cpp
    M clang_delta/RemoveUnusedVar.cpp
    M clang_delta/RenameCXXMethod.cpp
    M clang_delta/RenameFun.cpp
    M clang_delta/RenameParam.cpp
    M clang_delta/RenameVar.cpp
    M clang_delta/ReplaceArrayIndexVar.cpp
    M clang_delta/ReplaceCallExpr.cpp
    M clang_delta/ReplaceClassWithBaseTemplateSpec.cpp
    M clang_delta/ReplaceDependentName.cpp
    M clang_delta/ReplaceDependentTypedef.cpp
    M clang_delta/ReplaceDerivedClass.cpp
    M clang_delta/ReplaceFunctionDefWithDecl.cpp
    M clang_delta/ReplaceOneLevelTypedefType.cpp
    M clang_delta/ReplaceSimpleTypedef.cpp
    M clang_delta/ReplaceUndefinedFunction.cpp
    M clang_delta/ReturnVoid.cpp
    M clang_delta/SimpleInliner.cpp
    M clang_delta/SimplifyCallExpr.cpp
    M clang_delta/SimplifyCommaExpr.cpp
    M clang_delta/SimplifyDependentTypedef.cpp
    M clang_delta/SimplifyIf.cpp
    M clang_delta/SimplifyNestedClass.cpp
    M clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
    M clang_delta/SimplifyStruct.cpp
    M clang_delta/SimplifyStructUnionDecl.cpp
    M clang_delta/TemplateArgToInt.cpp
    M clang_delta/TemplateNonTypeArgToInt.cpp
    M clang_delta/Transformation.cpp
    M clang_delta/Transformation.h
    M clang_delta/UnifyFunctionDecl.cpp
    M clang_delta/UnionToStruct.cpp

  Log Message:
  -----------
  Rewrite only the main source file

Previously, clang_delta tried to rewrite sources that were
not part of the main source file. This triggered a lot of crashes
when we process non-preprocessed code.

This patch teaches clang_delta to only rewrite the main source file.
The patch is based on the patches sent by Johan and Moritz.


  Commit: 0a7af98d2f9ba26d063509088e41a1164075930c
      https://github.com/csmith-project/creduce/commit/0a7af98d2f9ba26d063509088e41a1164075930c
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-23 (Fri, 23 Oct 2015)

  Changed paths:
    M scripts/localize_headers

  Log Message:
  -----------
  documentation work


  Commit: 6e172731aac52413fa115a104c0057d9f24c18f1
      https://github.com/csmith-project/creduce/commit/6e172731aac52413fa115a104c0057d9f24c18f1
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-23 (Fri, 23 Oct 2015)

  Changed paths:
    M creduce/creduce.in
    M scripts/localize_headers

  Log Message:
  -----------
  tweaks


  Commit: 83a8ffe642509fccbcfd3f6493507d1eb463d2d5
      https://github.com/csmith-project/creduce/commit/83a8ffe642509fccbcfd3f6493507d1eb463d2d5
  Author: Yang Chen <chenyang@cs.utah.edu>
  Date:   2015-10-25 (Sun, 25 Oct 2015)

  Changed paths:
    M clang_delta/RemoveUnusedVar.cpp

  Log Message:
  -----------
  fixed a crash

still try to remove the var decl even if we don't know
which decl group the var decl belongs to.


  Commit: c14f041268801459a930e845d62162d7b692e75b
      https://github.com/csmith-project/creduce/commit/c14f041268801459a930e845d62162d7b692e75b
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-27 (Tue, 27 Oct 2015)

  Changed paths:
    M creduce/creduce.in
    M creduce/pass_lines.pm
    M scripts/localize_headers

  Log Message:
  -----------
  rewrite line delta, fixing at least one serious bug

also, improve localize_headers


  Commit: 69f26b40586f0bfc59dc4a35e12f07db6ef19a77
      https://github.com/csmith-project/creduce/commit/69f26b40586f0bfc59dc4a35e12f07db6ef19a77
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  Insert git hash into output of "creduce --help".


  Commit: fe7b691363e1fec421c034347baf13c67985017d
      https://github.com/csmith-project/creduce/commit/fe7b691363e1fec421c034347baf13c67985017d
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  help message wording tweak


  Commit: afd7a28a6e2ac3fd51eb88512149dc2729855778
      https://github.com/csmith-project/creduce/commit/afd7a28a6e2ac3fd51eb88512149dc2729855778
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M creduce/pass_indent.pm

  Log Message:
  -----------
  fix screwed formatting


  Commit: 9eca0336dddd71dcc10a150f17029d2ce9640ff5
      https://github.com/csmith-project/creduce/commit/9eca0336dddd71dcc10a150f17029d2ce9640ff5
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M INSTALL
    M creduce/pass_indent.pm

  Log Message:
  -----------
  indent and astyle are now optional


  Commit: 298a115850979529d475966826d7d3b7b30ee137
      https://github.com/csmith-project/creduce/commit/298a115850979529d475966826d7d3b7b30ee137
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  oops accidentally merged some unconditional debug output earlier


  Commit: 2a5493dc75cfcef5f25a3498d2cf4ce8878a47b8
      https://github.com/csmith-project/creduce/commit/2a5493dc75cfcef5f25a3498d2cf4ce8878a47b8
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  missing quote


  Commit: 9e210c43334cbd81b1bb61674d145f3ebe00255d
      https://github.com/csmith-project/creduce/commit/9e210c43334cbd81b1bb61674d145f3ebe00255d
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M configure
    M configure.ac

  Log Message:
  -----------
  Separate required and optional run-time dependencies.

Give different kinds of warnings for required and optional run-time
dependencies that are missing at configure time.  The warnings about
missing optional dependencies are softer, along the lines of:
"C-Reduce will use X if you install it in the future."

Previously, we only had required run-time dependencies.


  Commit: d1392bfbb968f946855c6c227bf543a0fe8d1007
      https://github.com/csmith-project/creduce/commit/d1392bfbb968f946855c6c227bf543a0fe8d1007
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M creduce/pass_indent.pm

  Log Message:
  -----------
  only invoke external tool if it was found


  Commit: 1e81b47fc3bb1b44d2a0e49b1e0463b37d5a9c7c
      https://github.com/csmith-project/creduce/commit/1e81b47fc3bb1b44d2a0e49b1e0463b37d5a9c7c
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M creduce/pass_indent.pm

  Log Message:
  -----------
  try to fix it right this time...


  Commit: 970c9f413cb6992471465a1200ff882c5c42d9c2
      https://github.com/csmith-project/creduce/commit/970c9f413cb6992471465a1200ff882c5c42d9c2
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M creduce/creduce.in

  Log Message:
  -----------
  enable some latent code for adding custom passes to the schedule on the command line


  Commit: fd37f9e9a9973bac77ea5875c5be0ef24762dd20
      https://github.com/csmith-project/creduce/commit/fd37f9e9a9973bac77ea5875c5be0ef24762dd20
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M creduce/creduce.in
    M creduce/creduce_utils.pm
    M creduce/pass_clang.pm
    M creduce/pass_clang_binsrch.pm
    M creduce/pass_clex.pm
    M creduce/pass_lines.pm
    M scripts/localize_headers

  Log Message:
  -----------
  verbose mode is now called debug, and is more verbose

fix (I hope) a longstanding issue where an extra speculative transformation
was being issued when it didn't need to be

make sure that pass_lines always starts be deleting the entire file

remove caching code that wasn't working anyway-- if we want caching in the
future it'll be easier to start from scratch than fixing the stuff I deleted


  Commit: 9b94d8a01cfffdccce099866fefa6fecd2beac79
      https://github.com/csmith-project/creduce/commit/9b94d8a01cfffdccce099866fefa6fecd2beac79
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M Makefile.in
    M aclocal.m4
    M clang_delta/Makefile.in
    M clex/Makefile.in
    M configure
    M creduce/Makefile.am
    M creduce/Makefile.in
    M creduce/creduce.in
    A creduce/pass_comments.pm
    M creduce/pass_lines.pm
    M scripts/Makefile.in
    M scripts/localize_headers
    M tests/Makefile.in

  Log Message:
  -----------
  new pass that removes comments from non-preprocessed code


  Commit: ef4761d36057e3d3a8d6ffc23ad6e1bfc727643d
      https://github.com/csmith-project/creduce/commit/ef4761d36057e3d3a8d6ffc23ad6e1bfc727643d
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M Makefile.in
    M aclocal.m4
    M clang_delta/Makefile.in
    M clex/Makefile.in
    M configure
    M creduce/Makefile.in
    M scripts/Makefile.in
    M tests/Makefile.in

  Log Message:
  -----------
  Regenerate Autoconf stuff.

...to ease the merge back into the master branch.


  Commit: 85bca17fa0bb02aa0fa8e3f30b2d0c5041c43070
      https://github.com/csmith-project/creduce/commit/85bca17fa0bb02aa0fa8e3f30b2d0c5041c43070
  Author: Eric Eide <eeide@cs.utah.edu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M creduce/pass_comments.pm

  Log Message:
  -----------
  Update copyright year.


  Commit: dbea0608008b514c7d80a2018784c98b1b114440
      https://github.com/csmith-project/creduce/commit/dbea0608008b514c7d80a2018784c98b1b114440
  Author: John Regehr <regehr@cs.utah.edu>
  Date:   2015-10-30 (Fri, 30 Oct 2015)

  Changed paths:
    M .gitignore
    M CMakeLists.txt
    M INSTALL
    M Makefile.am
    M Makefile.in
    M clang_delta/AggregateToScalar.cpp
    M clang_delta/BinOpSimplification.cpp
    M clang_delta/CMakeLists.txt
    M clang_delta/CallExprToValue.cpp
    M clang_delta/ClassTemplateToClass.cpp
    M clang_delta/CombineGlobalVarDecl.cpp
    M clang_delta/CombineLocalVarDecl.cpp
    M clang_delta/CopyPropagation.cpp
    M clang_delta/EmptyStructToInt.cpp
    M clang_delta/EmptyStructToInt.h
    M clang_delta/InstantiateTemplateParam.cpp
    M clang_delta/InstantiateTemplateTypeParamToInt.cpp
    M clang_delta/LiftAssignmentExpr.cpp
    M clang_delta/LocalToGlobal.cpp
    M clang_delta/Makefile.am
    M clang_delta/Makefile.in
    M clang_delta/MoveFunctionBody.cpp
    M clang_delta/MoveGlobalVar.cpp
    M clang_delta/ParamToGlobal.cpp
    M clang_delta/ParamToLocal.cpp
    M clang_delta/ReduceArrayDim.cpp
    M clang_delta/ReduceArraySize.cpp
    M clang_delta/ReduceClassTemplateParameter.cpp
    M clang_delta/ReducePointerLevel.cpp
    M clang_delta/ReducePointerPairs.cpp
    M clang_delta/RemoveAddrTaken.cpp
    M clang_delta/RemoveArray.cpp
    M clang_delta/RemoveBaseClass.cpp
    M clang_delta/RemoveCtorInitializer.cpp
    M clang_delta/RemoveEnumMemberValue.cpp
    M clang_delta/RemoveNamespace.cpp
    M clang_delta/RemoveNestedFunction.cpp
    M clang_delta/RemovePointer.cpp
    M clang_delta/RemoveTrivialBaseTemplate.cpp
    M clang_delta/RemoveUnresolvedBase.cpp
    M clang_delta/RemoveUnusedEnumMember.cpp
    M clang_delta/RemoveUnusedFunction.cpp
    M clang_delta/RemoveUnusedOuterClass.cpp
    M clang_delta/RemoveUnusedStructField.cpp
    M clang_delta/RemoveUnusedVar.cpp
    M clang_delta/RenameCXXMethod.cpp
    M clang_delta/RenameClass.cpp
    M clang_delta/RenameFun.cpp
    M clang_delta/RenameParam.cpp
    M clang_delta/RenameVar.cpp
    M clang_delta/ReplaceArrayIndexVar.cpp
    M clang_delta/ReplaceCallExpr.cpp
    M clang_delta/ReplaceClassWithBaseTemplateSpec.cpp
    M clang_delta/ReplaceDependentName.cpp
    M clang_delta/ReplaceDependentTypedef.cpp
    M clang_delta/ReplaceDerivedClass.cpp
    M clang_delta/ReplaceFunctionDefWithDecl.cpp
    M clang_delta/ReplaceOneLevelTypedefType.cpp
    M clang_delta/ReplaceSimpleTypedef.cpp
    M clang_delta/ReplaceUndefinedFunction.cpp
    M clang_delta/ReturnVoid.cpp
    M clang_delta/RewriteUtils.cpp
    M clang_delta/RewriteUtils.h
    M clang_delta/SimpleInliner.cpp
    M clang_delta/SimplifyCallExpr.cpp
    M clang_delta/SimplifyCommaExpr.cpp
    M clang_delta/SimplifyDependentTypedef.cpp
    M clang_delta/SimplifyIf.cpp
    M clang_delta/SimplifyNestedClass.cpp
    M clang_delta/SimplifyRecursiveTemplateInstantiation.cpp
    M clang_delta/SimplifyStruct.cpp
    M clang_delta/SimplifyStructUnionDecl.cpp
    M clang_delta/TemplateArgToInt.cpp
    M clang_delta/TemplateNonTypeArgToInt.cpp
    M clang_delta/Transformation.cpp
    M clang_delta/Transformation.h
    M clang_delta/TransformationManager.cpp
    M clang_delta/TransformationManager.h
    M clang_delta/UnifyFunctionDecl.cpp
    M clang_delta/UnionToStruct.cpp
    M clex/Makefile.am
    M clex/Makefile.in
    M clex/driver.c
    M configure
    M configure.ac
    M creduce/CMakeLists.txt
    M creduce/Makefile.am
    M creduce/Makefile.in
    M creduce/creduce.in
    M creduce/creduce_regexes.pm
    M creduce/creduce_utils.pm
    M creduce/pass_blank.pm
    M creduce/pass_clang.pm
    M creduce/pass_clang_binsrch.pm
    M creduce/pass_clex.pm
    A creduce/pass_comments.pm
    M creduce/pass_indent.pm
    M creduce/pass_lines.pm
    M m4/ax_llvm.m4
    A scripts/localize_headers
    M tests/Makefile.am
    M tests/Makefile.in
    M version.m4

  Log Message:
  -----------
  Merge remote-tracking branch 'origin' into llvm-svn-compatible


Compare: https://github.com/csmith-project/creduce/compare/0df87ff60d5c...dbea0608008b