public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/54687] New: Use gcc option machinery for gfortran
@ 2012-09-24  5:32 tkoenig at gcc dot gnu.org
  2012-09-24 10:47 ` [Bug fortran/54687] " manu at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2012-09-24  5:32 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

             Bug #: 54687
           Summary: Use gcc option machinery for gfortran
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: tkoenig@gcc.gnu.org
                CC: manu@gcc.gnu.org


It would be nice if gfortran used the normal gcc option
machinery (including the generated variables).

See

http://gcc.gnu.org/ml/fortran/2012-09/msg00090.html

for some details.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
@ 2012-09-24 10:47 ` manu at gcc dot gnu.org
  2014-10-07 16:14 ` manu at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: manu at gcc dot gnu.org @ 2012-09-24 10:47 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-09-24
             Blocks|                            |44054
     Ever Confirmed|0                           |1

--- Comment #1 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-09-24 10:46:41 UTC ---
This is also a pre-requisite for using LangEnabledBy to encode options
dependencies in fortran/lang.opt file.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
  2012-09-24 10:47 ` [Bug fortran/54687] " manu at gcc dot gnu.org
@ 2014-10-07 16:14 ` manu at gcc dot gnu.org
  2014-12-11 16:25 ` burnus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: manu at gcc dot gnu.org @ 2014-10-07 16:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
Author: manu
Date: Tue Oct  7 16:13:22 2014
New Revision: 215974

URL: https://gcc.gnu.org/viewcvs?rev=215974&root=gcc&view=rev
Log:
gcc/fortran/ChangeLog:

2014-10-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>

    PR fortran/44054
    PR fortran/54687
    * gfortran.h (gfc_warning_cmdline): Add overload that takes an
    option.
    (gfc_error_cmdline): Declare.
    * error.c (gfc_warning_cmdline): New overload that takes an option.
    (gfc_error_cmdline): New.
    * lang.opt (Wmissing-include-dirs): New.
    * scanner.c (add_path_to_list): Use the new functions.
    (load_file): Likewise.
    * options.c (gfc_init_options): Wmissing-include-dirs is enabled
    by default in Fortran.
    (gfc_handle_option): Accept automatically handled options.



Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/error.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/lang.opt
    trunk/gcc/fortran/options.c
    trunk/gcc/fortran/scanner.c
>From gcc-bugs-return-463453-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Oct 07 16:14:04 2014
Return-Path: <gcc-bugs-return-463453-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 25945 invoked by alias); 7 Oct 2014 16:14:03 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 25804 invoked by uid 55); 7 Oct 2014 16:13:59 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/44054] Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color
Date: Tue, 07 Oct 2014 16:14:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.6.0
X-Bugzilla-Keywords: diagnostic
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-44054-4-pbJr8kO4XO@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-44054-4@http.gcc.gnu.org/bugzilla/>
References: <bug-44054-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg00474.txt.bz2
Content-length: 1123

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44054

--- Comment #16 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
Author: manu
Date: Tue Oct  7 16:13:22 2014
New Revision: 215974

URL: https://gcc.gnu.org/viewcvs?rev=215974&root=gcc&view=rev
Log:
gcc/fortran/ChangeLog:

2014-10-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>

    PR fortran/44054
    PR fortran/54687
    * gfortran.h (gfc_warning_cmdline): Add overload that takes an
    option.
    (gfc_error_cmdline): Declare.
    * error.c (gfc_warning_cmdline): New overload that takes an option.
    (gfc_error_cmdline): New.
    * lang.opt (Wmissing-include-dirs): New.
    * scanner.c (add_path_to_list): Use the new functions.
    (load_file): Likewise.
    * options.c (gfc_init_options): Wmissing-include-dirs is enabled
    by default in Fortran.
    (gfc_handle_option): Accept automatically handled options.



Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/error.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/lang.opt
    trunk/gcc/fortran/options.c
    trunk/gcc/fortran/scanner.c
