Lines Matching defs:common
85 if constexpr (common::HasMember<const N *, ConstructNode>) {
93 if constexpr (common::HasMember<const N *, ConstructNode>) {
184 context.Warn(common::UsageWarning::UndefinedFunctionResult,
215 if (context.languageFeatures().IsEnabled(common::LanguageFeature::OpenACC)) {
218 if (context.languageFeatures().IsEnabled(common::LanguageFeature::OpenMP)) {
221 if (context.languageFeatures().IsEnabled(common::LanguageFeature::CUDA)) {
233 /// This class keeps track of the common block appearances with the biggest size
236 /// named common block with different sizes. The biggest common block size and
238 /// the correct symbol size and initial values, even when named common blocks
252 SemanticsContext &context, const Symbol &common) {
253 const Symbol *isInitialized{CommonBlockIsInitialized(common)};
254 // Merge common according to the name they will have in the object files.
255 // This allows merging BIND(C) and non BIND(C) common block instead of
260 GetCommonBlockObjectName(common, context.underscoring())};
262 isInitialized ? CommonBlockInfo{common, common}
263 : CommonBlockInfo{common, std::nullopt}});
268 &**info.initialization != &common) {
270 // common block symbols may have no location if they are blank
277 common.name())
280 common.name());
282 info.initialization = common;
285 if (common.size() != info.biggestSize->size() && !common.name().empty()) {
286 if (auto *msg{context.Warn(common::LanguageFeature::DistinctCommonSizes,
287 common.name(),
289 common.size())}) {
295 if (common.size() > info.biggestSize->size()) {
296 info.biggestSize = common;
315 static Symbol *CommonBlockIsInitialized(const Symbol &common) {
317 common.get<Fortran::semantics::CommonBlockDetails>();
326 // equivalence with the common block members.
328 common.owner().equivalenceSets()) {
332 if (FindCommonBlockContaining(obj.symbol) == &common &&
346 const common::IntrinsicTypeDefaultKinds &defaultKinds,
347 const common::LanguageFeatureControl &languageFeatures,
348 const common::LangOptions &langOpts,
402 common::die(
436 common::die(
490 if (ShouldWarn(common::UsageWarning::IndexVarRedefinition)) {
493 msg->set_usageWarning(common::UsageWarning::IndexVarRedefinition);
615 const auto *frontModule{std::get_if<common::Indirection<parser::Module>>(
752 void SemanticsContext::MapCommonBlockAndCheckConflicts(const Symbol &common) {
756 commonBlockMap_->MapCommonBlockAndCheckConflicts(*this, common);