1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f
https://github.com/doxygen/doxygen/pull/11064
https://github.com/bisqwit/TinyDeflate/commit/68ced8bd5c819264e628d4f063500753b77f613d
https://github.com/bisqwit/TinyDeflate/pull/9
From cff64a87dea7596fd506a85521d4df4616dc845f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Fri, 9 Aug 2024 14:13:34 +0200
Subject: [PATCH] Fix build with clang >= 19.0
Clang >= 19.0 requires a template argument list after the template
keyword for CWG96 compliance, see
https://github.com/llvm/llvm-project/pull/80801
This patch has also been submitted to upstream TinyDeflate as
https://github.com/bisqwit/TinyDeflate/pull/9
--- a/deps/TinyDeflate/gunzip.hh
+++ b/deps/TinyDeflate/gunzip.hh
@@ -1141,21 +1141,21 @@ namespace gunzip_ns
//fprintf(stderr, "both track flag\n");
SizeTracker<DeflateTrackBothSize> tracker;
return tracker(Gunzip<code & Flag_NoTrackFlagMask>
- (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b)));
+ (tracker.template ForwardInput<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b)));
}
else if constexpr(code & Flag_TrackIn)
{
//fprintf(stderr, "in track flag\n");
SizeTracker<DeflateTrackInSize> tracker;
return tracker(Gunzip<code & Flag_NoTrackFlagMask>
- (tracker.template ForwardInput(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b)));
+ (tracker.template ForwardInput<I>(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b)));
}
else if constexpr(code & Flag_TrackOut)
{
//fprintf(stderr, "out track flag\n");
SizeTracker<DeflateTrackOutSize> tracker;
return tracker(Gunzip<code & Flag_NoTrackFlagMask>
- (std::forward<I>(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b)));
+ (std::forward<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b)));
}
else
{
|