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]
Other format: [Raw text]

[Bug preprocessor/79106] wrong source line printed in diagnostics for a translation unit


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-01-17
     Ever confirmed|0                           |1

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #1)
> IMNSHO the GCC behavior is the right thing to do, that is how the source
> looks like.  If the preprocessed file has been hand-edited, it is just a
> user bug.

I disagree.  Suppose the translation unit comes from a header from version X of
software installed on the system it was obtained on by a user (say a bug
submitter).  Suppose version Y of the same software is installed on the system
where the translation unit is being compiled (say by whoever is debugging it
for the user).  Then even when it isn't edited, diagnostics that point into the
header included in the translation unit will print potentially unrelated lines
from the header where the translation unit is being compiled.  That's just
wrong.  GCC should print the code from the translation unit, not some unrelated
files that just happen to have the same name as those referenced in it.

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