>From gcc-bugs-return-463455-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Oct 07 16:18:36 2014
Return-Path: <gcc-bugs-return-463455-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 30241 invoked by alias); 7 Oct 2014 16:18:35 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 30203 invoked by uid 55); 7 Oct 2014 16:18:31 -0000
From: "yroux at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug bootstrap/61565] [4.10 Regression] ICE building libjava/interpret.cc
Date: Tue, 07 Oct 2014 16:18:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: bootstrap
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords: EH, ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: yroux at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: rth at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61565-4-84hPc6C9pJ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61565-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61565-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg00476.txt.bz2
Content-length: 964

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida565

--- Comment #6 from Yvan Roux <yroux at gcc dot gnu.org> ---
Author: yroux
Date: Tue Oct  7 16:17:57 2014
New Revision: 215975

URL: https://gcc.gnu.org/viewcvs?rev!5975&root=gcc&view=rev
Log:
2014-10-07  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

    Backport from trunk r209643, r211881.
    2014-06-22  Richard Henderson  <rth@redhat.com>

    PR target/61565
    * compare-elim.c (struct comparison): Add eh_note.
    (find_comparison_dom_walker::before_dom_children): Don't eliminate
    a redundant comparison in a different EH region.  Purge EH edges if
    necessary.

    2014-04-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

    * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.


Modified:
    branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
    branches/linaro/gcc-4_9-branch/gcc/compare-elim.c
    branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
  2012-09-24 10:47 ` [Bug fortran/54687] " manu at gcc dot gnu.org
  2014-10-07 16:14 ` manu at gcc dot gnu.org
@ 2014-12-11 16:25 ` burnus at gcc dot gnu.org
  2014-12-11 16:58 ` manu at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-12-11 16:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> ---
At least all warnings should be handled now (work done as part of PR44054 and
in the separate but related commit r218188).

Is there still something missing?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-12-11 16:25 ` burnus at gcc dot gnu.org
@ 2014-12-11 16:58 ` manu at gcc dot gnu.org
  2014-12-16 19:30 ` burnus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: manu at gcc dot gnu.org @ 2014-12-11 16:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|44054                       |

--- Comment #5 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #4)
> At least all warnings should be handled now (work done as part of PR44054
> and in the separate but related commit r218188).
> 
> Is there still something missing?

Note that the options machinery has ways to encode String->Enum options, so
things like gfc_handle_coarray_option and the handling of OPT_finit_real_ are
redundant (and others).

(Personally, I think the way to describe such options in the .opt file is a bit
ugly, but incremental improvements like your '||' patch are possible)

The options machinery can also handle Alias options transparently such as
OPT_fdump_fortran_original and OPT_fdump_parse_tree.

Also, my intuition tells me that any explicit handling of optimization options
that does not use the common machinery such as:

  if (gfc_option.flag_protect_parens == -1)
    gfc_option.flag_protect_parens = !optimize_fast;

  if (gfc_option.flag_stack_arrays == -1)
    gfc_option.flag_stack_arrays = optimize_fast;

will at some moment, if not already, miss any automatic merging of optimization
options for LTO or automatic setting via #pragma and attribute "optimize"
https://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas.html (see
also generated file options-save.c)

In the future, it would be ideal to have separate option structs for
FE-specific options, such that not all FEs have to see all options from all
other FEs. Although moving options from gfc_option_t to the globally generated
option struct may seem a step backward in that respect, it is actually a step
forward, since those separated structs should be generated directly from the
*.opt files. 

Finally, most, if not all, of gfc_option_t and gfc_handle_option seems
redundant given the features of opt files (and the possibility of improving the
generators). There is the chance to remove a lot of code from the Fortran FE,
which should be always a good thing, no?

But ultimately, this is up to the Fortran devs. This doesn't block PR44054
anymore since all the warning flags have been moved.
>From gcc-bugs-return-470312-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Dec 11 17:14:26 2014
Return-Path: <gcc-bugs-return-470312-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 7727 invoked by alias); 11 Dec 2014 17:14:25 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 7667 invoked by uid 48); 11 Dec 2014 17:14:19 -0000
From: "burnus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/45179] Support UTF-8 (and other encodings) in the source file (.f90) for CHARACTER(kind=4)
Date: Thu, 11 Dec 2014 17:14:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: burnus at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: dependson
Message-ID: <bug-45179-4-3fpXx6zwvo@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-45179-4@http.gcc.gnu.org/bugzilla/>
References: <bug-45179-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg01319.txt.bz2
Content-length: 537

https://gcc.gnu.org/bugzilla/show_bug.cgi?idE179

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |28662

--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> ---
I think a reasonable implementation would be to let libcpp do most of the work;
in that case, it requires that libcpp is used for reading the source file. Cf.
PR28662 comment 10


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-12-11 16:58 ` manu at gcc dot gnu.org
@ 2014-12-16 19:30 ` burnus at gcc dot gnu.org
  2014-12-16 20:45 ` burnus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-12-16 19:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Missed the PR number for the commit r218790:

