brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 1066614 Raw
35 lines · cpp
1// RUN: %clang_cc1 -std=c++20 -Wunsafe-buffer-usage \2// RUN:            -fsafe-buffer-usage-suggestions -verify %s3 4void beginUnclosed(int * x) {5#pragma clang unsafe_buffer_usage begin6 7#pragma clang unsafe_buffer_usage begin  // expected-error{{already inside '#pragma unsafe_buffer_usage'}}8  x++;9#pragma clang unsafe_buffer_usage end10}11 12void endUnopened(int *x) {13#pragma clang unsafe_buffer_usage end    // expected-error{{not currently inside '#pragma unsafe_buffer_usage'}}14 15#pragma clang unsafe_buffer_usage begin16  x++;17#pragma clang unsafe_buffer_usage end18}19 20void wrongOption() {21#pragma clang unsafe_buffer_usage start // expected-error{{expected 'begin' or 'end'}}22#pragma clang unsafe_buffer_usage close // expected-error{{expected 'begin' or 'end'}}23}24 25void unclosed(int * p1) {26#pragma clang unsafe_buffer_usage begin27// End of the included file will not raise the unclosed region warning:28#define _INCLUDE_NO_WARN29#include "warn-unsafe-buffer-usage-pragma.h"30#pragma clang unsafe_buffer_usage end31 32// End of this file raises the warning:33#pragma clang unsafe_buffer_usage begin  // expected-error{{'#pragma unsafe_buffer_usage' was not ended}}34}35