Merge remote-tracking branch 'upstream/master'

This commit is contained in:
oroppas
2016-07-17 15:12:38 +09:00
8 changed files with 459 additions and 53 deletions

View File

@@ -5,7 +5,7 @@ pkgbase=mingw-w64-${_realname}-git
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-git")
provides=("${MINGW_PACKAGE_PREFIX}-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.4.0.r205.gbc92ff4
pkgver=2.5.0.r77.g56670fd
pkgrel=1
pkgdesc="A C program reducer (mingw-w64)"
depends=('perl-Benchmark-Timer'

View File

@@ -1,25 +0,0 @@
From 0df87ff60d5c5df528feaeae16d5ad9c2741eeb5 Mon Sep 17 00:00:00 2001
From: Eric Eide <eeide@cs.utah.edu>
Date: Mon, 14 Sep 2015 17:35:33 -0600
Subject: [PATCH] Track member-function-name capitalization change.
---
clang_delta/TransformationManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp
index e677930..dceb497 100644
--- a/clang_delta/TransformationManager.cpp
+++ b/clang_delta/TransformationManager.cpp
@@ -112,7 +112,7 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
ClangInstance->setASTConsumer(
std::unique_ptr<ASTConsumer>(CurrentTransformationImpl));
Preprocessor &PP = ClangInstance->getPreprocessor();
- PP.getBuiltinInfo().InitializeBuiltins(PP.getIdentifierTable(),
+ PP.getBuiltinInfo().initializeBuiltins(PP.getIdentifierTable(),
PP.getLangOpts());
if (!ClangInstance->InitializeSourceManager(FrontendInputFile(SrcFileName, IK))) {
--
2.8.1

View File

@@ -4,7 +4,7 @@ _realname=creduce
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git")
pkgver=2.4.0
pkgver=2.5.0
pkgrel=1
pkgdesc="A C program reducer (mingw-w64)"
depends=('perl-Benchmark-Timer'
@@ -13,7 +13,6 @@ depends=('perl-Benchmark-Timer'
'perl-Getopt-Tabular'
'perl-Regexp-Common'
'perl-Sys-CPU'
'delta'
"${MINGW_PACKAGE_PREFIX}-astyle"
"${MINGW_PACKAGE_PREFIX}-indent"
"${MINGW_PACKAGE_PREFIX}-clang")
@@ -22,10 +21,8 @@ url='https://github.com/csmith-project/creduce'
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=("flex" "${MINGW_PACKAGE_PREFIX}-clang")
source=(https://github.com/csmith-project/creduce/archive/${_realname}-${pkgver}.tar.gz
"0001-Track-member-function-name-capitalization-change.patch"
"llvm-config-cygpath")
sha256sums=('a3917e37b0c7d77e7f2c2961794ba511f874f78684a7fd944e51c9d43cc5d7c6'
'f345091edbb54a614256dea99c373dd3fd0c1de9d97c27cf58685292c8e2ab8b'
sha256sums=('6d860adaeac10589441b6075f78778b70a25d1305c7c1638f02e953c804ab16d'
'03a7239d1e26d8a5dd5f405e10826679725cae6c01a9c37e80c6f1c184dad0a9')
prepare() {
@@ -33,8 +30,6 @@ prepare() {
[[ -d tools ]] && rm -rf tools
mkdir tools
cp -f "${srcdir}"/llvm-config-cygpath tools/llvm-config
cd ${_realname}-${_realname}-${pkgver}
patch -p1 -i "${srcdir}"/0001-Track-member-function-name-capitalization-change.patch
}
build() {

View File

@@ -0,0 +1,111 @@
From e743361cb91a7e1b8572c2c125ad2ddf69eed890 Mon Sep 17 00:00:00 2001
From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 15 Jul 2016 18:49:38 +0000
Subject: [PATCH] PR c++/71092 - ICE with array and constexpr.
* constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph
threw away DECL_SAVED_TREE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238395 138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/cp/constexpr.c | 14 +++++-
gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C | 61 ++++++++++++++++++++++++++
2 files changed, 73 insertions(+), 2 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c
index 55b05e7..4c98518 100644
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -1450,9 +1450,19 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
}
else
{
- if (!result || result == error_mark_node)
+ if (result && result != error_mark_node)
+ /* OK */;
+ else if (!DECL_SAVED_TREE (fun))
+ {
+ /* When at_eof >= 2, cgraph has started throwing away
+ DECL_SAVED_TREE, so fail quietly. FIXME we get here because of
+ late code generation for VEC_INIT_EXPR, which needs to be
+ completely reconsidered. */
+ gcc_assert (at_eof >= 2 && ctx->quiet);
+ *non_constant_p = true;
+ }
+ else
{
- gcc_assert (DECL_SAVED_TREE (fun));
tree body, parms, res;
/* Reuse or create a new unshared copy of this function's body. */
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
new file mode 100644
index 0000000..c6afa50
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array17.C
@@ -0,0 +1,61 @@
+// PR c++/71092
+// { dg-do compile { target c++11 } }
+
+template <typename _Default> struct A { using type = _Default; };
+template <typename _Default, template <typename> class>
+using __detected_or = A<_Default>;
+template <typename _Default, template <typename> class _Op>
+using __detected_or_t = typename __detected_or<_Default, _Op>::type;
+template <typename _Tp> struct B { typedef _Tp value_type; };
+struct C {
+ template <typename _Tp> using __pointer = typename _Tp::pointer;
+};
+template <typename _Alloc> struct J : C {
+ using pointer = __detected_or_t<typename _Alloc::value_type *, __pointer>;
+};
+template <typename _T1> void _Construct(_T1 *) { new _T1; }
+struct D {
+ template <typename _ForwardIterator, typename _Size>
+ static _ForwardIterator __uninit_default_n(_ForwardIterator p1, _Size) {
+ _Construct(p1);
+ }
+};
+template <typename _ForwardIterator, typename _Size>
+void __uninitialized_default_n(_ForwardIterator p1, _Size) {
+ D::__uninit_default_n(p1, 0);
+}
+template <typename _ForwardIterator, typename _Size, typename _Tp>
+void __uninitialized_default_n_a(_ForwardIterator p1, _Size, _Tp) {
+ __uninitialized_default_n(p1, 0);
+}
+template <typename> struct __shared_ptr {
+ constexpr __shared_ptr() : _M_ptr(), _M_refcount() {}
+ int _M_ptr;
+ int _M_refcount;
+};
+template <typename _Alloc> struct F {
+ typedef _Alloc _Tp_alloc_type;
+ struct G {
+ typename J<_Tp_alloc_type>::pointer _M_start;
+ G(_Tp_alloc_type);
+ };
+ F(int, _Alloc p2) : _M_impl(p2) {}
+ G _M_impl;
+};
+template <typename _Tp, typename _Alloc = B<_Tp>> struct K : F<_Alloc> {
+ typedef _Alloc allocator_type;
+ K(int, allocator_type p2 = allocator_type()) : F<_Alloc>(0, p2) {
+ __uninitialized_default_n_a(this->_M_impl._M_start, 0, 0);
+ }
+};
+struct H {
+ H();
+ struct I {
+ __shared_ptr<int> trigger[1];
+ };
+ __shared_ptr<int> resetTrigger_;
+ K<I> states_;
+ __shared_ptr<int> triggerManager_;
+};
+__shared_ptr<int> a;
+H::H() : states_(0), triggerManager_(a) {}
--
2.9.1

View File

@@ -0,0 +1,251 @@
From 0436f76da397aef1b088d7fe8ad68f3fd259f750 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Sat, 16 Jul 2016 18:06:04 +0100
Subject: [PATCH] Add defines to disable optimize for size changes
---
gcc/c-family/c-opts.c | 4 ++++
gcc/cgraph.c | 2 ++
gcc/cgraph.h | 2 ++
gcc/config.in | 11 +++++++++++
gcc/config/i386/i386.c | 15 +++++++++++++--
gcc/ipa-icf.c | 14 ++++++++++----
gcc/ipa-inline.c | 16 +++++++++++-----
gcc/predict.c | 4 ++++
8 files changed, 57 insertions(+), 11 deletions(-)
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index fec58bc..4db2809 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -869,8 +869,12 @@ c_common_post_options (const char **pfilename)
&& (cxx_dialect >= cxx11 || flag_isoc99));
/* Declone C++ 'structors if -Os. */
+#ifdef OSIZE_FLAG_DECLONE_CTOR_DTOR
if (flag_declone_ctor_dtor == -1)
flag_declone_ctor_dtor = optimize_size;
+#else
+ flag_declone_ctor_dtor = 0;
+#endif
if (warn_abi_version == -1)
{
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index e256dd0..5be5aad 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -2097,8 +2097,10 @@ cgraph_node::dump (FILE *f)
fprintf (f, " only_called_at_startup");
if (only_called_at_exit)
fprintf (f, " only_called_at_exit");
+#ifdef OSIZE_CGRAPH_NODE_DUMP
if (opt_for_fn (decl, optimize_size))
fprintf (f, " optimize_size");
+#endif
if (parallelized_function)
fprintf (f, " parallelized_function");
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index ecafe63..ce5c7bb 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -3070,8 +3070,10 @@ cgraph_node::mark_force_output (void)
inline bool
cgraph_node::optimize_for_size_p (void)
{
+#ifdef OSIZE_CGRAPH_NODE_OPTIMIZE_FOR_SIZE_P
if (opt_for_fn (decl, optimize_size))
return true;
+#endif
if (frequency == NODE_FREQUENCY_UNLIKELY_EXECUTED)
return true;
else
diff --git a/gcc/config.in b/gcc/config.in
index 2deb8ed..a7ab371 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2361,3 +2361,14 @@
#undef vfork
#endif
+#define OSIZE_FLAG_DECLONE_CTOR_DTOR
+#define OSIZE_CGRAPH_NODE_DUMP
+#define OSIZE_CGRAPH_NODE_OPTIMIZE_FOR_SIZE_P
+#define OSIZE_DONT_PASS_INSERT_VZEROUPPER
+#define OSIZE_USE_SIZE_COST
+#define OSIZE_CHECK_FOR_X_FLAG_PREFETCH_LOOP_ARRAYS
+#define OSIZE_USE_SIZE_COST2
+#define OSIZE_DECIDE_ALIGNMENT_AS_1
+#define OSIZE_OPTIMIZE_FUNCTION_FOR_SIZE_P
+#define OSIZE_IPA_ICF_CHECK_OPT_FOR_SIZE
+#define OSIZE_IPA_INLINE_CHECK_OPT_FOR_SIZE
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c5e5e12..d0fbe17 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4015,7 +4015,11 @@ public:
{
return TARGET_AVX && !TARGET_AVX512F
&& TARGET_VZEROUPPER && flag_expensive_optimizations
- && !optimize_size;
+#ifdef OSIZE_DONT_PASS_INSERT_VZEROUPPER
+ && !optimize_size;
+#else
+ ;
+#endif
}
virtual unsigned int execute (function *)
@@ -5483,9 +5487,11 @@ ix86_option_override_internal (bool main_args_p,
ix86_tune_cost = processor_target_table[ix86_tune].cost;
/* TODO: ix86_cost should be chosen at instruction or function granuality
so for cold code we use size_cost even in !optimize_size compilation. */
+#ifdef OSIZE_USE_SIZE_COST
if (opts->x_optimize_size)
ix86_cost = &ix86_size_cost;
else
+#endif
ix86_cost = ix86_tune_cost;
/* Arrange to set up i386_stack_locals for all functions. */
@@ -5779,7 +5785,9 @@ ix86_option_override_internal (bool main_args_p,
if (opts->x_flag_prefetch_loop_arrays < 0
&& HAVE_prefetch
&& (opts->x_optimize >= 3 || opts->x_flag_profile_use)
+#ifdef OSIZE_CHECK_FOR_X_FLAG_PREFETCH_LOOP_ARRAYS
&& !opts->x_optimize_size
+#endif
&& TARGET_SOFTWARE_PREFETCHING_BENEFICIAL)
opts->x_flag_prefetch_loop_arrays = 1;
@@ -6196,9 +6204,11 @@ ix86_function_specific_restore (struct gcc_options *opts,
ix86_tune_cost = processor_target_table[ix86_tune].cost;
/* TODO: ix86_cost should be chosen at instruction or function granuality
so for cold code we use size_cost even in !optimize_size compilation. */
+#ifdef OSIZE_USE_SIZE_COST2
if (opts->x_optimize_size)
ix86_cost = &ix86_size_cost;
else
+#endif
ix86_cost = ix86_tune_cost;
/* Recreate the arch feature tests if the arch changed */
@@ -26789,9 +26799,10 @@ decide_alignment (int align,
if (TARGET_PENTIUMPRO
&& (alg == rep_prefix_4_byte || alg == rep_prefix_1_byte))
desired_align = 8;
-
+#ifdef OSIZE_DECIDE_ALIGNMENT_AS_1
if (optimize_size)
desired_align = 1;
+#endif
if (desired_align < align)
desired_align = align;
if (expected_size != -1 && expected_size < 4)
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index 3c04b5a..a6976a5 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -84,6 +84,12 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "dbgcnt.h"
+#ifdef OSIZE_IPA_ICF_CHECK_OPT_FOR_SIZE
+#define opt_for_fn_2(fndecl, opt) (opts_for_fn (fndecl)->x_##opt)
+#else
+#define opt_for_fn_2(fndecl, opt) (0)
+#endif
+
using namespace ipa_icf_gimple;
namespace ipa_icf {
@@ -393,8 +399,8 @@ sem_item::compare_referenced_symbol_properties (symtab_node *used_by,
unit has no !optimize_size functions. */
if ((!used_by || address || !is_a <cgraph_node *> (used_by)
- || !opt_for_fn (used_by->decl, optimize_size))
- && !opt_for_fn (n1->decl, optimize_size)
+ || !opt_for_fn_2 (used_by->decl, optimize_size))
+ && !opt_for_fn_2 (n1->decl, optimize_size)
&& n1->get_availability () > AVAIL_INTERPOSABLE
&& (!DECL_UNINLINABLE (n1->decl) || !DECL_UNINLINABLE (n2->decl)))
{
@@ -466,8 +472,8 @@ sem_item::hash_referenced_symbol_properties (symtab_node *ref,
{
if (is_a <cgraph_node *> (ref))
{
- if ((type != FUNC || address || !opt_for_fn (decl, optimize_size))
- && !opt_for_fn (ref->decl, optimize_size)
+ if ((type != FUNC || address || !opt_for_fn_2 (decl, optimize_size))
+ && !opt_for_fn_2 (ref->decl, optimize_size)
&& !DECL_UNINLINABLE (ref->decl))
{
hstate.add_flag (DECL_DISREGARD_INLINE_LIMITS (ref->decl));
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 5c9366a..d247654 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -124,6 +124,12 @@ static int overall_size;
static gcov_type max_count;
static gcov_type spec_rem;
+#ifdef OSIZE_IPA_INLINE_CHECK_OPT_FOR_SIZE
+#define opt_for_fn_2(fndecl, opt) (opts_for_fn (fndecl)->x_##opt)
+#else
+#define opt_for_fn_2(fndecl, opt) (0)
+#endif
+
/* Pre-computed constants 1/CGRAPH_FREQ_BASE and 1/100. */
static sreal cgraph_freq_base_rec, percent_rec;
@@ -483,8 +489,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report,
code shrinks or we are in MAX_INLINE_INSNS_SINGLE limit and callee
is inline (and thus likely an unified comdat). This will allow caller
to run faster. */
- else if (opt_for_fn (callee->decl, optimize_size)
- > opt_for_fn (caller->decl, optimize_size))
+ else if (opt_for_fn_2 (callee->decl, optimize_size)
+ > opt_for_fn_2 (caller->decl, optimize_size))
{
int growth = estimate_edge_growth (e);
if (growth > 0
@@ -498,8 +504,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report,
}
/* If callee is more aggressively optimized for performance than caller,
we generally want to inline only cheap (runtime wise) functions. */
- else if (opt_for_fn (callee->decl, optimize_size)
- < opt_for_fn (caller->decl, optimize_size)
+ else if (opt_for_fn_2 (callee->decl, optimize_size)
+ < opt_for_fn_2 (caller->decl, optimize_size)
|| (opt_for_fn (callee->decl, optimize)
> opt_for_fn (caller->decl, optimize)))
{
@@ -1704,7 +1710,7 @@ bool
inline_account_function_p (struct cgraph_node *node)
{
return (!DECL_EXTERNAL (node->decl)
- && !opt_for_fn (node->decl, optimize_size)
+ && !opt_for_fn_2 (node->decl, optimize_size)
&& node->frequency != NODE_FREQUENCY_UNLIKELY_EXECUTED);
}
diff --git a/gcc/predict.c b/gcc/predict.c
index 7d55ff7..84c2390 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -272,7 +272,11 @@ bool
optimize_function_for_size_p (struct function *fun)
{
if (!fun || !fun->decl)
+#ifdef OSIZE_OPTIMIZE_FUNCTION_FOR_SIZE_P
return optimize_size;
+#else
+ return 0;
+#endif
cgraph_node *n = cgraph_node::get (fun->decl);
return n && n->optimize_for_size_p ();
}
--
2.9.1

View File

@@ -11,7 +11,7 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-git"
"${MINGW_PACKAGE_PREFIX}-${_realname}-fortran-git"
"${MINGW_PACKAGE_PREFIX}-${_realname}-ada-git"
"${MINGW_PACKAGE_PREFIX}-${_realname}-objc-git")
pkgver=r145817.32dc90f
pkgver=r146016.f1d38eb
pkgrel=1
pkgdesc="GCC for the MinGW-w64"
arch=('any')
@@ -60,7 +60,9 @@ source=("git://gcc.gnu.org/git/gcc.git#branch=${_branch}"
"0013-MinGW-w64-Enable-shared-gnat.patch"
"0014-gcc-5-branch-clone_function_name_1-Retain-any-stdcall-suffix.patch"
"0014-gcc-6-branch-clone_function_name_1-Retain-any-stdcall-suffix.patch"
"0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch")
"0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch"
"0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch"
"9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch")
sha256sums=('SKIP'
'49a5e264e611de7f2388f01ba649ec22cf3ae1cde3ba45082a7d72294c2f4fd7'
'83e9c6f76f728ae3e2f2eabb588b0d6cea7a3eda03cd5e77aed9d613143b7348'
@@ -78,7 +80,9 @@ sha256sums=('SKIP'
'bab73267116024d0b0d2a9dcb78a0ad839bb6a232f1ebbee7ed8fd54c8d71087'
'ad4bb777a7f19070e83bdf5046281ee9e359ed039c70179285c4119244cf9093'
'60a58ed41389691a68ef4b7d47a0328df4d28d26e6c680a6b06b31191481ca65'
'262c6fb0f6c9951d69e4c2dcc27949aa8f2cca8e672faf66740a7dbba4a4cd2c')
'262c6fb0f6c9951d69e4c2dcc27949aa8f2cca8e672faf66740a7dbba4a4cd2c'
'2f422c1c3c90145072c8636cf5ee94419d4f7872741fcff913fa65b3a98df570'
'a82eadfbb6a182b1ffeb860e89c89f46373a8b891594280b2268ecac8d7bac88')
_threads="posix"
@@ -89,21 +93,24 @@ pkgver() {
prepare() {
cd ${srcdir}/${_realname}
git am "${srcdir}"/0001-${_branch}-gfortran-incorrect-reading-of-values-fr.patch || true
git am "${srcdir}"/0002-Relocate-libintl.patch
git am "${srcdir}"/0003-Windows-Follow-Posix-dir-exists-semantics-more-close.patch
git am "${srcdir}"/0004-Windows-Use-not-in-progpath-and-leave-case-as-is.patch
git am "${srcdir}"/0005-Windows-Don-t-ignore-native-system-header-dir.patch
git am "${srcdir}"/0006-${_branch}-Windows-New-feature-to-allow-overriding.patch
git am "${srcdir}"/0007-Build-EXTRA_GNATTOOLS-for-Ada.patch
git am "${srcdir}"/0008-Prettify-linking-no-undefined.patch
git am "${srcdir}"/0009-gcc-make-xmmintrin-header-cplusplus-compatible-depre.patch
git am "${srcdir}"/0010-Fix-using-large-PCH.patch
git am "${srcdir}"/0011-Enable-shared-gnat-implib.patch
git am "${srcdir}"/0012-MinGW-w64-Enable-libitm.patch
git am "${srcdir}"/0013-MinGW-w64-Enable-shared-gnat.patch
git am "${srcdir}"/0014-${_branch}-clone_function_name_1-Retain-any-stdcall-suffix.patch
git am "${srcdir}"/0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch
GIT_AM="git am --committer-date-is-author-date"
${GIT_AM} "${srcdir}"/0001-${_branch}-gfortran-incorrect-reading-of-values-fr.patch || true
${GIT_AM} "${srcdir}"/0002-Relocate-libintl.patch
${GIT_AM} "${srcdir}"/0003-Windows-Follow-Posix-dir-exists-semantics-more-close.patch
${GIT_AM} "${srcdir}"/0004-Windows-Use-not-in-progpath-and-leave-case-as-is.patch
${GIT_AM} "${srcdir}"/0005-Windows-Don-t-ignore-native-system-header-dir.patch
${GIT_AM} "${srcdir}"/0006-${_branch}-Windows-New-feature-to-allow-overriding.patch
${GIT_AM} "${srcdir}"/0007-Build-EXTRA_GNATTOOLS-for-Ada.patch
${GIT_AM} "${srcdir}"/0008-Prettify-linking-no-undefined.patch
${GIT_AM} "${srcdir}"/0009-gcc-make-xmmintrin-header-cplusplus-compatible-depre.patch
${GIT_AM} "${srcdir}"/0010-Fix-using-large-PCH.patch
${GIT_AM} "${srcdir}"/0011-Enable-shared-gnat-implib.patch
${GIT_AM} "${srcdir}"/0012-MinGW-w64-Enable-libitm.patch
${GIT_AM} "${srcdir}"/0013-MinGW-w64-Enable-shared-gnat.patch
${GIT_AM} "${srcdir}"/0014-${_branch}-clone_function_name_1-Retain-any-stdcall-suffix.patch
${GIT_AM} "${srcdir}"/0015-Force-linking-to-libgcc_s_dw2-1.dll-deprecated.patch
${GIT_AM} "${srcdir}"/0016-gcc-6-branch-PR-c-71092-ICE-with-array-and-constexpr.patch
# ${GIT_AM} "${srcdir}"/9999-gcc-6-branch-Add-defines-to-disable-optimize-for-size-changes.patch
# do not expect $prefix/mingw symlink - this should be superceded by
# 0004-Windows-Don-t-ignore-native-system-header-dir.patch .. but isn't!

View File

@@ -0,0 +1,67 @@
# Maintainer: Maciej Suminski <maciej.suminski@cern.ch>
#
# Based on Arch ngspice PKGBUILD:
# https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/ngspice
# Contributor: Kyle Keen <keenerd@gmail.com>
# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
# Contributor: Jason Taylor <jftaylor21@gmail.com>
# Contributor: Luis Henrique <lmello.009@gmail.com>
_realname=ngspice
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=26
pkgrel=1
pkgdesc='Mixed-level/Mixed-signal circuit simulator based on Spice3f5, Ciber1b1, and Xspice.'
url='http://ngspice.sourceforge.net'
license=('BSD')
arch=('any')
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
source=("http://downloads.sourceforge.net/project/${_realname}/ng-spice-rework/${pkgver}/${_realname}-${pkgver}.tar.gz"
"http://downloads.sourceforge.net/project/${_realname}/ng-spice-rework/${pkgver}/${_realname}-doc-${pkgver}.tar.gz")
sha256sums=('51e230c8b720802d93747bc580c0a29d1fb530f3dd06f213b6a700ca9a4d0108'
'adc722cf627ee4506ea612c3fcb79f9c73c497e328547ab2d1ea97da588459cb')
build() {
cd "${srcdir}/${_realname}-${pkgver}"
[[ -d "${srcdir}/build-shared-${CARCH}" ]] && rm -rf "${srcdir}/build-shared-${CARCH}"
mkdir -p "${srcdir}/build-shared-${CARCH}" && cd "${srcdir}/build-shared-${CARCH}"
# FS#45230, create so lib
# shared lib sets flags and modifies headers, needs dedicated pass
# adding --with-readline disables libngspice-0.dll
../${_realname}-${pkgver}/configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--enable-openmp \
--enable-xspice \
--enable-cider \
--with-ngshared
make
cd "${srcdir}/${_realname}-${pkgver}"
[[ -d "${srcdir}/build-static-${CARCH}" ]] && rm -rf "${srcdir}/build-static-${CARCH}"
mkdir -p "${srcdir}/build-static-${CARCH}" && cd "${srcdir}/build-static-${CARCH}"
../${_realname}-${pkgver}/configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--enable-xspice \
--enable-cider \
--enable-openmp
make
}
package() {
cd "${srcdir}/build-static-${CARCH}"
make install DESTDIR="${pkgdir}"
install -D -m644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
install -D -m644 "${srcdir}/${_realname}-doc-${pkgver}/manual.pdf" "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/manual.pdf"
cd "${srcdir}/build-shared-${CARCH}"
install -D -m755 "src/.libs/libngspice-0.dll" "${pkgdir}${MINGW_PREFIX}/bin"
}

View File

@@ -3,7 +3,7 @@
_realname=pngcrush
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.8.1
pkgver=1.8.2
pkgrel=1
pkgdesc="A tool for optimizing the compression of PNG files (mingw-w64)"
arch=('any')
@@ -13,7 +13,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-zlib")
source=("https://downloads.sourceforge.net/pmt/${_realname}-${pkgver}-nolib.tar.gz"
LICENSE)
sha256sums=('5d55f89a3a596f4916c42a1819bdcf4e3bae77db7ce42716eb5c2ad69a6a2e36'
sha256sums=('eb742ba39cd8cbeb87ccbd7849b0084da45f3701254ebd5f6db98ab7ebcaa236'
'5628338f1b1c711b2b2e82d14124bc3001b37216a66f00b18d0b3b9c7e016720')
prepare() {