2014-12-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
        * lang.opt (fsecond-underscore, frecord-marker=8, frecord-marker=4,
        frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
        freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
        fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
        ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
        finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
        fdefault-double-8): Add Var() and Init().
        * gfortran.h (gfc_option_t): Remove moved flags.
        * options.c (gfc_init_options, gfc_handle_option): Ditto.
        (gfc_post_options): Update for name change.
        * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
        flag-name change.
        * frontend-passes.c (gfc_run_passes): Ditto.
        * module.c (use_iso_fortran_env_module): Ditto.
        * primary.c (match_integer_constant, match_real_constant): Ditto.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * scanner.c (gfc_next_char_literal, load_line): Ditto.
        * trans-array.c (gfc_trans_allocate_array_storage,
        gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
        gfc_conv_ss_startstride): Ditto.
        * trans-common.c (gfc_sym_mangled_common_id): Ditto.
        * trans-decl.c (gfc_sym_mangled_function_id,
        create_main_function): Ditto.
        * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
        arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
        gfc_trans_assignment_1): Ditto.
        * trans-stmt.c (gfc_trans_allocate): Ditto.
        * trans-types.c (gfc_init_kinds): Ditto.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2014-12-16 19:30 ` burnus at gcc dot gnu.org
@ 2014-12-16 20:45 ` burnus at gcc dot gnu.org
  2014-12-16 22:25 ` burnus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-12-16 20:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Tue Dec 16 20:44:45 2014
New Revision: 218792

URL: https://gcc.gnu.org/viewcvs?rev=218792&root=gcc&view=rev
Log:
2014-12-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        * lang.opt (flag-aggressive_function_elimination,
        flag-align_commons, flag-all_intrinsics,
        flag-allow_leading_underscore, flag-automatic, flag-backslash,
        flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
        flag-dollar_ok, flag-dump_fortran_original,
        flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
        flag-implicit_none, flag-max_array_constructor,
        flag-module_private, flag-pack_derived, flag-range_check,
        flag-recursive, flag-repack_arrays, flag-sign_zero,
        flag-underscoring): Add Var() and, where applicable, Enum().
        * options.c (gfc_init_options, gfc_post_options,
        gfc_handle_option): Update for *.opt changes.
        * arith.c: Update for flag-variable name changes.
        * array.c: Ditto.
        * cpp.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * f95-lang.c: Ditto.
        * frontend-passes.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * module.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * scanner.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans-types.c: Ditto.


Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/arith.c
    trunk/gcc/fortran/array.c
    trunk/gcc/fortran/cpp.c
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/f95-lang.c
    trunk/gcc/fortran/frontend-passes.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/io.c
    trunk/gcc/fortran/lang.opt
    trunk/gcc/fortran/match.c
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/options.c
    trunk/gcc/fortran/parse.c
    trunk/gcc/fortran/primary.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/scanner.c
    trunk/gcc/fortran/simplify.c
    trunk/gcc/fortran/symbol.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-common.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/fortran/trans-openmp.c
    trunk/gcc/fortran/trans-types.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2014-12-16 20:45 ` burnus at gcc dot gnu.org
