https://bugzilla.redhat.com/show_bug.cgi?id=1414319
Bug ID: 1414319
Summary: freetype ftoption.h evaluates undefined macros
Product: Fedora
Version: 25
Component: freetype
Severity: low
Assignee: mkasik(a)redhat.com
Reporter: yeti(a)physics.muni.cz
QA Contact: extras-qa(a)fedoraproject.org
CC: behdad(a)fedoraproject.org,
fonts-bugs(a)lists.fedoraproject.org,
kevin(a)tigcc.ticalc.org, mkasik(a)redhat.com
Description of problem:
Header file /usr/include/freetype2/freetype/config/ftoption.h evaluates the
numerical value of undefined macro TT_CONFIG_OPTION_SUBPIXEL_HINTING. This is
somewhat annoying with -Wundef (and a poor practice).
Version-Release number of selected component (if applicable):
freetype-2.6.5-1.fc25
How reproducible:
Always.
Steps to Reproduce:
1. Create file bug.c with the following contents:
#include <ft2build.h>
#include FT_FREETYPE_H
2. Run (with freetype-devel installed)
gcc -Wundef -c $(pkg-config --cflags freetype2) bug.c
Actual results:
In file included from
/usr/include/freetype2/freetype/config/ftconfig-64.h:42:0,
from /usr/include/freetype2/freetype/config/ftconfig.h:9,
from /usr/include/freetype2/freetype/freetype.h:33,
from bug.c:2:
/usr/include/freetype2/freetype/config/ftoption.h:845:5: warning:
"TT_CONFIG_OPTION_SUBPIXEL_HINTING" is not defined [-Wundef]
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/freetype2/freetype/config/ftoption.h:849:5: warning:
"TT_CONFIG_OPTION_SUBPIXEL_HINTING" is not defined [-Wundef]
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expected results:
It compiles cleanly.
Additional info:
The numerical evaluation should be guarded by an #ifdef -- AFAICT the expected
behaviour when TT_CONFIG_OPTION_SUBPIXEL_HINTING is undefined is that neither
TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY nor TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
should be defined:
--- ftoption.h.orig 2017-01-18 10:41:32.517812687 +0100
+++ ftoption.h 2017-01-18 10:42:16.852136325 +0100
@@ -842,6 +842,7 @@
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_USE_BYTECODE_INTERPRETER
+#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
#endif
@@ -850,6 +851,7 @@
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
#endif
#endif
+#endif
/*
--
You are receiving this mail because:
You are on the CC list for the bug.