@@ -5099,6 +5099,12 @@ void
finish_static_assert (tree condition, tree message, location_t location,
bool member_p)
{
+ if (message == NULL_TREE
+ || message == error_mark_node
+ || condition == NULL_TREE
+ || condition == error_mark_node)
+ return;
+
if (check_for_bare_parameter_packs (condition))
condition = error_mark_node;
new file mode 100644
@@ -0,0 +1,7 @@
+// { dg-do compile { target c++11 } }
+
+static_assert (1 == 0); // { dg-error "expected (string-literal|',') before" }
+
+static_assert (1 == 0,); // { dg-error "expected string-literal before '\\)'" }
+
+static_assert (1 == 0, "oops"); // { dg-error "static assertion failed" }