@ 2014-12-16 22:25 ` burnus at gcc dot gnu.org
  2014-12-17  6:30 ` burnus at gcc dot gnu.org
  2020-04-12 16:32 ` dominiq at lps dot ens.fr
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-12-16 22:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #5)
> > Is there still something missing?
> Note that the options machinery has ways to encode String->Enum options, so
> things like gfc_handle_coarray_option and the handling of OPT_finit_real_
> are redundant (and others).

Pending patch (awaiting ME review):
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01377.html


> Also, my intuition tells me that any explicit handling of optimization
> options that does not use the common machinery such as:
>   if (gfc_option.flag_protect_parens == -1)
>   if (gfc_option.flag_stack_arrays == -1)

Those should be fine as they are completely handled in the FE: The
protect_parens translates into PAREN_EXPR and stack_arrays is also a choice
done by the FE.


> In the future, it would be ideal to have separate option structs for
> FE-specific options, such that not all FEs have to see all options from all
> other FEs. Although moving options from gfc_option_t to the globally
> generated option struct may seem a step backward in that respect, it is
> actually a step forward, since those separated structs should be generated
> directly from the *.opt files.

I concur. I think it also would be useful to support combined options like
Fortran's -ffpe-trap= and -fcheck= or common's -fsanitize=.
>From gcc-bugs-return-470937-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Dec 16 22:40:32 2014
Return-Path: <gcc-bugs-return-470937-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 439 invoked by alias); 16 Dec 2014 22:40:31 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 376 invoked by uid 48); 16 Dec 2014 22:40:25 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/54687] Use gcc option machinery for gfortran
Date: Tue, 16 Dec 2014 22:40:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.8.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-54687-4-s01MSy9CGf@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-54687-4@http.gcc.gnu.org/bugzilla/>
References: <bug-54687-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg01944.txt.bz2
Content-length: 517

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #9 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #8)
> I concur. I think it also would be useful to support combined options like
> Fortran's -ffpe-trap= and -fcheck= or common's -fsanitize=.

Total agreement! 

In my wildest dreams most of invoke.texi would be auto-generated from the opt
files.

Please could you open PRs for such missing features of the common machinery?
>From gcc-bugs-return-470938-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Dec 16 22:57:24 2014
Return-Path: <gcc-bugs-return-470938-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 16899 invoked by alias); 16 Dec 2014 22:57:23 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 16831 invoked by uid 48); 16 Dec 2014 22:57:18 -0000
From: "burnus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/64334] New: Common .opt handling: Support flags which take a list of values (-fopt=a,b,c ...)
Date: Tue, 16 Dec 2014 22:57:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: diagnostic
X-Bugzilla-Severity: normal
X-Bugzilla-Who: burnus at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter cc blocked
Message-ID: <bug-64334-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg01945.txt.bz2
Content-length: 1102

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64334

            Bug ID: 64334
           Summary: Common .opt handling: Support flags which take a list
                    of values (-fopt=a,b,c ...)
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: manu at gcc dot gnu.org
            Blocks: 54687

Split off from PR54687.

There are some options which take a list of values – and applies bitwise OR to
the choice.

Example:
  fsanitize=
which takes "address" (SANITIZE_ADDRESS | SANITIZE_USER_ADDRESS),
"kernel-address" (SANITIZE_ADDRESS | SANITIZE_KERNEL_ADDRESS), "thread"
(SANITIZE_THREAD) etc. as argument.

Similarly, in Fortran: -ffpe-trap and -ffpe-summary which take "invalid",
"denormal" etc. or -fcheck= with "all", "bounds", ...

It would be useful it one could extend the current Enum scheme to support this.
>From gcc-bugs-return-470939-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Dec 16 23:04:58 2014
Return-Path: <gcc-bugs-return-470939-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 23665 invoked by alias); 16 Dec 2014 23:04:58 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 23606 invoked by uid 48); 16 Dec 2014 23:04:53 -0000
From: "tavianator at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/64308] Missed optimization: 64-bit divide used when 32-bit divide would work
Date: Tue, 16 Dec 2014 23:04:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.2
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: tavianator at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-64308-4-cN0JDWcOGN@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64308-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64308-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-12/txt/msg01946.txt.bz2
Content-length: 961

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd308

--- Comment #3 from Tavian Barnes <tavianator at gmail dot com> ---
@Richard Biener: Yes the range for _16 could be [0, 4294967294].  Why can't VRP
can't assume division by zero doesn't occur?  If it can then it could say
anything mod [a, b] fits in [0, b - 1].

That's a reasonable improvement by itself but it's not enough to optimize this
PR, because to use divl for (ret * b % m), you need (ret * b / m) to fit in [0,
4294967295] as well.  And to know that that, as Marc Glisse suggests, you'd
need symbolic ranges.

@Marc Glisse: Is there currently no support at all for symbolic ranges?  If you
can infer that b < m is an invariant then that's all you need.  Formally it's
something like this:

If x, y, and z are 32-bit unsigned integers, and x <= z || y <= z, then

    (uint64_t)x * (uint64_t)y % z

can be computed with mull and divl because x * y / z is always <= max(x, y)
which fits in 32 bits.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2014-12-16 22:25 ` burnus at gcc dot gnu.org
@ 2014-12-17  6:30 ` burnus at gcc dot gnu.org
  2020-04-12 16:32 ` dominiq at lps dot ens.fr
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-12-17  6:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

