]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/intrinsic.h
re PR fortran/40569 (F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION())
authorTobias Burnus <burnus@net-b.de>
Sun, 26 Sep 2010 22:30:48 +0000 (00:30 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Sun, 26 Sep 2010 22:30:48 +0000 (00:30 +0200)
commitd000aa67bc4dce06a1436d6b3fbab8134ce38d34
treef28e0b9963e89079003a4eeca7f1c08e9b8a5a35
parent414e8be2b09d9a50d39d8c6d48ebc0a95f6e2040
re PR fortran/40569 (F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION())

2010-09-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40569
        PR fortran/40568
        * intrinsic.h (gfc_simplify_compiler_options,
        gfc_simplify_compiler_version): New prototypes.
        * intrinsic.c (gfc_intrinsic_function_by_id,
        make_from_module): New functions.
        (gfc_find_function, gfc_find_subroutine, gfc_generic_intrinsic,
        gfc_specific_intrinsic): Don't return module intrinsics.
        (add_functions): Add compiler_options, compiler_version.
        (gfc_intrinsic_func_interface): Also lookup symbol by ISYM ID.
        * symbol.c (std_for_isocbinding_symbol): Add version check for
        NAMED_FUNCTIONS.
        * iso-fortran-env.def: Add compiler_options, compiler_version.
        * iso-c-binding.def: Add c_sizeof.
        * gfortran.h (gfc_intrinsic_sym): Add from_module:1.
        (iso_c_binding_symbol, iso_fortran_env_symbol): Add NAMED_FUNCTIONS.
        (gfc_intrinsic_function_by_id): New prototype.
        * module.c (create_intrinsic_function): New function.
        (import_iso_c_binding_module, use_iso_fortran_env_module): Use it.
        * trans-types.c (init_c_interop_kinds): Add NAMED_FUNCTIONS.
        * resolve.c (resolve_intrinsic): Try also to resolve intrinsics
        by ISYM ID.
        * simplify.c (gfc_simplify_compiler_options,
        gfc_simplify_compiler_version): New functions.

2010-09-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40569
        PR fortran/40568
        * gfortran.dg/storage_size_2.f08: Fix test.
        * gfortran.dg/c_sizeof_1.f90: Fix test.
        * gfortran.dg/c_sizeof_2.f90: Update dg-error.
        * gfortran.dg/c_sizeof_3.f90: New.
        * gfortran.dg/c_sizeof_4.f90: New.
        * gfortran.dg/iso_c_binding_compiler_1.f90: New.
        * gfortran.dg/iso_c_binding_compiler_2.f90: New.

From-SVN: r164639
19 files changed:
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/intrinsic.c
gcc/fortran/intrinsic.h
gcc/fortran/iso-c-binding.def
gcc/fortran/iso-fortran-env.def
gcc/fortran/module.c
gcc/fortran/resolve.c
gcc/fortran/simplify.c
gcc/fortran/symbol.c
gcc/fortran/trans-types.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/c_sizeof_1.f90
gcc/testsuite/gfortran.dg/c_sizeof_2.f90
gcc/testsuite/gfortran.dg/c_sizeof_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_sizeof_4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/iso_c_binding_compiler_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/iso_c_binding_compiler_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/storage_size_2.f08