brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 38f20ac Raw
79 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -Wall -Wunused-macros -Wunused-parameter -Wno-uninitialized -verify %s2 3struct S {4    void m1() { int b; while (b==b); } // expected-warning {{always evaluates to true}}5 6#pragma clang diagnostic push7#pragma clang diagnostic ignored "-Wtautological-compare"8    void m2() { int b; while (b==b); }9#pragma clang diagnostic pop10 11    void m3() { int b; while (b==b); } // expected-warning {{always evaluates to true}}12};13 14//------------------------------------------------------------------------------15 16#pragma clang diagnostic push17#pragma clang diagnostic ignored "-Wtautological-compare"18template <typename T>19struct TS {20    void m() { T b; while (b==b); }21};22#pragma clang diagnostic pop23 24void f() {25    TS<int> ts;26    ts.m();27}28 29//------------------------------------------------------------------------------30 31#define UNUSED_MACRO1 // expected-warning {{macro is not used}}32 33#pragma clang diagnostic push34#pragma clang diagnostic ignored "-Wunused-macros"35#define UNUSED_MACRO236#pragma clang diagnostic pop37 38//------------------------------------------------------------------------------39 40#pragma clang diagnostic push41#pragma clang diagnostic ignored "-Wreturn-type"42int g() { }43#pragma clang diagnostic pop44 45//------------------------------------------------------------------------------46 47void ww(48#pragma clang diagnostic push49#pragma clang diagnostic ignored "-Wunused-parameter"50        int x,51#pragma clang diagnostic pop52        int y) // expected-warning {{unused}}53{54}55 56//------------------------------------------------------------------------------57 58struct S2 {59    int x, y;60    S2() : 61#pragma clang diagnostic push62#pragma clang diagnostic ignored "-Wreorder"63    y(),64    x()65#pragma clang diagnostic pop66    {}67};68 69//------------------------------------------------------------------------------70 71#define MYMACRO \72    _Pragma("clang diagnostic push") \73    _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") \74    _Pragma("clang diagnostic pop")75MYMACRO76#undef MYMACRO77 78//------------------------------------------------------------------------------79