static const char *const foo => const char foo[]

By default, a non-template variable of non-volatile const-qualified type
having namespace-scope has internal linkage, so no need for `static`.
This commit is contained in:
Fangrui Song 2020-12-01 10:33:18 -08:00
parent bb993b1d9d
commit a5309438fe
13 changed files with 90 additions and 111 deletions

View File

@ -25,8 +25,8 @@
using namespace llvm; using namespace llvm;
namespace { namespace {
static const char *const FeedPrefix = "feed_"; const char FeedPrefix[] = "feed_";
static const char *const FetchPrefix = "fetch_"; const char FetchPrefix[] = "fetch_";
/// MLModelRunner - production mode implementation. It uses a AOT-compiled /// MLModelRunner - production mode implementation. It uses a AOT-compiled
/// SavedModel for efficient execution. /// SavedModel for efficient execution.

View File

@ -136,17 +136,16 @@ static cl::opt<bool>
DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden, DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden,
cl::desc("Disable debug info printing")); cl::desc("Disable debug info printing"));
static const char *const DWARFGroupName = "dwarf"; const char DWARFGroupName[] = "dwarf";
static const char *const DWARFGroupDescription = "DWARF Emission"; const char DWARFGroupDescription[] = "DWARF Emission";
static const char *const DbgTimerName = "emit"; const char DbgTimerName[] = "emit";
static const char *const DbgTimerDescription = "Debug Info Emission"; const char DbgTimerDescription[] = "Debug Info Emission";
static const char *const EHTimerName = "write_exception"; const char EHTimerName[] = "write_exception";
static const char *const EHTimerDescription = "DWARF Exception Writer"; const char EHTimerDescription[] = "DWARF Exception Writer";
static const char *const CFGuardName = "Control Flow Guard"; const char CFGuardName[] = "Control Flow Guard";
static const char *const CFGuardDescription = "Control Flow Guard"; const char CFGuardDescription[] = "Control Flow Guard";
static const char *const CodeViewLineTablesGroupName = "linetables"; const char CodeViewLineTablesGroupName[] = "linetables";
static const char *const CodeViewLineTablesGroupDescription = const char CodeViewLineTablesGroupDescription[] = "CodeView Line Tables";
"CodeView Line Tables";
STATISTIC(EmittedInsts, "Number of machine instrs printed"); STATISTIC(EmittedInsts, "Number of machine instrs printed");

View File

