@@ -10,7 +10,15 @@ module sqlite3
1010 implicit none (type, external )
1111 private
1212
13- integer , parameter :: c_unsigned_int = c_int
13+ #if defined (__flang__)
14+
15+ public :: c_unsigned
16+
17+ #else
18+
19+ integer , parameter :: c_unsigned = c_int
20+
21+ #endif
1422
1523 integer (kind= c_int), parameter , public :: SQLITE_INTEGER = 1
1624 integer (kind= c_int), parameter , public :: SQLITE_FLOAT = 2
@@ -750,15 +758,15 @@ end function sqlite3_prepare_v2_
750758
751759 ! int sqlite3_prepare_v3(sqlite3 *db, const char *sql, int nbyte, unsigned int prepFlags, sqlite3_stmt **stmt, const char **tail)
752760 function sqlite3_prepare_v3_ (db , sql , nbyte , prep_flags , stmt , tail ) bind(c, name= ' sqlite3_prepare_v3' )
753- import :: c_char, c_int, c_ptr, c_unsigned_int
754- implicit none
755- type (c_ptr), intent (in ), value :: db
756- character (kind= c_char), intent (in ) :: sql
757- integer (kind= c_int), intent (in ), value :: nbyte
758- integer (kind= c_unsigned_int ), intent (in ), value :: prep_flags
759- type (c_ptr), intent (inout ) :: stmt
760- type (c_ptr), intent (in ) :: tail
761- integer (kind= c_int) :: sqlite3_prepare_v3_
761+ import :: c_char, c_int, c_ptr, c_unsigned
762+ implicit none
763+ type (c_ptr), intent (in ), value :: db
764+ character (kind= c_char), intent (in ) :: sql
765+ integer (kind= c_int), intent (in ), value :: nbyte
766+ integer (kind= c_unsigned ), intent (in ), value :: prep_flags
767+ type (c_ptr), intent (inout ) :: stmt
768+ type (c_ptr), intent (in ) :: tail
769+ integer (kind= c_int) :: sqlite3_prepare_v3_
762770 end function sqlite3_prepare_v3_
763771
764772 ! int sqlite3_reset(sqlite3_stmt *stmt)
@@ -950,6 +958,7 @@ end subroutine sqlite3_str_reset
950958 end interface
951959
952960#if SQLITE_ENABLE_COLUMN_METADATA
961+
953962 interface
954963 ! const char *sqlite3_column_database_name(sqlite3_stmt *stmt, int icol)
955964 function sqlite3_column_database_name_ (stmt , icol ) bind(c, name= ' sqlite3_column_database_name' )
@@ -978,6 +987,7 @@ function sqlite3_column_table_name_(stmt, icol) bind(c, name='sqlite3_column_tab
978987 type (c_ptr) :: sqlite3_column_table_name_
979988 end function sqlite3_column_table_name_
980989 end interface
990+
981991#endif
982992contains
983993 type (c_ptr) function sqlite3_backup_init(dest, dest_name, source, source_name) result(ptr)
@@ -1250,6 +1260,7 @@ subroutine sqlite3_log(ierr_code, str)
12501260 end subroutine sqlite3_log
12511261
12521262#if SQLITE_ENABLE_COLUMN_METADATA
1263+
12531264 function sqlite3_column_database_name (stmt , icol ) result(name)
12541265 type (c_ptr), intent (inout ) :: stmt
12551266 integer , intent (in ) :: icol
@@ -1279,5 +1290,6 @@ function sqlite3_column_table_name(stmt, icol) result(name)
12791290 ptr = sqlite3_column_table_name_(stmt, icol)
12801291 call c_f_str_ptr(ptr, name)
12811292 end function sqlite3_column_table_name
1293+
12821294#endif
12831295end module sqlite3
0 commit comments