Commit Graph

553 Commits

Author SHA1 Message Date
Azat Khuzhin
995c3da1c3 Disable memory tracking for gcc TSAN/ASAN
Since libtsan.a provides new/delete overrides too:

    ld.lld: error: duplicate symbol: operator new[](unsigned long, std::nothrow_t const&)
    >>> defined at new_delete.cpp:64 (../src/Common/new_delete.cpp:64)
    >>>            new_delete.cpp.o:(operator new[](unsigned long, std::nothrow_t const&)) in archive src/libclickhouse_new_delete.a
    >>> defined at tsan_new_delete.o:(.text+0xE0) in archive /usr/lib/gcc/x86_64-linux-gnu/10/libtsan.a

v2: Fix order of src vs programs for clickhouse_new_delete target detection
2020-12-16 21:31:03 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
8e035a7518 build: pass the c++ standard for compiling llvm
Yes clickhosue set gnu++2a globally, but this will not work, since
default -std=c++11 will be added later, look:

    clang++ -std=gnu++2a ... -std=c++11 -Wall -Wextra contrib/llvm/...
2020-12-11 01:32:38 +03:00
Nikita Mikhaylov
80d4af9a73
Merge pull request #17874 from nikitamikhaylov/calendar-date
Merging #17750
2020-12-10 00:19:04 +03:00
PHO
f4204b10ea Fix build with GCC 9.x
Use -std=gnu++2a regardless of whether UNBUNDLED or not, because __int128
is a non-standard builtin and GCC, unlike Clang, only considers it to be
an integral type when GNU extensions are enabled.
2020-12-07 16:00:32 +03:00
Maksim Kita
80d66b8868 FastFloat library integration 2020-12-06 23:37:35 +03:00
Ivan
315ff4f0d9
ANTLR4 Grammar for ClickHouse and new parser (#11298) 2020-12-04 05:15:44 +03:00
Denis Glazachev
0e6dd287e7 Fix CMake generation and build for native Xcode and AppleClang 2020-11-27 20:33:16 +04:00
vdimir
e2fac19686
Remove libbtrie 2020-11-21 21:31:15 +03:00
root
e9de5b6ad4 Add StorageEmbeddedRocksdb Engine 2020-11-11 09:08:52 +08:00
Danila Kutenin
3c6794bf37 Add Floyd-Rivest selection algorithm instead of std::partial_sort 2020-11-09 20:22:05 +03:00
Alexey Milovidov
885bd84720 Remove trash from CMakeLists 2020-10-28 20:48:02 +03:00
alexey-milovidov
1eb8bb19f0
Merge pull request #15608 from danlark1/clang-pass-manager
Use experimental pass manager by default in clang
2020-10-05 18:05:57 +03:00
alesapin
a644512fce Better comment 2020-10-05 12:58:23 +03:00
alesapin
8f41b87737 Better fix 2020-10-05 12:57:28 +03:00
alesapin
3fbbb6bef9 Fix flag 2020-10-05 12:39:03 +03:00
alesapin
5281288bf6 More strict check to add clickhouse_memcpy 2020-10-05 10:23:18 +03:00
Danila Kutenin
a3d27962a7 Add experimental pass manager by default in clang 2020-10-05 09:01:51 +03:00
alesapin
677a7e485f Don't add memcpy for sanitizers builds 2020-10-02 09:57:13 +03:00
Amos Bird
7c9bbe4c29 Neutrialize thinlto's memcpy libcall gen.
(cherry picked from commit 8ffa4d395c)
2020-10-01 22:22:32 +03:00
alesapin
409aaabc2f Revert "Add fno-builtin-memcpy"
This reverts commit 94ab1313e3.
2020-10-01 22:22:14 +03:00
alesapin
94ab1313e3 Add fno-builtin-memcpy 2020-10-01 10:39:27 +03:00
alesapin
38e50d1078 Revert "enable FastMemcpy properly"
This reverts commit 6e23901227.
2020-10-01 10:38:06 +03:00
Amos Bird
6e23901227 enable FastMemcpy properly 2020-09-30 18:52:49 +03:00
Alexey Milovidov
07b931a414 Prepare for LLVM-11 2020-09-28 04:21:40 +03:00
alesapin
269d225637 Merge branch 'master' into myrrc-feature-cmake-flags-doc-generator 2020-09-22 17:00:02 +03:00
Alexey Milovidov
5301de7656 Control heavy translation units 2020-09-20 23:43:28 +03:00
myrrc
07317644eb added explicit tests disabled status 2020-09-19 21:05:40 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
myrrc
ac606dca77 updated cmake/ files, added some comments 2020-09-17 18:37:23 +03:00
myrrc
acff0feb58 slighly updated CMake files 2020-09-17 18:09:59 +03:00
myrrc
b3d236a535 few description fixes 2020-09-16 12:42:55 +03:00
myrrc
42b22c3424 fixed handling of conditional options 2020-09-16 00:35:06 +03:00
myrrc
dc94a754dd minor bugs fixed, slightly modified main cmake 2020-09-15 23:17:24 +03:00
myrrc
bd1a7c69ba rewrote code from bash to python 2020-09-15 22:32:42 +03:00
Konstantin Podshumok
e296997b6c
cmake: fix potential curl linking problems
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:44 +03:00
Konstantin Podshumok
5097793872
cmake: Fix odbc in unbudled
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:43 +03:00
Konstantin Podshumok
d989e59699
unbundled: link with termcap when using static llvm
ld.lld: error: undefined symbol: setupterm
referenced by Process.cpp.o:(llvm::sys::Process::FileDescriptorHasColors(int)) in archive /usr/lib/llvm-9/lib/libLLVMSupport.a

Squashed:
- fixup termcap + external llvm

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
d739c6a38f
Revert "Merge pull request #13689 from ClickHouse/remove-termcap"
This reverts commit da8d8f35dd, reversing
changes made to c3d0a87b8b.
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
cc6a59d59b
cmake: disable internal ORC when using external Parquet
Squashed:
- fix internal poco linking with `zlib`

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
e101db600c
cmake: set USE_INTERNAL_SPARSEHASH_LIBRARY=ON by default
as we don't know any distribution with sparsehash-c11 package

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:40 +03:00
Konstantin Podshumok
1913522233
cmake: always use internal poco library as it went too far from upstream
Squashed:
- cmake: move USE_INTERNAL_POCO_LIBRARY option to separate file
- point contrib/poco to "add <atomic> to TCPServerDispatcher"

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
2fc37bd694
cmake: enable FAIL_ON_UNSUPPORTED_OPTIONS_COMBINATION by default
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
ad23bf46b6
cmake: message when ThinLTO is enabled without clang
Squashed:
- ENABLE_THINLTO shouldn't be enabled by default when tests or sanitizers are enabled

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
d456aa86ef
Revert "Revert "cmake: Add option to fail configuration instead of auto-reconfiguration""
This reverts commit 89419ceb9b
(curl part moved to separate commit)

Squashed:
- termcap removed
- fix for cassandra on apple merged
- cmake: fix "Can't find system zlib library" in unbundled build
- cmake: fix condition when testing for rdkafka platform
- cmake: PROTOBUF_OLD_ABI_COMPAT shouldn't be enabled for internal protobuf

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:37 +03:00
alexey-milovidov
fb0e68f808
Merge pull request #12771 from arenadata/ADQM-109
krb5 + cyrus-sasl + kerberized kafka
2020-08-20 20:13:01 +03:00
Azat Khuzhin
4e003dc908 Use gnu++2a instead of c++2a for unbundled build to fix numeric_limits<__int128> 2020-08-19 21:08:04 +03:00
Alexey Milovidov
ad20a384c1 Remove useless code 2020-08-14 02:55:10 +03:00
alexey-milovidov
89419ceb9b
Revert "cmake: Add option to fail configuration instead of auto-reconfiguration" 2020-08-13 23:10:06 +03:00