public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/99389] New: [modules] bad serialization of data
@ 2021-03-04 19:26 nathan at gcc dot gnu.org
  2021-03-05 13:30 ` [Bug c++/99389] " cvs-commit at gcc dot gnu.org
  2021-03-05 13:32 ` nathan at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-03-04 19:26 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99389
           Summary: [modules] bad serialization of data
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

Triaging 99377 runs into this:

// bug_a.ii
template<typename _CharT>
class basic_string_view
{
public:
  basic_string_view(const _CharT* __str) noexcept
  {}
  bool
    empty() const noexcept
  { return !_M_len; }

private:
  unsigned _M_len;
};

using string_view = basic_string_view<char>;

// bug_b.ii
export module hello;

import "bug_a.ii";

export inline bool Check (const string_view& n)
{
  return !n.empty ();
}


// bug_c.ii
import hello;

int main ()
{
  return Check ("World") ? 0 : 1;
}

./cc1plus -quiet -fmodule-header   bug_a.ii && ./cc1plus -quiet -fmodules-ts
bug_b.ii && ./cc1plus -quiet -fmodules-ts bug_c.ii
In module imported at bug_c.ii:1:1:
hello: In function 'int main()':
hello: error: failed to read compiled module cluster 1: Bad file data
hello: note: compiled module file is 'gcm.cache/hello.gcm'
hello: error: failed to read compiled module cluster 2: Bad file data
bug_c.ii:5:10: fatal error: failed to load binding '::Check@hello'
    5 |   return Check ("World") ? 0 : 1;
      |          ^~~~~

we failed to find _M_len as that instantiation's not (yet?) loaded

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

* [Bug c++/99389] [modules] bad serialization of data
  2021-03-04 19:26 [Bug c++/99389] New: [modules] bad serialization of data nathan at gcc dot gnu.org
@ 2021-03-05 13:30 ` cvs-commit at gcc dot gnu.org
  2021-03-05 13:32 ` nathan at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-03-05 13:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathan Sidwell <nathan@gcc.gnu.org>:

https://gcc.gnu.org/g:4d66685e49d20e0c7a87c5fa0757c7eb63ffcdaa

commit r11-7524-g4d66685e49d20e0c7a87c5fa0757c7eb63ffcdaa
Author: Nathan Sidwell <nathan@acm.org>
Date:   Fri Mar 5 05:25:54 2021 -0800

    c++: instantiating imported specializations [PR 99389]

    When an incomplete class specialization is imported, and is completed
    by instantiation, we were failing to mark the instantiation, and thus
    didn't stream it out.  Leading to errors in importing as we had
    members of an incomplete type.

            PR c++/99389
            gcc/cp/
            * pt.c (instantiate_class_template_1): Set instantiating module
            here.
            gcc/testsuite/
            * g++.dg/modules/pr99389_a.H: New.
            * g++.dg/modules/pr99389_b.C: New.
            * g++.dg/modules/pr99389_c.C: New.

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

* [Bug c++/99389] [modules] bad serialization of data
  2021-03-04 19:26 [Bug c++/99389] New: [modules] bad serialization of data nathan at gcc dot gnu.org
  2021-03-05 13:30 ` [Bug c++/99389] " cvs-commit at gcc dot gnu.org
@ 2021-03-05 13:32 ` nathan at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-03-05 13:32 UTC (permalink / raw)
  To: gcc-bugs

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

Nathan Sidwell <nathan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #2 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
4d66685e49d 2021-03-05 | c++: instantiating imported specializations [PR 99389]

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

end of thread, other threads:[~2021-03-05 13:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-04 19:26 [Bug c++/99389] New: [modules] bad serialization of data nathan at gcc dot gnu.org
2021-03-05 13:30 ` [Bug c++/99389] " cvs-commit at gcc dot gnu.org
2021-03-05 13:32 ` nathan at gcc dot gnu.org

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).