Fix compiler warning

Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: arm64-apple-darwin20.4.0

Warning appeared after upgrade to Xcode 12.5 in several files,
example:

In file included from Fl_Scroll.cxx:19:
../FL/Fl_Scroll.H:102:17: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
  typedef struct {
                ^
                 ScrollInfo
../FL/Fl_Scroll.H:104:5: note: type is not C-compatible due to this member declaration
    typedef struct { int x,y,w,h; } Fl_Region_XYWH;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../FL/Fl_Scroll.H:128:5: note: type is given name 'ScrollInfo' for linkage purposes by this typedef declaration
  } ScrollInfo;
    ^
This commit is contained in:
Albrecht Schlosser
2021-05-03 21:22:40 +02:00
parent 1684eb7efe
commit 08a8e78d6e
+22 -18
View File
@@ -1,7 +1,7 @@
//
// Scroll header file for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2015 by Bill Spitzak and others.
// Copyright 1998-2021 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -93,6 +93,27 @@ class FL_EXPORT Fl_Scroll : public Fl_Group {
static void draw_clip(void*,int,int,int,int);
protected: // (STR#1895)
/// A local struct to manage a region defined by xywh
typedef struct { int x,y,w,h; } Fl_Region_XYWH;
/// A local struct to manage a region defined by left/right/top/bottom
typedef struct {
int l; ///< (l)eft "x" position, aka x1
int r; ///< (r)ight "x" position, aka x2
int t; ///< (t)op "y" position, aka y1
int b; ///< (b)ottom "y" position, aka y2
} Fl_Region_LRTB;
/// A local struct to manage a scrollbar's xywh region and tab values
typedef struct {
int x,y,w,h;
int pos; ///< scrollbar tab's "position of first line displayed"
int size; ///< scrollbar tab's "size of window in lines"
int first; ///< scrollbar tab's "number of first line"
int total; ///< scrollbar tab's "total number of lines"
} Fl_Scrollbar_Data;
/**
Structure to manage scrollbar and widget interior sizes.
This is filled out by recalc_scrollbars() for use in calculations
@@ -100,23 +121,6 @@ protected: // (STR#1895)
\version 1.3.3
*/
typedef struct {
/// A local struct to manage a region defined by xywh
typedef struct { int x,y,w,h; } Fl_Region_XYWH;
/// A local struct to manage a region defined by left/right/top/bottom
typedef struct {
int l; ///< (l)eft "x" position, aka x1
int r; ///< (r)ight "x" position, aka x2
int t; ///< (t)op "y" position, aka y1
int b; ///< (b)ottom "y" position, aka y2
} Fl_Region_LRTB;
/// A local struct to manage a scrollbar's xywh region and tab values
typedef struct {
int x,y,w,h;
int pos; ///< scrollbar tab's "position of first line displayed"
int size; ///< scrollbar tab's "size of window in lines"
int first; ///< scrollbar tab's "number of first line"
int total; ///< scrollbar tab's "total number of lines"
} Fl_Scrollbar_Data;
int scrollsize; ///< the effective scrollbar thickness (local or global)
Fl_Region_XYWH innerbox; ///< widget's inner box, excluding scrollbars
Fl_Region_XYWH innerchild; ///< widget's inner box, including scrollbars