brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · eb5eb2f Raw
56 lines · plain
1// RUN: not clang-tblgen -gen-clang-diags-defs -I%S %s -o /dev/null 2>&1 | FileCheck %s2include "DiagnosticBase.inc"3 4// Ensure we catch a capital letter at the start of a diagnostic.5def zero : Error<6  "This is bad">;7// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not start with a capital letter; 'This' is invalid8 9// Test that we also correctly handle selections.10def one : Error<11  "%select{|or}0 That">;12// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not start with a capital letter; 'That' is invalid13def two : Error<14  "%select{as does|}0 This">;15// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not start with a capital letter; 'This' is invalid16def three : Error<17  "%select{and||of course}0 Whatever">;18// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not start with a capital letter; 'Whatever' is invalid19 20// Test that we accept the following cases.21def four : Error<22  "this is fine">;23def five : Error<24  "%select{this|is|also}0 Fine">;25def six : Error<26  "%select{this|is|also|}0 fine">;27def seven : Error<28  "%select{ARC|C|C23|C++14|OpenMP}0 are also fine">;29 30// Next, test that we catch punctuation at the end of the diagnostic.31def eight : Error<32  "punctuation is bad.">;33// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid34def nine : Error<35  "it's really bad!">;36// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '!' is invalid37def ten : Error<38  "we also catch %select{punctuation.|in select}0">;39// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid40def eleven : Error<41  "and %select{|here.}0">;42// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid43def twelve : Error<44  "and %select{here.|}0">;45// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid46def thirteen : Error<47  "and even %select{|here.|}0">;48// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid49def fourteen : Error<50  "and %select{here}0.">;51// CHECK-DAG: wording-errors.td:[[@LINE-2]]:5: error: Diagnostics should not end with punctuation; '.' is invalid52 53// Test that we accept the following cases.54def fifteen : Error<55  "question marks are intentionally okay?">;56