Some more from-the-hip ctad-maybe-unsupported fixes for flang
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 16 Aug 2022 16:03:30 +0000 (16:03 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 16 Aug 2022 16:03:49 +0000 (16:03 +0000)
flang/include/flang/Evaluate/expression.h
flang/include/flang/Parser/instrumented-parser.h
flang/lib/Parser/basic-parsers.h

index 90309af..bce5fc6 100644 (file)
@@ -264,6 +264,14 @@ struct ComplexComponent
 };
 
 template <int KIND>
+ComplexComponent(bool, const Expr<Type<TypeCategory::Complex, KIND>> &)
+    -> ComplexComponent<KIND>;
+
+template <int KIND>
+ComplexComponent(bool, Expr<Type<TypeCategory::Complex, KIND>> &&)
+    -> ComplexComponent<KIND>;
+
+template <int KIND>
 struct Not : public Operation<Not<KIND>, Type<TypeCategory::Logical, KIND>,
                  Type<TypeCategory::Logical, KIND>> {
   using Result = Type<TypeCategory::Logical, KIND>;
index 9d958b9..1770744 100644 (file)
@@ -76,6 +76,10 @@ private:
 };
 
 template <typename PA>
+InstrumentedParser(const MessageFixedText &, const PA &)
+    -> InstrumentedParser<PA>;
+
+template <typename PA>
 inline constexpr auto instrumented(
     const MessageFixedText &tag, const PA &parser) {
   return InstrumentedParser{tag, parser};
index e2355a7..330ede9 100644 (file)
@@ -194,6 +194,9 @@ private:
 };
 
 template <typename PA>
+MessageContextParser(MessageFixedText, PA) -> MessageContextParser<PA>;
+
+template <typename PA>
 inline constexpr auto inContext(MessageFixedText context, PA parser) {
   return MessageContextParser{context, parser};
 }
@@ -242,6 +245,9 @@ private:
 };
 
 template <typename PA>
+WithMessageParser(MessageFixedWidth, PA) -> WithMessageParser<PA>;
+
+template <typename PA>
 inline constexpr auto withMessage(MessageFixedText msg, PA parser) {
   return WithMessageParser{msg, parser};
 }