[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    Re: [PATCH] D11789: Modify DeclaratorChuck::getFunction to be passed an Exception Specification Sour
From:       Richard Smith via cfe-commits <cfe-commits () lists ! llvm ! org>
Date:       2015-08-14 23:49:25
Message-ID: 7dd9d1062e835ba7a6e9b2e031e165e4 () localhost ! localdomain
[Download RAW message or body]

rsmith added inline comments.

================
Comment at: include/clang/Sema/DeclSpec.h:1262
@@ -1260,1 +1261,3 @@
+    /// \brief The end location of the exception specifier, if any.
+    unsigned ExceptionSpecLocEnd;
 
----------------
nwilson wrote:
> Please let me know if there is still an issue with the wording here.
It'd be better to use "specification" rather than "specifier" here to match the \
standard.

================
Comment at: lib/Sema/SemaDecl.cpp:7453-7455
@@ +7452,5 @@
+            Range = D.getFunctionTypeInfo().getExceptionSpecRange();
+            Diag(Range.getBegin(), diag::err_function_concept_exception_spec)
+                << FixItHint::CreateRemoval(Range);
+            NewFD->setInvalidDecl();
+          }
----------------
Move this code out of the `if`; we should issue an error whether or not the function \
was spelled with a function declarator.

================
Comment at: test/SemaCXX/cxx-concept-declaration.cpp:9
@@ -8,1 +8,3 @@
 
+template<typename T> concept bool C3() { return (throw, 0, true); }
+static_assert(noexcept(C3<int>()), "function concept should be treated as if \
                noexcept(true) specified");
----------------
I guess this should be either `throw 0, true` or `throw, true`.


http://reviews.llvm.org/D11789



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic