/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #pragma once #include #include #include #include #include #include #include namespace binaryurp { class BinaryAny; class Bridge; struct WriterState; } namespace binaryurp { class Marshal { public: Marshal(rtl::Reference< Bridge > const & bridge, WriterState & state); ~Marshal(); static void write8(std::vector< unsigned char > * buffer, sal_uInt8 value); static void write16( std::vector< unsigned char > * buffer, sal_uInt16 value); static void write32( std::vector< unsigned char > * buffer, sal_uInt32 value); void writeValue( std::vector< unsigned char > * buffer, css::uno::TypeDescription const & type, BinaryAny const & value); void writeType( std::vector< unsigned char > * buffer, css::uno::TypeDescription const & value); void writeOid( std::vector< unsigned char > * buffer, OUString const & oid); void writeTid( std::vector< unsigned char > * buffer, rtl::ByteSequence const & tid); private: Marshal(const Marshal&) = delete; Marshal& operator=(const Marshal&) = delete; void writeValue( std::vector< unsigned char > * buffer, css::uno::TypeDescription const & type, void const * value); void writeMemberValues( std::vector< unsigned char > * buffer, css::uno::TypeDescription const & type, void const * aggregateValue); rtl::Reference< Bridge > bridge_; WriterState & state_; }; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ )", the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is apparently dead and should thus be removed. However, that was the only bridge implementation for AIX, which implies that support for the AIX platform as a whole is dead and should thus be removed. Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> use gb_DEBUGINFO_FLAGS consistently in gbuild ExternalProject's 2022-04-12T11:57:32+00:00 Luboš Luňák l.lunak@collabora.com 2022-04-11T12:24:54+00:00 ea68de2968c0dbcd8e7549435e829db06795c16d A number of them didn't use it at all, others had it hand-written in various ways. Change-Id: Iaf86325f9cdc032926bac917dc3eef4e34661544 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132818 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
A number of them didn't use it at all, others had it hand-written
in various ways.

Change-Id: Iaf86325f9cdc032926bac917dc3eef4e34661544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132818
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
no longer force -arch:SSE on Windows 2020-05-07T08:58:53+00:00 Luboš Luňák l.lunak@collabora.com 2020-05-06T08:43:24+00:00 75edcfc0569ca76fa22db451fd61138e52870a62 SSE2 has been pretty much a requirement for running Windows since about 2018, so there should be ~nobody needing this. https://lists.freedesktop.org/archives/libreoffice/2020-May/085029.html Change-Id: I579eb92c18e42c57aa1421b889cfa7997b84915f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93558 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
SSE2 has been pretty much a requirement for running Windows since
about 2018, so there should be ~nobody needing this.
https://lists.freedesktop.org/archives/libreoffice/2020-May/085029.html

Change-Id: I579eb92c18e42c57aa1421b889cfa7997b84915f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93558
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
GBUILD_TRACE, support for finding out where the build time is spent 2020-02-16T13:49:45+00:00 Luboš Luňák l.lunak@collabora.com 2020-02-10T09:31:26+00:00 0adc9b615f118ebb78f5f2edfe0c1c0e41270d57 See instructions in solenv/gbuild/Trace.mk . This generates a file than can be viewed e.g. in the Chromium tracing view. Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.

Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
external/lpsolve: Avoid UBSan nullptr-with-nonzero-offset 2019-10-22T14:50:31+00:00 Stephan Bergmann sbergman@redhat.com 2019-10-22T09:54:02+00:00 65b239f8cab7e5a82438a617d8d9e022fc441138 ...(new with Clang 10 trunk), as seen during CppunitTest_sccomp_solver: > ../lp_presolve.c:171:34: runtime error: applying non-zero offset 8 to null pointer > #0 in presolve_rebuildUndo at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:171:34 > #1 in postsolve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:5673:5 > #2 in spx_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2067:9 > #3 in lin_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2159:12 > #4 in LpsolveSolver::solve() at sccomp/source/solver/LpsolveSolver.cxx:295:19 > #5 in (anonymous namespace)::LpSolverTest::testSolver(rtl::OUString const&) at sccomp/qa/unit/solver.cxx:106:14 > #6 in (anonymous namespace)::LpSolverTest::testLpSolver() at sccomp/qa/unit/solver.cxx:69:5 I have no idea whether this even remotely resembles a useful fix, though. Change-Id: I1a2796d3849967576f400737082e7377566aece9 Reviewed-on: https://gerrit.libreoffice.org/81321 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...(new with Clang 10 trunk), as seen during CppunitTest_sccomp_solver:

