File: castle-fpc-messages.cfg

package info (click to toggle)
castle-game-engine 7.0~alpha.3%2Bdfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 969,476 kB
  • sloc: pascal: 911,523; javascript: 28,186; cpp: 14,157; xml: 9,939; ansic: 9,229; java: 3,653; objc: 2,737; sh: 1,214; makefile: 657; php: 65; lisp: 21; ruby: 8
file content (89 lines) | stat: -rw-r--r-- 3,389 bytes parent folder | download | duplicates (3)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Customize messages displayed by FPC.
#
# FPC emits some messages that are unfortunately useless and unavoidable in user code,
# especially when using Generics.Collections.
# Every specializatoin of a generic container produces a number of messages
# that are not actionable.
# So we hide them, by using proper -vmXXX options.
#
# Why like this?
#
# - We hide messages selectively, by -vmXXX.
#   We don't want to unconditionally hide all FPC warnings,
#   as many FPC warnings are very useful to easily spot code problems.
#   We also don't want to train our eyes to ignore the warnings :),
#   which would happen if the output would be flooded by useless warnings.
#   Our applications should have a "clean" output from FPC,
#   with warnings + notes enabled.
#
# - Note that -vmXXXX has to be used conditionally, looking at FPC version,
#   for some messages. Otherwise older FPC versions would fail when they see
#   unrecognized -vmXXXX message.
#   The currently supported FPC versions by CGE are documented on
#   https://castle-engine.io/supported_compilers.php .
#
# - This is a subset of castle-fpc.cfg, useful to refer to from Lazarus LPI/LPK.
#   Using a common cfg file allows to share this logic between various LPI/LPK files.
#   Also, in Lazarus LPI it seems not possible to use stuff like
#   "if GetProjValue('FPC_FULLVERSION') >= 30101 then" in "Common options"
#   (although it works in Lazarus LPK).
#
# Note that Castle Game Engine build tool
# (see https://castle-engine.io/build_tool )
# has better filtering implementation,
# and instead of using -vmXXX it can (in some cases) filter out specific cases
# related to Generics.Collections.
# Our build tool doesn't use this cfg file.
#
# ----------------------------------------------------------------------------

# do not show Warning: (2045) APPTYPE is not supported by the target OS
-vm2045
# do not show Hint: (5024) Parameter "..." not used
-vm5024

# do not show
# Warning: Constructing a class "TCustomDictionaryEnumerator$4$crc6100464F" with abstract method "GetCurrent"
# Warning: Constructing a class "TCustomDictionaryEnumerator$4$crcBD4794B2" with abstract method "DoMoveNext"
# TODO: This is a pity, we also hide useful warnings this way.
# Submitted as https://bugs.freepascal.org/view.php?id=32142
-vm04046

#IFNDEF VER2
#IFNDEF VER3_0

# do not show Warning: Symbol "TArrayHelper$1" is experimental
# (only for FPC >= 3.1.1, for 3.0.x we fix this in our custom Generics.Collections unit)
# TODO: This is a pity, we also hide useful warnings this way.
-vm05063

# do not show
# Note: Private type "TCustomPointersEnumerator$2<CASTLEVECTORSINTERNALSINGLE.TGenericVector2,CASTLEVECTORS.TCustomList$1$crc1D7BB6F0.PT>.T" never used
-vm5071

#IFNDEF VER3_1

# do not show
# Note:  Call to subroutine "function TGenericVector3.Length:Single;" marked as inline is not inlined
# (In FPC 3.3.1, not in FPC 3.1.1 rev 38027)
-vm6058

# do not show
# Warning: Local variable "$1" of a managed type does not seem to be initialized
# (a lot of false warnings since FPC 3.3.1)
-vm5089

# do not show
# Warning: Variable "OutputFace" of a managed type does not seem to be initialized
# (3 false warnings since FPC 3.3.1 in Kraft)
-vm5090

# do not show
# Warning: function result variable of a managed type does not seem to be initialized
# (a lot of false warnings since FPC 3.3.1)
-vm5093

#ENDIF

#ENDIF
#ENDIF