[PATCH] D126694: [C++20][Modules] Initial implementation of GMF decl elision.

Iain Sandoe via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 7 13:16:28 PDT 2022


iains added a comment.

the first failure is like this:

  x-h.h:
  struct A {
    friend int operator+(const A &lhs, const A &rhs) {
      return 0;
    }
  };
  
  X.cpp:
  module;
  #include "x-h.h"
  export module X;
  
  export using ::A;

This does not mark *anything* in the GMF (x-h.h) as 'used', and so everything there is unreachable (and hence the fails).
I.e `export using ::A;` neither marks A as used or referenced.
I am not sure if we are supposed to special-case this - since `https://eel.is/c++draft/module#global.frag-3.6` explicitly says "In this determination, it is unspecified .. whether `using-declaration, ...  is replaced by the declarations they name prior to this determination,`
so .. not about how to proceed with this one at present;


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126694/new/

https://reviews.llvm.org/D126694



More information about the cfe-commits mailing list