abseil / abseil/abseil-cpp

ABSL_FLAG macro triggers abseil-no-namespace check

Open
#1,190 2 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
C++
Stars
18.1k
Forks
3.2k
Avg merge
20h 36m
Merged PRs (30d)
1

Description

**Describe the bug**

ABSL_FLAG triggers clang-tidy abseil-no-namespace check

**Steps to reproduce the bug**

$ cat main.cc
```
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"

ABSL_FLAG(std::string, input, "input", "input file path");

int main(int argc, char* argv[]) {
absl::ParseCommandLine(argc, argv);

return EXIT_SUCCESS;
}
```

clang-tidy --checks=abseil-* main.cc

```
main.cc:7:1: error: namespace 'absl' is reserved for implementation of the Abseil library and should not be opened in user code [abseil-no-namespace,-warnings-as-errors]
ABSL_FLAG(std::string, input, "input", "input file path");
^
external/com_google_absl/absl/flags/flag.h:166:3: note: expanded from macro 'ABSL_FLAG'
ABSL_FLAG_IMPL(Type, name, default_value, help)
^
external/com_google_absl/absl/flags/flag.h:269:13: note: expanded from macro 'ABSL_FLAG_IMPL'
namespace absl /* block flags in namespaces */ {} \
^
```

**What version of Abseil are you using?**

f3489c9ca64e0fad2a263e8560ee96718ac8b21b

**What operating system and version are you using**

Ubuntu 18.04

**What compiler and version are you using?**

clang-tidy-13

**What build system are you using?**

bazel 4.2.2

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.