summaryrefslogtreecommitdiff
path: root/devel/kdesdk4/files/patch-libcxx
diff options
context:
space:
mode:
authorMax Brazhnikov <makc@FreeBSD.org>2014-02-18 14:23:03 +0000
committerMax Brazhnikov <makc@FreeBSD.org>2014-02-18 14:23:03 +0000
commite9c34f4c34b0640b3613f03cd96e9f19730b2a07 (patch)
treeef2b2b24dfacf6def95c54d3379c421565b1fe2b /devel/kdesdk4/files/patch-libcxx
parentUpdate to 1.88 (diff)
KDE/FreeBSD team presents KDE SC 4.12.2 and KDE Workspace 4.11.6!
Among changes: - Switch KDE4_PREFIX to ${LOCALBASE} - Remove now needless misc/kde4-shared-mime-info port - Add stage support - Remove ancient CONFLICTS (KDE 4.9 and less) and LATEST_LINK - Squeeze MASTER_SITES/MASTER_SITE_SUBDIR - Convert LIB_DEPENDS to new style - Use options helpers - Drop support for FreeBSD 7.x - Remove Qt/KDE 3 related workarounds - Remove local patches and use upstream version scheme for libraries - sysutils/kdeadmin4, net/kdenetwork4, devel/kdesdk4, and x11-clocks/kdetoys4 ports have been split. - devel/kcachegrind is now a part of KDE SC [1] - more logs in area51 repo... New ports: devel/kde-dev-scripts: KDE development scripts devel/kde-dev-utils: KDE development utilities games/klickety: Tetris themed solitaire games/picmi: Single player logic-based puzzle game textproc/libkomparediff2: Library to compare files and strings The area51 repository features commits by Schaich Alonso, avilla, rakuco and myself. PR: ports/186491 Exp-run: by bdrewery Approved by: beat (former maintainer) [1]
Diffstat (limited to 'devel/kdesdk4/files/patch-libcxx')
-rw-r--r--devel/kdesdk4/files/patch-libcxx221
1 files changed, 0 insertions, 221 deletions
diff --git a/devel/kdesdk4/files/patch-libcxx b/devel/kdesdk4/files/patch-libcxx
deleted file mode 100644
index ee855cc39d31..000000000000
--- a/devel/kdesdk4/files/patch-libcxx
+++ /dev/null
@@ -1,221 +0,0 @@
-commit 6aa61a76e792354ab646849f1dcfeccab7d0063d
-Author: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Sun Nov 3 01:21:49 2013 +0200
-
- kdevcppparser: Always define the `identity' unary function.
-
- _Identity is an internal, libstdc++-specific struct that is not to be relied
- upon by external code.
-
- preprocesslexer.cpp used to assume GCC (with libstdc++) and MSVC were the
- only compilers available, and defined its own _Identity implementation for
- the latter. It breaks things if any other compiler or STL implementation
- (such as clang with libc++) is used.
-
- The easiest fix is to just unconditionally define the `identity' unary
- function and use it regardless of whether _Identity is defined or not.
-
-commit f89f9c6358001619222a4b3c187b5e969b553d0b
-Author: Raphael Kubo da Costa <rakuco@FreeBSD.org>
-Date: Sun Nov 3 13:19:56 2013 +0200
-
- kdevcppparser: Replace PositionFilename with a typedef to QString.
-
- The C++ standard (98, 03 and 11) states that std::basic_string is supposed
- to work only with POD-like types, which is not the case for QChar.
-
- GCC's libstdc++'s std::basic_string implementation, though, does not use any
- features present only in POD types, so the previous behavior of using
- std::basic_string<QChar> has worked for most people using Linux, and some
- workarounds were present for other compilers such as SunPro CC and MSVC.
-
- Instead of adding yet another workaround to get things working with clang
- with libc++, try to fix the problem in a different way by getting rid of the
- need for std::basic_string in position.h altogether and using a plain
- QString instead.
-
- std::basic_string was used only to store the name of the source file being
- processed, which was originally a QString anyway, so we can avoid the
- QString -> std::basic_string -> QString conversions, as well as the need to
- have a full-fledged PositionFilename class with a toString() method that
- performed this conversion.
-
- It also allows us to remove the MSVC/SunPro workarounds from the code and
- the build system.
---- umbrello/umbrello/CMakeLists.txt
-+++ umbrello/umbrello/CMakeLists.txt
-@@ -267,37 +267,21 @@ set(libcodeimport_SRCS
- codeimport/csharp/csharpimport.cpp
- )
-
--if (WIN32 AND NOT MSVC)
-- # SunPRO CC have a problem with position.h; we try to put a
-- # QChar into a spirit iterator, which, after a bunch of futzing, ends up in
-- # the STL string_ref templates, which use
-- #
-- # union {
-- # size_type _C_size; // Number of actual data values stored
-- # _CharT _C_dummy; // force the alignment of the first char
-- # } _C_size; // named to work around an HP aCC 3.30 bug
-- #
-- # and you can't have a class which requires an initializer in a union.
-- #
-- add_definitions(-DDISABLE_CPP_IMPORT)
-- set(libkdevcppparser_SRCS)
--else (WIN32 AND NOT MSVC)
-- list(APPEND libcodeimport_SRCS
-- codeimport/cppimport.cpp
-- )
-- set(libkdevcppparser_SRCS
-- codeimport/kdevcppparser/ast.cpp
-- codeimport/kdevcppparser/driver.cpp
-- codeimport/kdevcppparser/errors.cpp
-- codeimport/kdevcppparser/lexer.cpp
-- codeimport/kdevcppparser/lookup.cpp
-- codeimport/kdevcppparser/parser.cpp
-- codeimport/kdevcppparser/preprocesslexer.cpp
-- codeimport/kdevcppparser/tree_parser.cpp
-- codeimport/kdevcppparser/ast_utils.cpp
-- codeimport/kdevcppparser/cpptree2uml.cpp
-- )
--endif(WIN32 AND NOT MSVC)
-+list(APPEND libcodeimport_SRCS
-+ codeimport/cppimport.cpp
-+)
-+set(libkdevcppparser_SRCS
-+ codeimport/kdevcppparser/ast.cpp
-+ codeimport/kdevcppparser/driver.cpp
-+ codeimport/kdevcppparser/errors.cpp
-+ codeimport/kdevcppparser/lexer.cpp
-+ codeimport/kdevcppparser/lookup.cpp
-+ codeimport/kdevcppparser/parser.cpp
-+ codeimport/kdevcppparser/preprocesslexer.cpp
-+ codeimport/kdevcppparser/tree_parser.cpp
-+ codeimport/kdevcppparser/ast_utils.cpp
-+ codeimport/kdevcppparser/cpptree2uml.cpp
-+)
-
- set(libclipboard_SRCS
- clipboard/umldragdata.cpp
---- umbrello/umbrello/codeimport/classimport.cpp
-+++ umbrello/umbrello/codeimport/classimport.cpp
-@@ -20,9 +20,7 @@
- #include "javaimport.h"
- #include "adaimport.h"
- #include "pascalimport.h"
--#ifndef DISABLE_CPP_IMPORT
- #include "cppimport.h"
--#endif
- #include "csharpimport.h"
- #include "codeimpthread.h"
-
-@@ -52,13 +50,8 @@ ClassImport *ClassImport::createImporterByFileExt(const QString &fileName, CodeI
- classImporter = new PascalImport(thread);
- else if (fileName.endsWith(QLatin1String(".cs")))
- classImporter = new CSharpImport(thread);
--#ifndef DISABLE_CPP_IMPORT
- else
- classImporter = new CppImport(thread); // the default.
--#else
-- else
-- classImporter = 0;
--#endif
- return classImporter;
- }
-
---- umbrello/umbrello/codeimport/kdevcppparser/position.h
-+++ umbrello/umbrello/codeimport/kdevcppparser/position.h
-@@ -20,22 +20,6 @@
- #ifndef POSITION_H
- #define POSITION_H
-
--#ifdef _MSC_VER //Q_CC_MSVC isn't defined here
--/*
--workaround for the following msvc error
--...\Microsoft Visual Studio 8\VC\INCLUDE\xstring(2044) : error C2620:
-- member 'std::basic_string<_Elem>::_Bxty::_Buf ' of union 'std::basic_string<_Elem>::_Bxty'
-- has user-defined constructor or non-trivial default constructor with [ _Elem=QChar]
--...\Microsoft Visual Studio 8\VC\INCLUDE\xstring(2046) : see reference to class
-- template instantiation 'std::basic_string<_Elem>::_Bxty' being compiled with [ _Elem=QChar]
--..\umbrello\umbrello\codeimport\kdevcppparser\position.h(49) : see reference to class
-- template instantiation 'std::basic_string<_Elem>' being compiled with [ _Elem=QChar]
--*/
--#define union struct
--#include <xstring>
--#undef union
--#endif
--
- #include <limits.h>
- #include <boost/version.hpp>
- #include <boost/spirit/include/classic.hpp>
-@@ -43,34 +27,7 @@ workaround for the following msvc error
- #include <QChar>
- #include <QDebug>
-
--typedef std::basic_string<QChar> PositionFilenameType;
--
--class PositionFilename : public PositionFilenameType
--{
--public:
-- PositionFilename()
-- {
-- }
--
-- explicit PositionFilename(const QString &p) : PositionFilenameType(p.data())
-- {
-- }
--
-- QString toString() const
-- {
-- QString result;
-- for(unsigned int i = 0; i < size(); i++)
-- result.append(at(i));
-- return result;
-- }
--};
--
--inline QDebug operator<<(QDebug out, const PositionFilename &p)
--{
-- out << p.toString();
-- return out;
--}
--
-+typedef QString PositionFilename;
- typedef boost::spirit::classic::file_position_base<PositionFilename> PositionType;
-
- class Position : public PositionType
---- umbrello/umbrello/codeimport/kdevcppparser/preprocesslexer.cpp
-+++ umbrello/umbrello/codeimport/kdevcppparser/preprocesslexer.cpp
-@@ -41,13 +41,11 @@
-
- #define PREPROCESSLEXER_DEBUG
-
--#ifdef Q_CC_MSVC
- template <class _Tp>
--struct _Identity : public std::unary_function<_Tp,_Tp> {
-+struct identity : public std::unary_function<_Tp,_Tp> {
- _Tp& operator()(_Tp& __x) const { return __x; }
- const _Tp& operator()(const _Tp& __x) const { return __x; }
- };
--#endif
-
- template <class _Tp>
- struct tilde : public std::unary_function<_Tp, _Tp> {
-@@ -593,7 +591,7 @@ void PreprocessLexer::dumpToFile()
- if (!d.exists())
- d.mkdir(tempPath);
-
-- QString fileName = tempPath + '/' + currentPosition().file.toString().replace(QRegExp("[/:mn]"), "-");
-+ QString fileName = tempPath + '/' + currentPosition().file.replace(QRegExp("[/:mn]"), "-");
- QFile f(fileName);
- if (f.open(QIODevice::WriteOnly | QIODevice::Text)) {
- QTextStream out(&f);
-@@ -839,7 +837,7 @@ int PreprocessLexer::macroPrimary()
- if (!l_hit)
- result = 0;
- } else {
-- boost::function < int (int) > l_op = _Identity<int>();
-+ boost::function < int (int) > l_op = identity<int>();
- if (m_source.parse(ch_p('+')
- | ch_p('-')[var(l_op) = std::negate<int>()]
- | ch_p('!')[var(l_op) = std::logical_not<int>()]