-
Notifications
You must be signed in to change notification settings - Fork 719
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
Resolves building issues with Intel compilers (ifx/icx) #1823
Conversation
Adding/Replacing missing prototypes. Remove unsupported/bogus compiler switches.
Jenkins test results:
|
@mgs-52 This should target |
Yes, this should go into the next release. My own testing with the latest Intel compilers from their download page also works with these updates |
@mgs-52 Can you let us know your affiliation, so that we can fill the SOURCE section of the PR? Thanks. |
@mgs-52 Any updates? I think affiliation/SOURCE is the last change needed |
Well. Technically I'm working in Intel. However this change I did on my own so fill free to Include Intel or not :). |
How about your name? Would you want to include your real name? With that, we don't have to add Intel. |
Alexander (Alex) Knyazev. |
@mgduda When you get a chance, could you take a look at this? Ignoring whitespace changes most of the edits are rearrangement of function order and fixing bad function signatures (implicit returns and Fortran-esque argument typing) |
@mgs-52 May you please do the same job for the codes under WRF/chem (especially those of KPP) as well? I guess WRF-chem users may also get trouble with ifx/icx. Actually, I have done the code modification dealing with the issues of missing of prototypes and function order, and successfully built the WRF with WRF_CHEM=1 and WRF_KPP=1 using the newest Intel compilers. Well, as this is of the same issue that this pull is dealing with, I therefore suggest to complete the same job taking into account WRF-chem before the pull to be merged. What do you think @weiwangncar @islas? |
@ahheo Can you point out the files you modified for ifx/icx in chem/ directory? I think it is also ok to do another PR to address WRF-Chem. |
@weiwangncar I have done another PR #1942 as you suggested. |
@mgs-52 Alexander Knyazev, |
Intel, but I as stated above this doesn't need to be included since I did it on my own. |
Fixes compilation using Intel oneAPI compiler
|
Adding/Replacing missing prototypes. Remove unsupported/bogus compiler switches. TYPE: Bug fix KEYWORDS: Missing prototypes, old unsupported compile options SOURCE: Alexander Knyazev DESCRIPTION OF CHANGES: Problem: Most C code written long ago. No prototypes were used. Solution: Add missing prototypes. LIST OF MODIFIED FILES: external/io_grib1/grib1_util/read_grib.c external/io_grib1/grib1_util/write_grib.c external/io_grib1/grib1_util/read_grib.h external/io_grib1/MEL_grib1/FTP_getfile.c external/io_grib1/MEL_grib1/gribfuncs.h external/io_grib1/MEL_grib1/gribgetbds.c external/io_grib1/MEL_grib1/upd_child_errmsg.c external/io_grib1/MEL_grib1/gribhdr2file.c external/io_grib1/MEL_grib1/init_enc_struct.c external/io_grib1/MEL_grib1/init_gribhdr.c external/io_grib1/MEL_grib1/init_struct.c external/io_grib1/MEL_grib1/ld_enc_input.c external/io_grib1/MEL_grib1/ld_enc_lookup.c external/io_grib1/MEL_grib1/map_lvl.c external/io_grib1/MEL_grib1/map_parm.c external/io_grib1/MEL_grib1/prt_inp_struct.c external/io_grib1/MEL_grib1/prt_badmsg.c external/io_grib1/MEL_grib1/set_bytes.c external/io_grib1/MEL_grib1/ld_grib_origctrs.c external/io_grib1/gribmap.c external/io_grib1/grib1_routines.c external/io_grib1/gribmap.h external/io_grib1/trim.c external/io_grib1/trim.h external/io_grib_share/get_region_center.c external/io_grib_share/open_file.c external/RSL_LITE/gen_comms.c external/RSL_LITE/c_code.c external/RSL_LITE/buf_for_proc.c external/RSL_LITE/rsl_malloc.c external/RSL_LITE/rsl_bcast.c external/RSL_LITE/task_for_point.c external/RSL_LITE/period.c external/RSL_LITE/swap.c external/RSL_LITE/cycle.c external/RSL_LITE/rsl_lite.h tools/protos.h tools/reg_parse.c tools/misc.c tools/symtab_gen.c tools/gen_config.c tools/sym.c tools/gen_streams.c tools/gen_irr_diag.c tools/sym.h frame/pack_utils.c arch/configure.defaults TESTS CONDUCTED: 1. Compilation with Intel oneAPI compiler works with these changes. 2. The Jenkins tests are all passing. RELEASE NOTE: This PR fixed some c code by adding and replacing missing prototypes. This also allows the new Intel oneAPI compiler to work. Remove unsupported/bogus compiler switches.
Adding/Replacing missing prototypes. Remove unsupported/bogus compiler switches.
TYPE: Bug fix
KEYWORDS: Missing Prototypes
SOURCE: Alexander Knyazev
DESCRIPTION OF CHANGES:
Problem: Most C code written long ago. No prototypes were used.
Solution:
Add missing prototypes.
LIST OF MODIFIED FILES:
external/io_grib1/grib1_util/read_grib.c
external/io_grib1/grib1_util/write_grib.c
external/io_grib1/grib1_util/read_grib.h
external/io_grib1/MEL_grib1/FTP_getfile.c
external/io_grib1/MEL_grib1/gribfuncs.h
external/io_grib1/MEL_grib1/gribgetbds.c
external/io_grib1/MEL_grib1/upd_child_errmsg.c
external/io_grib1/MEL_grib1/gribhdr2file.c
external/io_grib1/MEL_grib1/init_enc_struct.c
external/io_grib1/MEL_grib1/init_gribhdr.c
external/io_grib1/MEL_grib1/init_struct.c
external/io_grib1/MEL_grib1/ld_enc_input.c
external/io_grib1/MEL_grib1/ld_enc_lookup.c
external/io_grib1/MEL_grib1/map_lvl.c
external/io_grib1/MEL_grib1/map_parm.c
external/io_grib1/MEL_grib1/prt_inp_struct.c
external/io_grib1/MEL_grib1/prt_badmsg.c
external/io_grib1/MEL_grib1/set_bytes.c
external/io_grib1/MEL_grib1/ld_grib_origctrs.c
external/io_grib1/gribmap.c
external/io_grib1/grib1_routines.c
external/io_grib1/gribmap.h
external/io_grib1/trim.c
external/io_grib1/trim.h
external/io_grib_share/get_region_center.c
external/io_grib_share/open_file.c
external/RSL_LITE/gen_comms.c
external/RSL_LITE/c_code.c
external/RSL_LITE/buf_for_proc.c
external/RSL_LITE/rsl_malloc.c
external/RSL_LITE/rsl_bcast.c
external/RSL_LITE/task_for_point.c
external/RSL_LITE/period.c
external/RSL_LITE/swap.c
external/RSL_LITE/cycle.c
external/RSL_LITE/rsl_lite.h
tools/protos.h
tools/reg_parse.c
tools/misc.c
tools/symtab_gen.c
tools/gen_config.c
tools/sym.c
tools/gen_streams.c
tools/gen_irr_diag.c
tools/sym.h
frame/pack_utils.c
arch/configure.defaults
TESTS CONDUCTED:
RELEASE NOTE: This PR fixed some c code by adding and replacing missing prototypes to allow Intel oneAPI compiler to work. Remove unsupported/bogus compiler switches.