muparser-2.2.3

OBS-URL: https://build.opensuse.org/package/show/science/muparser?expand=0&rev=8
This commit is contained in:
Jan Engelhardt 2013-01-25 04:22:38 +00:00 committed by Git OBS Bridge
parent 0ef6e0f176
commit 8960963d44
2 changed files with 0 additions and 92 deletions

View File

@ -1,62 +0,0 @@
Unbreak `./configure CFLAGS=-ggdb3`.
N.B.: Do NOT set CFLAGS/CXXFLAGS/CPPFLAGS from project files at all,
these are reserved for the user. (Section 3.6 of automake.info).
`./configure && make CFLAGS=-ggdb3` still removes the project-provided flags.
And parallel building is still broken. I hate you, bakefile.
---
build/autoconf/bakefile-presets.m4 | 13 +++++++++----
build/autoconf/configure.ac | 12 +++++++-----
2 files changed, 16 insertions(+), 9 deletions(-)
Index: muparser-2.2.2/build/autoconf/bakefile-presets.m4
===================================================================
--- muparser-2.2.2.orig/build/autoconf/bakefile-presets.m4
+++ muparser-2.2.2/build/autoconf/bakefile-presets.m4
@@ -74,12 +74,17 @@ AC_DEFUN([AC_BAKEFILE_DEBUGOPT],
dnl and thus we must be careful to add it only to CXXFLAGS and not to CFLAGS
dnl (remember that CPPFLAGS is reserved for both C and C++ compilers while
dnl CFLAGS is intended as flags for C compiler only and CXXFLAGS for C++ only)
- CXXFLAGS="$CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
- CFLAGS="$CFLAGS -g -O0 -Wall -Wundef"
+ my_CXXFLAGS="$my_CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
+ my_CFLAGS="$my_CFLAGS -g -O0 -Wall -Wundef"
else
- CXXFLAGS="$CXXFLAGS -O2"
- CFLAGS="$CFLAGS -O2"
+ my_CXXFLAGS="$my_CXXFLAGS -O2"
+ my_CFLAGS="$my_CFLAGS -O2"
fi
+ # User-supplied CXXFLAGS must always take precedence.
+ # This still sucks because using `make CFLAGS=-foobar` kills
+ # the project-supplied flags again.
+ CXXFLAGS="$my_CXXFLAGS $CXXFLAGS"
+ CFLAGS="$my_CFLAGS $CFLAGS"
])
dnl ---------------------------------------------------------------------------
Index: muparser-2.2.2/build/autoconf/configure.ac
===================================================================
--- muparser-2.2.2.orig/build/autoconf/configure.ac
+++ muparser-2.2.2/build/autoconf/configure.ac
@@ -25,11 +25,13 @@ dnl (and sets the AC_CANONICAL_BUILD, AC
dnl AC_CANONICAL_TARGET variables)
AC_CANONICAL_SYSTEM
-dnl we set these vars to avoid that the AC_PROG_C* macros add the "-g -O2" flags;
-dnl we will add them later, if needed
-CFLAGS=
-CXXFLAGS=
-CPPFLAGS=
+# We want to inhibit AC_PROG_C* macros adding the default "-g -O2" flags.
+# To do so, make sure that the variables are not unset - it is ok if they are
+# empty. However, their value MUST be retained, since one may have
+# called ./configure CFLAGS=-foobar.
+CFLAGS="$CFLAGS"
+CPPFLAGS="$CPPFLAGS"
+CXXFLAGS="$CXXFLAGS"
dnl Checks for basic programs used to compile/install.
AC_PROG_AWK

View File

@ -1,30 +0,0 @@
From: Jan Engelhardt <jengelh@medozas.de>
Date: 2012-04-06 22:49:28.359430308 +0200
Resolve undefined behavior in muParserBase
./src/muParserBase.cpp:1041:85: warning: operation on 'sidx' may be undefined [-Wsequence-point]
./src/muParserBase.cpp:1041:85: warning: operation on 'sidx' may be undefined [-Wsequence-point]
I: Program causes undefined operation
(likely same variable used twiceand post/pre incremented in the same expression).
e.g. x = x++; Split it in two operations.
W: muparser sequence-point ./src/muParserBase.cpp:1041
---
src/muParserBase.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: muparser-2.2.2/src/muParserBase.cpp
===================================================================
--- muparser-2.2.2.orig/src/muParserBase.cpp
+++ muparser-2.2.2/src/muParserBase.cpp
@@ -1038,7 +1038,8 @@ namespace mu
continue;
case cmPOW:
- Stack[--sidx] = MathImpl<value_type>::Pow(Stack[sidx], Stack[1+sidx]); ;
+ --sidx;
+ Stack[sidx] = MathImpl<value_type>::Pow(Stack[sidx], Stack[1+sidx]);
continue;
case cmLAND: --sidx; Stack[sidx] = Stack[sidx] && Stack[sidx+1]; continue;