Skip to content

HarfBuzz 2.1.0 fails to build if default standard isn't C++11 or later #1338

@jbeich

Description

@jbeich

libc++ can provide nullptr surrogate (_VSTD::__get_nullptr_t()) but it requires <cstddef> which isn't always implicitly pulled. Maybe replace hb.h with hb.hh in src/test-ot-color.cc.

harfbuzz/src/hb.hh

Lines 97 to 101 in 1019391

#if __cplusplus < 201103L
#ifndef nullptr
#define nullptr NULL
#endif

GCC 4.8.5:

test-ot-color.cc: In function 'void layered_glyph_dump(hb_face_t*, cairo_font_face_t*, unsigned int)':
test-ot-color.cc:147:75: error: 'nullptr' was not declared in this scope
     unsigned int num_layers = hb_ot_color_glyph_get_layers (face, gid, 0, nullptr, nullptr);
                                                                           ^
test-ot-color.cc: In function 'int main(int, char**)':
test-ot-color.cc:285:25: error: 'nullptr' was not declared in this scope
   if (font_name_file != nullptr)
                         ^
test-ot-color.cc:292:25: error: 'nullptr' was not declared in this scope
   if (font_name_file == nullptr)
                         ^

Clang 3.4.1:

test-ot-color.cc:147:75: error: use of undeclared identifier 'nullptr'
    unsigned int num_layers = hb_ot_color_glyph_get_layers (face, gid, 0, nullptr, nullptr);
                                                                          ^
test-ot-color.cc:184:78: error: use of undeclared identifier 'nullptr'
        unsigned int num_colors = hb_ot_color_palette_get_colors (face, palette, 0, nullptr, nullptr);
                                                                                    ^
test-ot-color.cc:285:25: error: use of undeclared identifier 'nullptr'
  if (font_name_file != nullptr)
                        ^
test-ot-color.cc:292:25: error: use of undeclared identifier 'nullptr'
  if (font_name_file == nullptr)
                        ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions