This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Regression going from egcs-1.03 to egcs-19980803


Jeffrey A Law wrote:
> The code to detect potentially uninitialized variables is not very
> good -- it reports many false positives.
> 
> -O2 optimization enables global cse, which happens to rearrange code
> in a manner which triggers the false positive warnings.
> 
> This is not something we're likely to fix for egcs-1.1.  It would be
> nice if someone could improve the uninitialized warning detection code
> for a future release though.

Jeffrey,

thank you very much for the quick reply.

Please, let me ask one question.
I have reported twice that -fprofile-arcs -ftest-coverage
has stopped working since the release of egcs-1.03
(in other words, there has been a regression from
egcs-1.02 to egcs-1.03).
I have submitted two bug reports concerning this but
got no replies whatsoever. And the situation is getting
worse as new snapshots appear.(1)

The question is: is -fprofile-arcs -ftest-coverage
begin phased out (thus removing the relevant sections
in the documentation)?
And the real question is: should I keep posting bug reports
concerning these options or should I forget about it?
Isn't this something that ought to work (again) for
egcs-1.1?

Unfortunately, I cannot revert to egcs-1.02 :(
Thanks again

          Roberto

(1) Reminder from my last bug report: try to compile
    the following one-liner

      #include <vector>

    with

      g++ -fprofile-arcs

    on a ix86-pc-linux-gnu. You will get a symbol

      T global constructors keyed to int lexicographical_compare_3way<signed
char const *,
        signed char const *>(signed char const *, signed char const *, signed
char const *,
        signed char const *)(volatile const)

    (note the T) in the resulting object file.
    You won't get this symbol if you omit the -fprofile-arcs option.
    As a result, if you have more than one module including
    <vector>, you won't be able to link your application.

P.S. I believe that coverage testing is crucial to any serious
     development work.

-- 
Roberto Bagnara
Department of Mathematics, University of Parma, Italy
http://www.di.unipi.it/~bagnara/bagnara.html
mailto:bagnara@di.unipi.it


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]