-
Notifications
You must be signed in to change notification settings - Fork 11k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NFC][flang] Reorder const and RT_API_ATTRS. #85180
Merged
vzakhari
merged 8 commits into
main
from
users/vzakhari/spr/nfcflang-reorder-const-and-rt_api_attrs
Mar 15, 2024
Merged
[NFC][flang] Reorder const and RT_API_ATTRS. #85180
vzakhari
merged 8 commits into
main
from
users/vzakhari/spr/nfcflang-reorder-const-and-rt_api_attrs
Mar 15, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Created using spr 1.3.4 [skip ci]
Created using spr 1.3.4
@llvm/pr-subscribers-flang-runtime Author: Slava Zakharin (vzakhari) ChangesClean-up to keep the type qualifier next to the type. Full diff: https://github.com/llvm/llvm-project/pull/85180.diff 4 Files Affected:
diff --git a/flang/include/flang/ISO_Fortran_binding.h b/flang/include/flang/ISO_Fortran_binding.h
index 3f74a7e56f1755..757d7f2b10cba1 100644
--- a/flang/include/flang/ISO_Fortran_binding.h
+++ b/flang/include/flang/ISO_Fortran_binding.h
@@ -127,7 +127,7 @@ namespace cfi_internal {
// because a struct cannot be empty.
extern "C++" template <typename T> struct FlexibleArray : T {
RT_API_ATTRS T &operator[](int index) { return *(this + index); }
- const RT_API_ATTRS T &operator[](int index) const { return *(this + index); }
+ RT_API_ATTRS const T &operator[](int index) const { return *(this + index); }
RT_API_ATTRS operator T *() { return this; }
RT_API_ATTRS operator const T *() const { return this; }
};
diff --git a/flang/include/flang/Runtime/descriptor.h b/flang/include/flang/Runtime/descriptor.h
index 7ad548d6c72b44..96d56d9b43a62b 100644
--- a/flang/include/flang/Runtime/descriptor.h
+++ b/flang/include/flang/Runtime/descriptor.h
@@ -102,7 +102,7 @@ class DescriptorAddendum {
: derivedType_{dt}, len_{0} {}
RT_API_ATTRS DescriptorAddendum &operator=(const DescriptorAddendum &);
- const RT_API_ATTRS typeInfo::DerivedType *derivedType() const {
+ RT_API_ATTRS const typeInfo::DerivedType *derivedType() const {
return derivedType_;
}
RT_API_ATTRS DescriptorAddendum &set_derivedType(
@@ -204,7 +204,7 @@ class Descriptor {
ISO::CFI_attribute_t attribute = CFI_attribute_other);
RT_API_ATTRS ISO::CFI_cdesc_t &raw() { return raw_; }
- const RT_API_ATTRS ISO::CFI_cdesc_t &raw() const { return raw_; }
+ RT_API_ATTRS const ISO::CFI_cdesc_t &raw() const { return raw_; }
RT_API_ATTRS std::size_t ElementBytes() const { return raw_.elem_len; }
RT_API_ATTRS int rank() const { return raw_.rank; }
RT_API_ATTRS TypeCode type() const { return TypeCode{raw_.type}; }
@@ -225,7 +225,7 @@ class Descriptor {
RT_API_ATTRS Dimension &GetDimension(int dim) {
return *reinterpret_cast<Dimension *>(&raw_.dim[dim]);
}
- const RT_API_ATTRS Dimension &GetDimension(int dim) const {
+ RT_API_ATTRS const Dimension &GetDimension(int dim) const {
return *reinterpret_cast<const Dimension *>(&raw_.dim[dim]);
}
@@ -345,7 +345,7 @@ class Descriptor {
return nullptr;
}
}
- const RT_API_ATTRS DescriptorAddendum *Addendum() const {
+ RT_API_ATTRS const DescriptorAddendum *Addendum() const {
if (raw_.f18Addendum != 0) {
return reinterpret_cast<const DescriptorAddendum *>(
&GetDimension(rank()));
@@ -448,7 +448,7 @@ class alignas(Descriptor) StaticDescriptor {
RT_API_ATTRS Descriptor &descriptor() {
return *reinterpret_cast<Descriptor *>(storage_);
}
- const RT_API_ATTRS Descriptor &descriptor() const {
+ RT_API_ATTRS const Descriptor &descriptor() const {
return *reinterpret_cast<const Descriptor *>(storage_);
}
diff --git a/flang/runtime/derived-api.cpp b/flang/runtime/derived-api.cpp
index 321f50a1edfcfe..eca784be208d10 100644
--- a/flang/runtime/derived-api.cpp
+++ b/flang/runtime/derived-api.cpp
@@ -95,7 +95,7 @@ inline RT_API_ATTRS bool CompareDerivedType(
return a == b || CompareDerivedTypeNames(a->name(), b->name());
}
-static const RT_API_ATTRS typeInfo::DerivedType *GetDerivedType(
+static RT_API_ATTRS const typeInfo::DerivedType *GetDerivedType(
const Descriptor &desc) {
if (const DescriptorAddendum * addendum{desc.Addendum()}) {
if (const auto *derived{addendum->derivedType()}) {
diff --git a/flang/runtime/type-info.h b/flang/runtime/type-info.h
index ee1ddbd0685c60..c3f3595e32ef28 100644
--- a/flang/runtime/type-info.h
+++ b/flang/runtime/type-info.h
@@ -58,7 +58,7 @@ class Component {
Automatic = 4
};
- const RT_API_ATTRS Descriptor &name() const { return name_.descriptor(); }
+ RT_API_ATTRS const Descriptor &name() const { return name_.descriptor(); }
RT_API_ATTRS Genre genre() const { return genre_; }
RT_API_ATTRS TypeCategory category() const {
return static_cast<TypeCategory>(category_);
@@ -66,17 +66,17 @@ class Component {
RT_API_ATTRS int kind() const { return kind_; }
RT_API_ATTRS int rank() const { return rank_; }
RT_API_ATTRS std::uint64_t offset() const { return offset_; }
- const RT_API_ATTRS Value &characterLen() const { return characterLen_; }
- const RT_API_ATTRS DerivedType *derivedType() const {
+ RT_API_ATTRS const Value &characterLen() const { return characterLen_; }
+ RT_API_ATTRS const DerivedType *derivedType() const {
return derivedType_.descriptor().OffsetElement<const DerivedType>();
}
- const RT_API_ATTRS Value *lenValue() const {
+ RT_API_ATTRS const Value *lenValue() const {
return lenValue_.descriptor().OffsetElement<const Value>();
}
- const RT_API_ATTRS Value *bounds() const {
+ RT_API_ATTRS const Value *bounds() const {
return bounds_.descriptor().OffsetElement<const Value>();
}
- const RT_API_ATTRS char *initialization() const { return initialization_; }
+ RT_API_ATTRS const char *initialization() const { return initialization_; }
RT_API_ATTRS std::size_t GetElementByteSize(const Descriptor &) const;
RT_API_ATTRS std::size_t GetElements(const Descriptor &) const;
@@ -205,27 +205,27 @@ class DerivedType {
public:
~DerivedType(); // never defined
- const RT_API_ATTRS Descriptor &binding() const {
+ RT_API_ATTRS const Descriptor &binding() const {
return binding_.descriptor();
}
- const RT_API_ATTRS Descriptor &name() const { return name_.descriptor(); }
+ RT_API_ATTRS const Descriptor &name() const { return name_.descriptor(); }
RT_API_ATTRS std::uint64_t sizeInBytes() const { return sizeInBytes_; }
- const RT_API_ATTRS Descriptor &uninstatiated() const {
+ RT_API_ATTRS const Descriptor &uninstatiated() const {
return uninstantiated_.descriptor();
}
- const RT_API_ATTRS Descriptor &kindParameter() const {
+ RT_API_ATTRS const Descriptor &kindParameter() const {
return kindParameter_.descriptor();
}
- const RT_API_ATTRS Descriptor &lenParameterKind() const {
+ RT_API_ATTRS const Descriptor &lenParameterKind() const {
return lenParameterKind_.descriptor();
}
- const RT_API_ATTRS Descriptor &component() const {
+ RT_API_ATTRS const Descriptor &component() const {
return component_.descriptor();
}
- const RT_API_ATTRS Descriptor &procPtr() const {
+ RT_API_ATTRS const Descriptor &procPtr() const {
return procPtr_.descriptor();
}
- const RT_API_ATTRS Descriptor &special() const {
+ RT_API_ATTRS const Descriptor &special() const {
return special_.descriptor();
}
RT_API_ATTRS bool hasParent() const { return hasParent_; }
@@ -241,14 +241,14 @@ class DerivedType {
return lenParameterKind().Elements();
}
- const RT_API_ATTRS DerivedType *GetParentType() const;
+ RT_API_ATTRS const DerivedType *GetParentType() const;
// Finds a data component by name in this derived type or its ancestors.
- const RT_API_ATTRS Component *FindDataComponent(
+ RT_API_ATTRS const Component *FindDataComponent(
const char *name, std::size_t nameLen) const;
// O(1) look-up of special procedure bindings
- const RT_API_ATTRS SpecialBinding *FindSpecialBinding(
+ RT_API_ATTRS const SpecialBinding *FindSpecialBinding(
SpecialBinding::Which which) const {
auto bitIndex{static_cast<std::uint32_t>(which)};
auto bit{std::uint32_t{1} << bitIndex};
|
klausler
approved these changes
Mar 14, 2024
Created using spr 1.3.4 [skip ci]
Created using spr 1.3.4 [skip ci]
Created using spr 1.3.4 [skip ci]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Clean-up to keep the type qualifier next to the type.