--- Comment #10 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Wed Dec 17 06:29:30 2014
New Revision: 218808

URL: https://gcc.gnu.org/viewcvs?rev=218808&root=gcc&view=rev
Log:
2014-12-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
gcc/
        * flag-types.h (gfc_init_local_real, gfc_fcoarray,
        gfc_convert): New enums; moved from fortran/.

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
        * libgfortran.h (unit_convert): Add comment.
        * lang.opt (flag-convert, flag-init_real, flag-coarray):
        Add Var() and Enum().
        * options.c (gfc_handle_coarray_option): Remove.
        (gfc_init_options, gfc_post_options, gfc_handle_option):
        Update for *.opt changes.
        * array.c: Update for flag-variable name changes.
        * check.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * trans-array.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-stmt.c: Ditto.
        * trans-types.c: Ditto.
        * trans.c: Ditto.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/flag-types.h
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/array.c
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/gfortran.h
    trunk/gcc/fortran/lang.opt
    trunk/gcc/fortran/libgfortran.h
    trunk/gcc/fortran/match.c
    trunk/gcc/fortran/options.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/simplify.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/fortran/trans-expr.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/fortran/trans-stmt.c
    trunk/gcc/fortran/trans-types.c
    trunk/gcc/fortran/trans.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/54687] Use gcc option machinery for gfortran
  2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2014-12-17  6:30 ` burnus at gcc dot gnu.org
@ 2020-04-12 16:32 ` dominiq at lps dot ens.fr
  8 siblings, 0 replies; 10+ messages in thread
From: dominiq at lps dot ens.fr @ 2020-04-12 16:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54687

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW
           Assignee|dominiq at lps dot ens.fr          |unassigned at gcc dot gnu.org

--- Comment #19 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Unassigning myself.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-04-12 16:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-24  5:32 [Bug fortran/54687] New: Use gcc option machinery for gfortran tkoenig at gcc dot gnu.org
2012-09-24 10:47 ` [Bug fortran/54687] " manu at gcc dot gnu.org
2014-10-07 16:14 ` manu at gcc dot gnu.org
2014-12-11 16:25 ` burnus at gcc dot gnu.org
2014-12-11 16:58 ` manu at gcc dot gnu.org
2014-12-16 19:30 ` burnus at gcc dot gnu.org
2014-12-16 20:45 ` burnus at gcc dot gnu.org
2014-12-16 22:25 ` burnus at gcc dot gnu.org
2014-12-17  6:30 ` burnus at gcc dot gnu.org
2020-04-12 16:32 ` dominiq at lps dot ens.fr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).