GNU bug report logs - #28906
flymake test different-diagnostic-types fails

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Thu, 19 Oct 2017 22:49:01 UTC

Severity: normal

Found in version 26.0.90

Fixed in version 26.0.91

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 28906 in the body.
You can then email your comments to 28906 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to joaotavora <at> gmail.com, bug-gnu-emacs <at> gnu.org:
bug#28906; Package emacs. (Thu, 19 Oct 2017 22:49:01 GMT) Full text and rfc822 format available.

Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: submit <at> debbugs.gnu.org
Subject: flymake test different-diagnostic-types fails
Date: Thu, 19 Oct 2017 18:48:23 -0400
Package: emacs
Version: 26.0.90

Between 0fff900c18c3ae497294f26fd42b70990638d3ed and
0b558b4acb8326c6f26fcde47ca85777716ae831 on emacs-26 (RHEL7 with gcc 4.8.5),
the flymake test "different-diagnostic-types" began failing with:

(should (eq 'flymake-note (face-at-point)))
-> (eq flymake-note flymake-warning)

Ref also eg https://hydra.nixos.org/build/62738472




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28906; Package emacs. (Thu, 19 Oct 2017 23:27:01 GMT) Full text and rfc822 format available.

Message #6 received at 28906 <at> debbugs.gnu.org (full text, mbox):

From: joaotavora <at> gmail.com (João Távora)
To: Glenn Morris <rgm <at> gnu.org>
Cc: 28906 <at> debbugs.gnu.org
Subject: Re: bug#28906: flymake test different-diagnostic-types fails
Date: Fri, 20 Oct 2017 00:26:27 +0100
Glenn Morris <rgm <at> gnu.org> writes:

> Package: emacs
> Version: 26.0.90
>
> Between 0fff900c18c3ae497294f26fd42b70990638d3ed and
> 0b558b4acb8326c6f26fcde47ca85777716ae831 on emacs-26 (RHEL7 with gcc 4.8.5),
> the flymake test "different-diagnostic-types" began failing with:
>
> (should (eq 'flymake-note (face-at-point)))
> -> (eq flymake-note flymake-warning)
>
> Ref also eg https://hydra.nixos.org/build/62738472

This appears to be the first test run since the Flymake rewrite that was
merged into emacs-26, so the test didn't really "begin failing", it just
didn't exist before that.

Anyway, I think there's a good chance that the culprit is gcc version
4.8.5 which probably outputs something that Flymake can't recognize as a
note. 

Is there any chance that Hydra can be upgraded to use a newer gcc, or
should I skip this test for such gcc versions? Tips on how to install
gcc 4 on debian alongside the system gcc are also welcome.

João




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28906; Package emacs. (Thu, 19 Oct 2017 23:43:02 GMT) Full text and rfc822 format available.

Message #9 received at 28906 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: joaotavora <at> gmail.com (João Távora)
Cc: 28906 <at> debbugs.gnu.org
Subject: Re: bug#28906: flymake test different-diagnostic-types fails
Date: Thu, 19 Oct 2017 19:42:16 -0400
João Távora wrote:

> This appears to be the first test run since the Flymake rewrite that was
> merged into emacs-26, so the test didn't really "begin failing", it just
> didn't exist before that.

Sorry; got fooled by git's unhelpful date fields.

> Anyway, I think there's a good chance that the culprit is gcc version
> 4.8.5 which probably outputs something that Flymake can't recognize as a
> note. 

FWIW, here's the output of "make errors-and-warnings.o":

    cc    -c -o errors-and-warnings.o errors-and-warnings.c
    In file included from errors-and-warnings.c:3:0:
    some-problems.h:3:1: warning: data definition has no type or storage class [enabled by default]
     strange;
     ^
    some-problems.h:5:1: error: unknown type name 'sint'
     sint main();
     ^
    errors-and-warnings.c: In function 'main':
    errors-and-warnings.c:9:3: warning: overflow in implicit constant conversion [-Woverflow]
       char c = 1000; /* a note and a warning */
       ^
    errors-and-warnings.c:11:8: error: redeclaration of 'c' with no linkage
       char c; if (bla == (void*)3); /* an error, and two warnings */
            ^
    errors-and-warnings.c:9:8: note: previous definition of 'c' was here
       char c = 1000; /* a note and a warning */
            ^
    errors-and-warnings.c:11:19: warning: comparison between pointer and integer [enabled by default]
       char c; if (bla == (void*)3); /* an error, and two warnings */


> Is there any chance that Hydra can be upgraded to use a newer gcc, or
> should I skip this test for such gcc versions?

It's not just hydra. Eg RHEL7 still defaults to gcc 4.8, so I'd suggest
skipping it.

> Tips on how to install gcc 4 on debian alongside the system gcc are
> also welcome.

I think you'd have to install it by hand, since it doesn't seem to be in
the Debian repos any more.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28906; Package emacs. (Thu, 19 Oct 2017 23:57:02 GMT) Full text and rfc822 format available.

Message #12 received at 28906 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: joaotavora <at> gmail.com (João Távora)
Cc: 28906 <at> debbugs.gnu.org
Subject: Re: bug#28906: flymake test different-diagnostic-types fails
Date: Thu, 19 Oct 2017 19:55:58 -0400
And here's the output with gcc 5.3 on the same system, where the test passes:

cc    -c -o errors-and-warnings.o errors-and-warnings.c
In file included from errors-and-warnings.c:3:0:
some-problems.h:3:1: warning: data definition has no type or storage class
 strange;
 ^
some-problems.h:3:1: warning: type defaults to 'int' in declaration of 'strange' [-Wimplicit-int]
some-problems.h:5:1: error: unknown type name 'sint'
 sint main();
 ^
errors-and-warnings.c: In function 'main':
errors-and-warnings.c:9:12: warning: overflow in implicit constant conversion [-Woverflow]
   char c = 1000; /* a note and a warning */
            ^
errors-and-warnings.c:11:8: error: redeclaration of 'c' with no linkage
   char c; if (bla == (void*)3); /* an error, and two warnings */
        ^
errors-and-warnings.c:9:8: note: previous definition of 'c' was here
   char c = 1000; /* a note and a warning */
        ^
errors-and-warnings.c:11:19: warning: comparison between pointer and integer
   char c; if (bla == (void*)3); /* an error, and two warnings */
                   ^





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28906; Package emacs. (Fri, 20 Oct 2017 00:01:02 GMT) Full text and rfc822 format available.

Message #15 received at 28906 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 28906 <at> debbugs.gnu.org
Subject: Re: bug#28906: flymake test different-diagnostic-types fails
Date: Fri, 20 Oct 2017 01:00:14 +0100
[Message part 1 (text/plain, inline)]
Thanks, Glenn, it's the column positions of the warning on line 9.

Flymake expects the warning to come after the note, but on
gcc 4 it comes before. No biggie, I'll just skip it based on the
output of gcc -v.

On Fri, Oct 20, 2017 at 12:55 AM, Glenn Morris <rgm <at> gnu.org> wrote:

>
> And here's the output with gcc 5.3 on the same system, where the test
> passes:
>
> cc    -c -o errors-and-warnings.o errors-and-warnings.c
> In file included from errors-and-warnings.c:3:0:
> some-problems.h:3:1: warning: data definition has no type or storage class
>  strange;
>  ^
> some-problems.h:3:1: warning: type defaults to 'int' in declaration of
> 'strange' [-Wimplicit-int]
> some-problems.h:5:1: error: unknown type name 'sint'
>  sint main();
>  ^
> errors-and-warnings.c: In function 'main':
> errors-and-warnings.c:9:12: warning: overflow in implicit constant
> conversion [-Woverflow]
>    char c = 1000; /* a note and a warning */
>             ^
> errors-and-warnings.c:11:8: error: redeclaration of 'c' with no linkage
>    char c; if (bla == (void*)3); /* an error, and two warnings */
>         ^
> errors-and-warnings.c:9:8: note: previous definition of 'c' was here
>    char c = 1000; /* a note and a warning */
>         ^
> errors-and-warnings.c:11:19: warning: comparison between pointer and
> integer
>    char c; if (bla == (void*)3); /* an error, and two warnings */
>                    ^
>
>


-- 
João Távora
[Message part 2 (text/html, inline)]

bug marked as fixed in version 26.0.91, send any further explanations to 28906 <at> debbugs.gnu.org and Glenn Morris <rgm <at> gnu.org> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 20 Oct 2017 17:09:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Nov 2017 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.