[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 Tobias Burnus changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #12 from Tobias Burnus 2010-09-28 19:55:51 UTC --- Really mark as FIXED.
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #11 from Tobias Burnus 2010-09-28 19:52:55 UTC --- Close as FIXED (for 4.6). Separately tracked follow ups: For updating check_inquiry, cf. PR 45824. For the bogus warning, cf. PR 45823 (In reply to comment #9) > this is nice... can this be used in an initialization expression ? > > CHARACTER(LEN=100), PARAMETER :: module_compile_info = & > compiler_version()//compiler_options() Yes, but you need to add "use iso_fortran_env".
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #10 from Tobias Burnus 2010-09-28 19:51:42 UTC --- Author: burnus Date: Tue Sep 28 19:51:38 2010 New Revision: 164698 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164698 Log: gcc/ 2010-09-28 Tobias Burnus PR fortran/40569 PR fortran/40568 * toplev.h (save_decoded_options, save_decoded_options_count): New global variables. * toplev.c (save_decoded_options, save_decoded_options_count): export variables. gcc/fortran/ 2010-09-28 Tobias Burnus PR fortran/40569 PR fortran/40568 * intrinsic.c (add_functions): Make compiler_version and compiler_options CLASS_INQUIRY. * gfortran.h (gfc_get_option_string): New prototype. * intrinsic.texi (COMPILER_VERSION, COMPILER_OPTIONS): Add documentation. (C_SIZEOF): Mark as inquiry function of ISO_C_BINDING. (ISO_FORTRAN_ENV): Refer to COMPILER_VERSION and COMPILER_OPTIONS. (ISO_C_BINDING): Refer to C_SIZEOF. * options.c (gfc_get_option_string): New function. * simplify.c (gfc_simplify_compiler_options): Use it. (gfc_simplify_compiler_version): Include compiler name. Modified: trunk/gcc/ChangeLog trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/intrinsic.c trunk/gcc/fortran/intrinsic.texi trunk/gcc/fortran/options.c trunk/gcc/fortran/simplify.c trunk/gcc/toplev.c trunk/gcc/toplev.h
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 Joost VandeVondele changed: What|Removed |Added CC||Joost.VandeVondele at pci ||dot uzh.ch --- Comment #9 from Joost VandeVondele 2010-09-28 08:38:52 UTC --- this is nice... can this be used in an initialization expression ? MODULE X CHARACTER(LEN=100), PARAMETER :: module_compile_info=compiler_version()//compiler_options() END MODULE
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #8 from Tobias Burnus 2010-09-27 06:34:09 UTC --- (In reply to comment #7) > (In reply to comment #6) > > Basic implementation works. Remains to do: > ... > (c) CLASS_INQUIRY instead of CLASS_IMPURE? (d) Documentation in intrinsic.texi
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #7 from Tobias Burnus 2010-09-26 22:46:10 UTC --- (In reply to comment #6) > Basic implementation works. Remains to do: ... (c) CLASS_INQUIRY instead of CLASS_IMPURE?
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #6 from Tobias Burnus 2010-09-26 22:40:26 UTC --- Basic implementation works. Remains to do: (a) COMPILER_OPTIONS(): Return a more useful string than "" (b) "-Wall" gives a bogus warning: Warning: Type specified for intrinsic function 'compiler_version' at (1) is ignored for use iso_fortran_env, only: compiler_version print *,compiler_version() end
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #5 from Tobias Burnus 2010-09-26 22:30:52 UTC --- Author: burnus Date: Sun Sep 26 22:30:48 2010 New Revision: 164639 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164639 Log: 2010-09-27 Tobias Burnus 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 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. Added: trunk/gcc/testsuite/gfortran.dg/c_sizeof_3.f90 trunk/gcc/testsuite/gfortran.dg/c_sizeof_4.f90 trunk/gcc/testsuite/gfortran.dg/iso_c_binding_compiler_1.f90 trunk/gcc/testsuite/gfortran.dg/iso_c_binding_compiler_2.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/intrinsic.c trunk/gcc/fortran/intrinsic.h trunk/gcc/fortran/iso-c-binding.def trunk/gcc/fortran/iso-fortran-env.def trunk/gcc/fortran/module.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/simplify.c trunk/gcc/fortran/symbol.c trunk/gcc/fortran/trans-types.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/c_sizeof_1.f90 trunk/gcc/testsuite/gfortran.dg/c_sizeof_2.f90 trunk/gcc/testsuite/gfortran.dg/storage_size_2.f08
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #4 from Tobias Burnus 2010-09-25 22:43:13 UTC --- Patch: http://gcc.gnu.org/ml/fortran/2010-09/msg00455.html
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569 --- Comment #3 from Tobias Burnus 2010-09-25 12:34:38 UTC --- First part of an implementation. TODO: (a) Use a module rather than the normal name space. (b) Get the command line options; cf. http://gcc.gnu.org/ml/gcc-patches/2010-09/msg02006.html --- intrinsic.c (Revision 164618) +++ intrinsic.c (Arbeitskopie) @@ -2613,0 +2615,6 @@ add_functions (void) + +/* MOVE TO MODULE: ISO_FORTRAN_ENV. */ + add_sym_0 ("compiler_options", GFC_ISYM_COMPILER_VERSION, CLASS_IMPURE, ACTUAL_NO, BT_CHARACTER, +1, GFC_STD_F2008, NULL, gfc_simplify_compiler_options, NULL); + add_sym_0 ("compiler_version", GFC_ISYM_COMPILER_VERSION, CLASS_IMPURE, ACTUAL_NO, BT_CHARACTER, +1, GFC_STD_F2008, NULL, gfc_simplify_compiler_version, NULL); --- simplify.c (Revision 164618) +++ simplify.c @@ -29,2 +29,3 @@ along with GCC; see the file COPYING3. #include "constructor.h" +#include "version.h" /* For version_string. */ @@ -6735 +6736,17 @@ gfc_convert_char_constant (gfc_expr *e, } + + +gfc_expr * +gfc_simplify_compiler_options (void) +{ + return NULL; +} + + +gfc_expr * +gfc_simplify_compiler_version (void) +{ + return gfc_get_character_expr (gfc_default_character_kind, +&gfc_current_locus, version_string, +strlen (version_string)); +} -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug.
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
--- Comment #2 from burnus at gcc dot gnu dot org 2010-06-23 16:46 --- Cf. PR 40568 for "C_SIZEOF", a F2008 module procedure of ISO_C_BINDING -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
-- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added OtherBugsDependingO||39627 nThis|| Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-07-05 09:15:48 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569
[Bug fortran/40569] F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION()
--- Comment #1 from burnus at gcc dot gnu dot org 2009-06-27 19:44 --- Do not forget to update intrinsic.texi! For the missing constants in ISO_FORTRAN_ENV, see PR 40571 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40569