On Tue, 29 Apr 2025 at 01:17, Marcel Laverdet wrote: > > I ran into the following error while attempting to compile the following > simple case in gcc 15.1.0. gcc 14 and clang 20 compile it without any > problems. Is this a regression or is this behavior expected? I'm not sure but I got confused and thought this was an email to the bugzilla account request address not to gcc-help, and so I created an account for you. Please go ahead and file a bug, and the maintainers can respond and close it if the change is intentional. You can use the password reset link to take control of the new account and login. > > > root[18:56:11] [/workspace] $ cat a.h > constexpr int flag = 0; > constexpr bool check() { > return flag == 0; > } > > root[18:57:41] [/workspace] $ cat a.cc > module; > #include "a.h" > export module M; > export using ::check; > > root[18:57:54] [/workspace] $ gcc-14 -fmodules-ts -c a.cc > # it compiles fine > > root[18:57:57] [/workspace] $ gcc-15 -fmodules-ts -c a.cc > In file included from a.cc:2: > a.h:2:16: error: 'constexpr bool check()' exposes TU-local entity 'flag' > 2 | constexpr bool check() { > | ^~~~~ > a.h:1:15: note: 'flag' declared with internal linkage > 1 | constexpr int flag = 0; > | ^~~~ > > root[18:58:00] [/workspace] $ gcc-15 --version > gcc-15 (Debian 15.1.0-1) 15.1.0 > Copyright (C) 2025 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.