@ -24,10 +24,10 @@ namespace llvm {
extern bool TimePassesIsEnabled; extern bool TimePassesIsEnabled;
} }
static const char *const TimeIRParsingGroupName = "irparse"; const char TimeIRParsingGroupName[] = "irparse";
static const char *const TimeIRParsingGroupDescription = "LLVM IR Parsing"; const char TimeIRParsingGroupDescription[] = "LLVM IR Parsing";
static const char *const TimeIRParsingName = "parse"; const char TimeIRParsingName[] = "parse";
static const char *const TimeIRParsingDescription = "Parse IR"; const char TimeIRParsingDescription[] = "Parse IR";
std::unique_ptr<Module> std::unique_ptr<Module>
llvm::getLazyIRModule(std::unique_ptr<MemoryBuffer> Buffer, SMDiagnostic &Err, llvm::getLazyIRModule(std::unique_ptr<MemoryBuffer> Buffer, SMDiagnostic &Err,

View File

@ -38,8 +38,8 @@ using namespace llvm;
using namespace object; using namespace object;
using namespace llvm::support::endian; using namespace llvm::support::endian;
static const char *const Magic = "!<arch>\n"; const char Magic[] = "!<arch>\n";
static const char *const ThinMagic = "!<thin>\n"; const char ThinMagic[] = "!<thin>\n";
void Archive::anchor() {} void Archive::anchor() {}

View File

@ -130,56 +130,48 @@ static const size_t kMaxStackMallocSize = 1 << 16; // 64K
static const uintptr_t kCurrentStackFrameMagic = 0x41B58AB3; static const uintptr_t kCurrentStackFrameMagic = 0x41B58AB3;
static const uintptr_t kRetiredStackFrameMagic = 0x45E0360E; static const uintptr_t kRetiredStackFrameMagic = 0x45E0360E;
static const char *const kAsanModuleCtorName = "asan.module_ctor"; const char kAsanModuleCtorName[] = "asan.module_ctor";
static const char *const kAsanModuleDtorName = "asan.module_dtor"; const char kAsanModuleDtorName[] = "asan.module_dtor";
static const uint64_t kAsanCtorAndDtorPriority = 1; static const uint64_t kAsanCtorAndDtorPriority = 1;
// On Emscripten, the system needs more than one priorities for constructors. // On Emscripten, the system needs more than one priorities for constructors.
static const uint64_t kAsanEmscriptenCtorAndDtorPriority = 50; static const uint64_t kAsanEmscriptenCtorAndDtorPriority = 50;
static const char *const kAsanReportErrorTemplate = "__asan_report_"; const char kAsanReportErrorTemplate[] = "__asan_report_";
static const char *const kAsanRegisterGlobalsName = "__asan_register_globals"; const char kAsanRegisterGlobalsName[] = "__asan_register_globals";
static const char *const kAsanUnregisterGlobalsName = const char kAsanUnregisterGlobalsName[] = "__asan_unregister_globals";
"__asan_unregister_globals"; const char kAsanRegisterImageGlobalsName[] = "__asan_register_image_globals";
static const char *const kAsanRegisterImageGlobalsName = const char kAsanUnregisterImageGlobalsName[] =
"__asan_register_image_globals"; "__asan_unregister_image_globals";
static const char *const kAsanUnregisterImageGlobalsName = const char kAsanRegisterElfGlobalsName[] = "__asan_register_elf_globals";
"__asan_unregister_image_globals"; const char kAsanUnregisterElfGlobalsName[] = "__asan_unregister_elf_globals";
static const char *const kAsanRegisterElfGlobalsName = const char kAsanPoisonGlobalsName[] = "__asan_before_dynamic_init";
"__asan_register_elf_globals"; const char kAsanUnpoisonGlobalsName[] = "__asan_after_dynamic_init";
static const char *const kAsanUnregisterElfGlobalsName = const char kAsanInitName[] = "__asan_init";
"__asan_unregister_elf_globals"; const char kAsanVersionCheckNamePrefix[] = "__asan_version_mismatch_check_v";
static const char *const kAsanPoisonGlobalsName = "__asan_before_dynamic_init"; const char kAsanPtrCmp[] = "__sanitizer_ptr_cmp";
static const char *const kAsanUnpoisonGlobalsName = "__asan_after_dynamic_init"; const char kAsanPtrSub[] = "__sanitizer_ptr_sub";
static const char *const kAsanInitName = "__asan_init"; const char kAsanHandleNoReturnName[] = "__asan_handle_no_return";
static const char *const kAsanVersionCheckNamePrefix =
"__asan_version_mismatch_check_v";
static const char *const kAsanPtrCmp = "__sanitizer_ptr_cmp";
static const char *const kAsanPtrSub = "__sanitizer_ptr_sub";
static const char *const kAsanHandleNoReturnName = "__asan_handle_no_return";
static const int kMaxAsanStackMallocSizeClass = 10; static const int kMaxAsanStackMallocSizeClass = 10;
static const char *const kAsanStackMallocNameTemplate = "__asan_stack_malloc_"; const char kAsanStackMallocNameTemplate[] = "__asan_stack_malloc_";
static const char *const kAsanStackFreeNameTemplate = "__asan_stack_free_"; const char kAsanStackFreeNameTemplate[] = "__asan_stack_free_";
static const char *const kAsanGenPrefix = "___asan_gen_"; const char kAsanGenPrefix[] = "___asan_gen_";
static const char *const kODRGenPrefix = "__odr_asan_gen_"; const char kODRGenPrefix[] = "__odr_asan_gen_";
static const char *const kSanCovGenPrefix = "__sancov_gen_"; const char kSanCovGenPrefix[] = "__sancov_gen_";
static const char *const kAsanSetShadowPrefix = "__asan_set_shadow_"; const char kAsanSetShadowPrefix[] = "__asan_set_shadow_";
static const char *const kAsanPoisonStackMemoryName = const char kAsanPoisonStackMemoryName[] = "__asan_poison_stack_memory";
"__asan_poison_stack_memory"; const char kAsanUnpoisonStackMemoryName[] = "__asan_unpoison_stack_memory";
static const char *const kAsanUnpoisonStackMemoryName =
"__asan_unpoison_stack_memory";
// ASan version script has __asan_* wildcard. Triple underscore prevents a // ASan version script has __asan_* wildcard. Triple underscore prevents a
// linker (gold) warning about attempting to export a local symbol. // linker (gold) warning about attempting to export a local symbol.
static const char *const kAsanGlobalsRegisteredFlagName = const char kAsanGlobalsRegisteredFlagName[] = "___asan_globals_registered";
"___asan_globals_registered";
static const char *const kAsanOptionDetectUseAfterReturn = const char kAsanOptionDetectUseAfterReturn[] =
"__asan_option_detect_stack_use_after_return"; "__asan_option_detect_stack_use_after_return";
static const char *const kAsanShadowMemoryDynamicAddress = const char kAsanShadowMemoryDynamicAddress[] =
"__asan_shadow_memory_dynamic_address"; "__asan_shadow_memory_dynamic_address";
static const char *const kAsanAllocaPoison = "__asan_alloca_poison"; const char kAsanAllocaPoison[] = "__asan_alloca_poison";
static const char *const kAsanAllocasUnpoison = "__asan_allocas_unpoison"; const char kAsanAllocasUnpoison[] = "__asan_allocas_unpoison";
// Accesses sizes are powers of two: 1, 2, 4, 8, 16. // Accesses sizes are powers of two: 1, 2, 4, 8, 16.
static const size_t kNumberOfAccessSizes = 5; static const size_t kNumberOfAccessSizes = 5;

View File

@ -109,7 +109,7 @@ using namespace llvm;
// External symbol to be used when generating the shadow address for // External symbol to be used when generating the shadow address for
// architectures with multiple VMAs. Instead of using a constant integer // architectures with multiple VMAs. Instead of using a constant integer
// the runtime will set the external mask based on the VMA range. // the runtime will set the external mask based on the VMA range.
static const char *const kDFSanExternShadowPtrMask = "__dfsan_shadow_ptr_mask"; const char kDFSanExternShadowPtrMask[] = "__dfsan_shadow_ptr_mask";
// The -dfsan-preserve-alignment flag controls whether this pass assumes that // The -dfsan-preserve-alignment flag controls whether this pass assumes that
// alignment requirements provided by the input IR are correct. For example, // alignment requirements provided by the input IR are correct. For example,

View File

@ -55,13 +55,12 @@ using namespace llvm;
#define DEBUG_TYPE "hwasan" #define DEBUG_TYPE "hwasan"
static const char *const kHwasanModuleCtorName = "hwasan.module_ctor"; const char kHwasanModuleCtorName[] = "hwasan.module_ctor";
static const char *const kHwasanNoteName = "hwasan.note"; const char kHwasanNoteName[] = "hwasan.note";
static const char *const kHwasanInitName = "__hwasan_init"; const char kHwasanInitName[] = "__hwasan_init";
static const char *const kHwasanPersonalityThunkName = const char kHwasanPersonalityThunkName[] = "__hwasan_personality_thunk";
"__hwasan_personality_thunk";
static const char *const kHwasanShadowMemoryDynamicAddress = const char kHwasanShadowMemoryDynamicAddress[] =
"__hwasan_shadow_memory_dynamic_address"; "__hwasan_shadow_memory_dynamic_address";
// Accesses sizes are powers of two: 1, 2, 4, 8, 16. // Accesses sizes are powers of two: 1, 2, 4, 8, 16.

View File

@ -338,8 +338,8 @@ static cl::opt<uint64_t> ClOriginBase("msan-origin-base",
cl::desc("Define custom MSan OriginBase"), cl::desc("Define custom MSan OriginBase"),
cl::Hidden, cl::init(0)); cl::Hidden, cl::init(0));
static const char *const kMsanModuleCtorName = "msan.module_ctor"; const char kMsanModuleCtorName[] = "msan.module_ctor";
static const char *const kMsanInitName = "__msan_init"; const char kMsanInitName[] = "__msan_init";
namespace { namespace {

View File

@ -45,49 +45,39 @@ using namespace llvm;
#define DEBUG_TYPE "sancov" #define DEBUG_TYPE "sancov"
static const char *const SanCovTracePCIndirName = const char SanCovTracePCIndirName[] = "__sanitizer_cov_trace_pc_indir";
"__sanitizer_cov_trace_pc_indir"; const char SanCovTracePCName[] = "__sanitizer_cov_trace_pc";
static const char *const SanCovTracePCName = "__sanitizer_cov_trace_pc"; const char SanCovTraceCmp1[] = "__sanitizer_cov_trace_cmp1";
static const char *const SanCovTraceCmp1 = "__sanitizer_cov_trace_cmp1"; const char SanCovTraceCmp2[] = "__sanitizer_cov_trace_cmp2";
static const char *const SanCovTraceCmp2 = "__sanitizer_cov_trace_cmp2"; const char SanCovTraceCmp4[] = "__sanitizer_cov_trace_cmp4";
static const char *const SanCovTraceCmp4 = "__sanitizer_cov_trace_cmp4"; const char SanCovTraceCmp8[] = "__sanitizer_cov_trace_cmp8";
static const char *const SanCovTraceCmp8 = "__sanitizer_cov_trace_cmp8"; const char SanCovTraceConstCmp1[] = "__sanitizer_cov_trace_const_cmp1";
static const char *const SanCovTraceConstCmp1 = const char SanCovTraceConstCmp2[] = "__sanitizer_cov_trace_const_cmp2";
"__sanitizer_cov_trace_const_cmp1"; const char SanCovTraceConstCmp4[] = "__sanitizer_cov_trace_const_cmp4";
static const char *const SanCovTraceConstCmp2 = const char SanCovTraceConstCmp8[] = "__sanitizer_cov_trace_const_cmp8";
"__sanitizer_cov_trace_const_cmp2"; const char SanCovTraceDiv4[] = "__sanitizer_cov_trace_div4";
static const char *const SanCovTraceConstCmp4 = const char SanCovTraceDiv8[] = "__sanitizer_cov_trace_div8";
"__sanitizer_cov_trace_const_cmp4"; const char SanCovTraceGep[] = "__sanitizer_cov_trace_gep";
static const char *const SanCovTraceConstCmp8 = const char SanCovTraceSwitchName[] = "__sanitizer_cov_trace_switch";
"__sanitizer_cov_trace_const_cmp8"; const char SanCovModuleCtorTracePcGuardName[] =
static const char *const SanCovTraceDiv4 = "__sanitizer_cov_trace_div4";
static const char *const SanCovTraceDiv8 = "__sanitizer_cov_trace_div8";
static const char *const SanCovTraceGep = "__sanitizer_cov_trace_gep";
static const char *const SanCovTraceSwitchName = "__sanitizer_cov_trace_switch";
static const char *const SanCovModuleCtorTracePcGuardName =
"sancov.module_ctor_trace_pc_guard"; "sancov.module_ctor_trace_pc_guard";
static const char *const SanCovModuleCtor8bitCountersName = const char SanCovModuleCtor8bitCountersName[] =
"sancov.module_ctor_8bit_counters"; "sancov.module_ctor_8bit_counters";
static const char *const SanCovModuleCtorBoolFlagName = const char SanCovModuleCtorBoolFlagName[] = "sancov.module_ctor_bool_flag";
"sancov.module_ctor_bool_flag";
static const uint64_t SanCtorAndDtorPriority = 2; static const uint64_t SanCtorAndDtorPriority = 2;
static const char *const SanCovTracePCGuardName = const char SanCovTracePCGuardName[] = "__sanitizer_cov_trace_pc_guard";
"__sanitizer_cov_trace_pc_guard"; const char SanCovTracePCGuardInitName[] = "__sanitizer_cov_trace_pc_guard_init";
static const char *const SanCovTracePCGuardInitName = const char SanCov8bitCountersInitName[] = "__sanitizer_cov_8bit_counters_init";
"__sanitizer_cov_trace_pc_guard_init"; const char SanCovBoolFlagInitName[] = "__sanitizer_cov_bool_flag_init";
static const char *const SanCov8bitCountersInitName = const char SanCovPCsInitName[] = "__sanitizer_cov_pcs_init";
"__sanitizer_cov_8bit_counters_init";
static const char *const SanCovBoolFlagInitName =
"__sanitizer_cov_bool_flag_init";
static const char *const SanCovPCsInitName = "__sanitizer_cov_pcs_init";
static const char *const SanCovGuardsSectionName = "sancov_guards"; const char SanCovGuardsSectionName[] = "sancov_guards";
static const char *const SanCovCountersSectionName = "sancov_cntrs"; const char SanCovCountersSectionName[] = "sancov_cntrs";
static const char *const SanCovBoolFlagSectionName = "sancov_bools"; const char SanCovBoolFlagSectionName[] = "sancov_bools";
static const char *const SanCovPCsSectionName = "sancov_pcs"; const char SanCovPCsSectionName[] = "sancov_pcs";
static const char *const SanCovLowestStackName = "__sancov_lowest_stack"; const char SanCovLowestStackName[] = "__sancov_lowest_stack";
static cl::opt<int> ClCoverageLevel( static cl::opt<int> ClCoverageLevel(
"sanitizer-coverage-level", "sanitizer-coverage-level",

View File

@ -96,8 +96,8 @@ STATISTIC(NumOmittedReadsFromConstantGlobals,
STATISTIC(NumOmittedReadsFromVtable, "Number of vtable reads"); STATISTIC(NumOmittedReadsFromVtable, "Number of vtable reads");
STATISTIC(NumOmittedNonCaptured, "Number of accesses ignored due to capturing"); STATISTIC(NumOmittedNonCaptured, "Number of accesses ignored due to capturing");
static const char *const kTsanModuleCtorName = "tsan.module_ctor"; const char kTsanModuleCtorName[] = "tsan.module_ctor";
static const char *const kTsanInitName = "__tsan_init"; const char kTsanInitName[] = "__tsan_init";
namespace { namespace {

View File

@ -435,7 +435,7 @@ static Instruction *findLocationForEntrySafepoint(Function &F,
return Cursor; return Cursor;
} }
static const char *const GCSafepointPollName = "gc.safepoint_poll"; const char GCSafepointPollName[] = "gc.safepoint_poll";
static bool isGCSafepointPoll(Function &F) { static bool isGCSafepointPoll(Function &F) {
return F.getName().equals(GCSafepointPollName); return F.getName().equals(GCSafepointPollName);

View File

@ -57,7 +57,7 @@ using namespace llvm::PatternMatch;
#define DEBUG_TYPE "structurizecfg" #define DEBUG_TYPE "structurizecfg"
// The name for newly created blocks. // The name for newly created blocks.
static const char *const FlowBlockName = "Flow"; const char FlowBlockName[] = "Flow";
namespace { namespace {

View File

@ -159,11 +159,10 @@ using namespace llvm;
/// @{ /// @{
/// Metadata attribute names /// Metadata attribute names
static const char *const LLVMLoopVectorizeFollowupAll = const char LLVMLoopVectorizeFollowupAll[] = "llvm.loop.vectorize.followup_all";
"llvm.loop.vectorize.followup_all"; const char LLVMLoopVectorizeFollowupVectorized[] =
static const char *const LLVMLoopVectorizeFollowupVectorized =
"llvm.loop.vectorize.followup_vectorized"; "llvm.loop.vectorize.followup_vectorized";
static const char *const LLVMLoopVectorizeFollowupEpilogue = const char LLVMLoopVectorizeFollowupEpilogue[] =
"llvm.loop.vectorize.followup_epilogue"; "llvm.loop.vectorize.followup_epilogue";
/// @} /// @}