vsapsai updated this revision to Diff 391187. vsapsai added a comment. Add a test case for referencing an anonymous enum constant in C++.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114833/new/ https://reviews.llvm.org/D114833 Files: clang/test/Modules/ambiguous-anonymous-enum-lookup.cpp Index: clang/test/Modules/ambiguous-anonymous-enum-lookup.cpp =================================================================== --- /dev/null +++ clang/test/Modules/ambiguous-anonymous-enum-lookup.cpp @@ -0,0 +1,41 @@ +// RUN: rm -rf %t +// RUN: split-file %s %t +// RUN: %clang_cc1 -fsyntax-only -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/modules.cache -I %t/include %t/test.cpp -verify + +//--- include/textual.h +#ifndef TEXTUAL_H +#define TEXTUAL_H + +enum { + kAnonymousEnumValue = 0, +}; + +#endif + +//--- include/empty.h +// empty + +//--- include/initially_hidden.h +#include <textual.h> + +//--- include/module.modulemap +module Piecewise { + module Empty { + header "empty.h" + export * + } + module InitiallyHidden { + header "initially_hidden.h" + export * + } +} + +//--- test.cpp +#include <empty.h> +#include <textual.h> +#include <initially_hidden.h> + +// expected-no-diagnostics +int testReferencingAnonymousEnumConstant() { + return kAnonymousEnumValue; +}
Index: clang/test/Modules/ambiguous-anonymous-enum-lookup.cpp =================================================================== --- /dev/null +++ clang/test/Modules/ambiguous-anonymous-enum-lookup.cpp @@ -0,0 +1,41 @@ +// RUN: rm -rf %t +// RUN: split-file %s %t +// RUN: %clang_cc1 -fsyntax-only -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/modules.cache -I %t/include %t/test.cpp -verify + +//--- include/textual.h +#ifndef TEXTUAL_H +#define TEXTUAL_H + +enum { + kAnonymousEnumValue = 0, +}; + +#endif + +//--- include/empty.h +// empty + +//--- include/initially_hidden.h +#include <textual.h> + +//--- include/module.modulemap +module Piecewise { + module Empty { + header "empty.h" + export * + } + module InitiallyHidden { + header "initially_hidden.h" + export * + } +} + +//--- test.cpp +#include <empty.h> +#include <textual.h> +#include <initially_hidden.h> + +// expected-no-diagnostics +int testReferencingAnonymousEnumConstant() { + return kAnonymousEnumValue; +}
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits