Quoting Nicolas George (2021-02-04 15:48:03)
> Anton Khirnov (12021-02-04):
> > I don't think we have an official project policy on this, but I would
> > be in favor of something like:
> > 
> >     All installed headers are only guaranteed to provide those
> >     identifiers that are explicitly declared in them. Users must not
> >     rely on an installed header #include'ing any other specific headers,
> >     as those can change at any time.
> 
> That would probably be ok, but I would suggest to add:
> 
> ... explicitly declared or used in them.
> 
> If a function argument is size_t or int64_t, then we can expect size_t
> or int64_t to be defined.

That leads to undesirable situations, such as:
- header avfoo.h declares 'int64_t av_foo(void);'
- people start using av_foo() in their code, but do not include
  <stdint.h> because avfoo.h includes it for them
- at some later point av_foo() is deprecated and removed
- everyone depends on avfoo.h to provide int64_t, even though avfoo.h
  does not use it anymore

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to