| 35 | class ErrorLogger; |
| 36 | |
| 37 | class TestSimplifyTemplate : public TestFixture { |
| 38 | public: |
| 39 | TestSimplifyTemplate() : TestFixture("TestSimplifyTemplate") {} |
| 40 | |
| 41 | private: |
| 42 | const Settings settings = settingsBuilder().severity(Severity::portability).build(); |
| 43 | const Settings settings1 = settingsBuilder(settings).library("std.cfg").build(); |
| 44 | const Settings settings1_d = settingsBuilder(settings1).debugwarnings().build(); |
| 45 | |
| 46 | void run() override { |
| 47 | TEST_CASE(template1); |
| 48 | TEST_CASE(template2); |
| 49 | TEST_CASE(template3); |
| 50 | TEST_CASE(template4); |
| 51 | TEST_CASE(template5); |
| 52 | TEST_CASE(template6); |
| 53 | TEST_CASE(template7); |
| 54 | TEST_CASE(template8); |
| 55 | TEST_CASE(template9); |
| 56 | TEST_CASE(template10); |
| 57 | TEST_CASE(template11); |
| 58 | TEST_CASE(template12); |
| 59 | TEST_CASE(template13); |
| 60 | TEST_CASE(template14); |
| 61 | TEST_CASE(template15); // recursive templates |
| 62 | TEST_CASE(template16); |
| 63 | TEST_CASE(template17); |
| 64 | TEST_CASE(template18); |
| 65 | TEST_CASE(template19); |
| 66 | TEST_CASE(template20); |
| 67 | TEST_CASE(template21); |
| 68 | TEST_CASE(template22); |
| 69 | TEST_CASE(template23); |
| 70 | TEST_CASE(template24); // #2648 - using sizeof in template parameter |
| 71 | TEST_CASE(template25); // #2648 - another test for sizeof template parameter |
| 72 | TEST_CASE(template26); // #2721 - passing 'char[2]' as template parameter |
| 73 | TEST_CASE(template27); // #3350 - removing unused template in macro call |
| 74 | TEST_CASE(template28); |
| 75 | TEST_CASE(template30); // #3529 - template < template < .. |
| 76 | TEST_CASE(template31); // #4010 - reference type |
| 77 | TEST_CASE(template32); // #3818 - mismatching template not handled well |
| 78 | TEST_CASE(template33); // #3818,#4544 - inner templates in template instantiation not handled well |
| 79 | TEST_CASE(template34); // #3706 - namespace => hang |
| 80 | TEST_CASE(template35); // #4074 - A<'x'> a; |
| 81 | TEST_CASE(template36); // #4310 - passing unknown template instantiation as template argument |
| 82 | TEST_CASE(template37); // #4544 - A<class B> a; |
| 83 | TEST_CASE(template38); // #4832 - crash on C++11 right angle brackets |
| 84 | TEST_CASE(template39); // #4742 - freeze |
| 85 | TEST_CASE(template40); // #5055 - template specialization outside struct |
| 86 | TEST_CASE(template41); // #4710 - const in instantiation not handled perfectly |
| 87 | TEST_CASE(template42); // #4878 - variadic templates |
| 88 | TEST_CASE(template43); // #5097 - assert due to '>>' not treated as end of template instantiation |
| 89 | TEST_CASE(template44); // #5297 - TemplateSimplifier::simplifyCalculations not eager enough |
| 90 | TEST_CASE(template45); // #5814 - syntax error reported for valid code |
| 91 | TEST_CASE(template46); // #5816 - syntax error reported for valid code |
| 92 | TEST_CASE(template47); // #6023 - syntax error reported for valid code |
| 93 | TEST_CASE(template48); // #6134 - 100% CPU upon invalid code |
| 94 | TEST_CASE(template49); // #6237 - template instantiation |
nothing calls this directly
no test coverage detected