> ../lp_presolve.c:171:34: runtime error: applying non-zero offset 8 to null pointer
>  #0 in presolve_rebuildUndo at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:171:34
>  #1 in postsolve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:5673:5
>  #2 in spx_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2067:9
>  #3 in lin_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2159:12
>  #4 in LpsolveSolver::solve() at sccomp/source/solver/LpsolveSolver.cxx:295:19
>  #5 in (anonymous namespace)::LpSolverTest::testSolver(rtl::OUString const&) at sccomp/qa/unit/solver.cxx:106:14
>  #6 in (anonymous namespace)::LpSolverTest::testLpSolver() at sccomp/qa/unit/solver.cxx:69:5

I have no idea whether this even remotely resembles a useful fix, though.

Change-Id: I1a2796d3849967576f400737082e7377566aece9
Reviewed-on: https://gerrit.libreoffice.org/81321
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Drop unnecessary gb_DEBUG_CFLAGS 2019-01-24T10:25:03+00:00 Stephan Bergmann sbergman@redhat.com 2019-01-24T07:32:40+00:00 c2216d2d7a5bb0a82f79181fbc46708d35858afe ...which was at maximum set to GCC's -finline-limit=0 -fno-inline (solenv/gbuild/platform/com_GCC_defs.mk). Those options were set for debug builds "since forever", but that looks very much like cargo cult: -fno-inline "is the default when not optimizing" anyway (<https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/Optimize-Options.html>), and it is unclear to me how -finline-limit=0 should have any impact beyond -fno-inline (and maybe was present for ancient compilers that only supported -finline-limit but not -fno-inline?). Change-Id: Id6752d03b1b7ec8763defabc5720d4dd08790874 Reviewed-on: https://gerrit.libreoffice.org/66836 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...which was at maximum set to GCC's -finline-limit=0 -fno-inline
(solenv/gbuild/platform/com_GCC_defs.mk).  Those options were set for debug
builds "since forever", but that looks very much like cargo cult:  -fno-inline
"is the default when not optimizing" anyway
(<https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/Optimize-Options.html>), and it
is unclear to me how -finline-limit=0 should have any impact beyond -fno-inline
(and maybe was present for ancient compilers that only supported -finline-limit
but not -fno-inline?).

Change-Id: Id6752d03b1b7ec8763defabc5720d4dd08790874
Reviewed-on: https://gerrit.libreoffice.org/66836
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
lpsolve: always generate symbols with MSVC 2018-01-08T11:39:47+00:00 Michael Stahl mstahl@redhat.com 2018-01-08T11:21:31+00:00 65e63f48dac411de9e85ee5d8789f6d1329a0725 BinScope requires a PDB file to check the DLL; not worth the effort to conditionalize this. Change-Id: Ibb9800baa0932495504f0bebea2ffa765aa0cecf
BinScope requires a PDB file to check the DLL; not worth the effort
to conditionalize this.

Change-Id: Ibb9800baa0932495504f0bebea2ffa765aa0cecf
--enable-optimized should be orthogonal to --enable-debug/--enable-dbgutil 2017-06-22T09:59:14+00:00 Stephan Bergmann sbergman@redhat.com 2017-06-22T07:42:19+00:00 e751e24250fda31dde52b3c65ca79f86142dc789 Change-Id: I277f30129560ea9fa76d6439a60bb191358df99d Reviewed-on: https://gerrit.libreoffice.org/39088 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
Change-Id: I277f30129560ea9fa76d6439a60bb191358df99d
Reviewed-on: https://gerrit.libreoffice.org/39088
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>