Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hdfi.h is no longer included in hdf.h #521

Merged
merged 16 commits into from
Feb 13, 2024

Conversation

derobins
Copy link
Member

In the past, hdfi.h (an internal header file) was included in the
public hdf.h header. This is no longer the case. Anything that
should be public has been moved from hdfi.h to hdf.h, including:

* The C99-like types (e.g., float32)
* The archaic VOID/VOIDP macros * The intf Fortran integer type * The HD library macros (e.g., HDmalloc)

All of these things are considered obsolete and we only maintain
them in the public header so that old code does not have to be
modified. It is unwise to use them in new code.

  In the past, hdfi.h (an internal header file) was included in the
  public hdf.h header. This is no longer the case. Anything that
  should be public has been moved from hdfi.h to hdf.h, including:

    * The C99-like types (e.g., float32)
    * The archaic VOID/VOIDP macros
    * The intf Fortran integer type
    * The HD library macros (e.g., HDmalloc)

  All of these things are considered obsolete and we only maintain
  them in the public header so that old code does not have to be
  modified. It is unwise to use them in new code.
@derobins derobins added Component - C Library Core C library issues Component - Fortran Fortran wrappers Component - Tools Command-line tools like dumper and hdiff Component - netCDF netCDF interface and nc* command-line tools Component - Testing Test code, GitHub workflows Type - Deprecation / Removal We strive for backward-compatibility, so it's worth noting this separately Priority - 1. High 🔼 These are important issues that should be resolved in the next release labels Feb 13, 2024
@@ -14,8 +14,6 @@
#ifndef H4_API_ADPT_H
#define H4_API_ADPT_H

#include "h4config.h"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to hdf.h

@derobins
Copy link
Member Author

Wherever possible, internal library and test source/headers include hdfi.h. Tools and utility code only include hdf.h, wherever possible.

@derobins
Copy link
Member Author

Yay

#include "hdatainfo.h" /* Add the data info header */
#include "vg.h" /* Add the Vgroup/Vdata header so the users don't have to */
#include "mfgr.h" /* Add the GR header so the users don't have to */
#include "hdatainfo.h" /* data info header */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hdatainfo.h can be left out entirely, same for mfhdf/libsrc/mdatainfo.h

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove it in a future PR, when we remove the file.

@derobins derobins merged commit 086c9af into HDFGroup:master Feb 13, 2024
31 checks passed
@derobins derobins deleted the hdfi_h_no_longer_public branch March 3, 2024 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - C Library Core C library issues Component - Fortran Fortran wrappers Component - netCDF netCDF interface and nc* command-line tools Component - Testing Test code, GitHub workflows Component - Tools Command-line tools like dumper and hdiff Priority - 1. High 🔼 These are important issues that should be resolved in the next release Type - Deprecation / Removal We strive for backward-compatibility, so it's worth noting this separately
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants