This website requires JavaScript.
Explore
Help
Sign In
maxjhandsome
/
llvm-project
forked from
OSchip/llvm-project
Watch
1
Star
0
Fork
You've already forked llvm-project
0
Code
Issues
Pull Requests
Packages
Releases
Wiki
Activity
d9625276a7
llvm-project
/
clang
/
test
/
Modules
/
Inputs
/
libstdcxx-ambiguous-internal
/
a.h
6 lines
78 B
C
Raw
Normal View
History
Unescape
Escape
[modules] libstdc++ defines some static inline functions in its internal headers. If those headers end up being textually included twice into the same module, we get ambiguity errors. Work around this by downgrading the ambiguity error to a warning if multiple identical internal-linkage functions appear in an overload set, and just pick one of those functions as the lookup result. llvm-svn: 250884
2015-10-21 15:13:52 +08:00
#
ifndef A_H
#
define A_H
static
inline
void
f
(
)
{
}
[modules] Generalize the workaround for multiple ambiguous definitions of internal linkage entities in different modules from r250884 to apply to all names, not just function names. This is really awkward: we don't want to merge internal-linkage symbols from separate modules, because they might not actually be defining the same entity. But we don't want to reject programs that use such an ambiguous symbol if those internal-linkage symbols are in fact equivalent. For now, we're resolving the ambiguity by picking one of the equivalent definitions as an extension. llvm-svn: 252063
2015-11-05 03:26:32 +08:00
constexpr
int
n
=
0
;
[modules] libstdc++ defines some static inline functions in its internal headers. If those headers end up being textually included twice into the same module, we get ambiguity errors. Work around this by downgrading the ambiguity error to a warning if multiple identical internal-linkage functions appear in an overload set, and just pick one of those functions as the lookup result. llvm-svn: 250884
2015-10-21 15:13:52 +08:00
#
endif