llvm-project/clang/test/SemaCXX
Eric Fiselier 341e825eae Implement __attribute__((require_constant_initialization)) for safe static initialization.
Summary:
This attribute specifies expectations about the initialization of static and
thread local variables. Specifically that the variable has a
[constant initializer](http://en.cppreference.com/w/cpp/language/constant_initialization)
according to the rules of [basic.start.static]. Failure to meet this expectation
will result in an error.

Static objects with constant initializers avoid hard-to-find bugs caused by
the indeterminate order of dynamic initialization. They can also be safely
used by other static constructors across translation units.

This attribute acts as a compile time assertion that the requirements
for constant initialization have been met. Since these requirements change
between dialects and have subtle pitfalls it's important to fail fast instead
of silently falling back on dynamic initialization.

```c++
  // -std=c++14
  #define SAFE_STATIC __attribute__((require_constant_initialization)) static
  struct T {
    constexpr T(int) {}
    ~T();
  };
  SAFE_STATIC T x = {42}; // OK.
  SAFE_STATIC T y = 42; // error: variable does not have a constant initializer
  // copy initialization is not a constant expression on a non-literal type.
```
This attribute can only be applied to objects with static or thread-local storage
duration.

Reviewers: majnemer, rsmith, aaron.ballman

Subscribers: jroelofs, cfe-commits

Differential Revision: https://reviews.llvm.org/D23385

llvm-svn: 280525
2016-09-02 18:53:31 +00:00
..
Inputs Further restrict issuance of 'override' warning if method 2014-11-03 19:46:18 +00:00
2008-01-11-BadWarning.cpp
MicrosoftCompatibility-cxx98.cpp [MSVC Compat] Make -Wmicrosoft-cast not an error by default 2015-11-18 21:42:38 +00:00
MicrosoftCompatibility.cpp [MS Compat] Allow _Atomic(Type) and 'struct _Atomic' to coexist 2015-07-22 23:46:18 +00:00
MicrosoftCompatibilityNoExceptions.cpp
MicrosoftExtensions.cpp [MSVC] Support for __unaligned qualifier in functions 2016-05-26 10:06:01 +00:00
MicrosoftSuper.cpp For variables with dependent type, don't crash on `var->::new` or `var->__super` 2015-02-16 22:32:46 +00:00
PR5086-ambig-resolution-enum.cpp
PR6562.cpp
PR6618.cpp
PR7410.cpp
PR7944.cpp
PR8012.cpp Removing some more unnecessary manual quotes from diagnostics. Updated the related test case to ensure correctness. 2014-01-03 13:34:55 +00:00
PR8385.cpp
PR8755.cpp
PR8884.cpp
PR9459.cpp
PR9460.cpp
PR9461.cpp Port r163224 to C++. 2015-02-18 05:19:40 +00:00
PR9572.cpp Fix some confusing diagnostic wording. s/implicit default/implicit/ if we're 2013-06-13 03:34:55 +00:00
PR9884.cpp
PR9902.cpp
PR9908.cpp
PR10177.cpp Warn if function or variable cannot be implicitly instantiated 2016-04-19 06:19:52 +00:00
PR10243.cpp
PR10447.cpp DR14, DR101, and part of DR1: fix handling of extern "C" declarations in 2013-06-18 20:15:12 +00:00
PR10458.cpp
PR11358.cpp
PR12481.cpp
PR12778.cpp Avoid getting an argument of allocation function if it does not exist. 2013-09-14 12:00:01 +00:00
PR16677.cpp Do not crash if class is defined in wrong scope. 2015-12-28 19:40:14 +00:00
PR19955.cpp Sema: Allow dllimport entities in template args for mingw 2014-06-26 07:48:46 +00:00
PR20110.cpp Prevent Clang from crashing on template code. 2014-07-02 04:39:38 +00:00
PR20334-std_initializer_list_diagnosis_assertion.cpp Fix PR20334: invalid assertion while diagnosing list initialization failure 2015-12-07 02:37:44 +00:00
PR20705.cpp Fix PR20705, crash on invalid. 2014-08-22 01:16:44 +00:00
PR21679.cpp Add the test that was supposed to be included with r223162. 2015-01-20 20:15:29 +00:00
PR23334.cpp PR23334: Perform semantic checking of lambda capture initialization in the right context. 2015-04-27 21:27:54 +00:00
__null.cpp
__try.cpp Fix Sema tests using __try by adding triple 2015-04-28 22:58:25 +00:00
abstract.cpp [Sema] Implement several unary type traits more accurately 2015-11-16 06:58:51 +00:00
access-base-class.cpp
access-control-check.cpp
access-member-pointer.cpp
access.cpp Make SemaAccess smarter about determining when a dependent class might 2016-03-23 20:39:06 +00:00
accessible-base.cpp PR6037 2015-01-19 01:44:02 +00:00
addr-of-overloaded-function-casting.cpp Fix diagnostics for C-style cast to function type. 2014-04-13 16:08:24 +00:00
addr-of-overloaded-function.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
address-of-temporary.cpp
address-of.cpp
address-packed-member-memops.cpp Add missing tests 2016-08-17 06:52:15 +00:00
address-packed.cpp Add missing tests 2016-08-17 06:52:15 +00:00
address-space-conversion.cpp
address-space-initialize.cpp
address-space-newdelete.cpp
address-space-references.cpp
aggregate-initialization.cpp Fix crash in access check for aggregate initialization of base classes. It's 2016-03-08 23:17:35 +00:00
alias-template.cpp Push alias-declarations and alias-template declarations into scope even if 2016-07-15 20:53:25 +00:00
align_value.cpp Initial support for the align_value attribute 2014-10-02 21:21:25 +00:00
alignment-of-derived-class.cpp Fix alignment of class derived from empty class. 2013-07-16 00:21:28 +00:00
alignof-sizeof-reference.cpp sizeof(void) etc. should be a hard error in C++. 2013-08-13 22:26:42 +00:00
alignof.cpp [Sema] Don't permit dependent alignments on non-dependent typedef-names 2015-04-07 02:37:09 +00:00
altivec.cpp
ambig-user-defined-conversions.cpp
ambiguous-builtin-unary-operator.cpp
ambiguous-conversion-show-overload.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
anonymous-struct.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
anonymous-union-cxx11.cpp Allow static_assert inside an anonymous union; fixes PR20021 as well as implements C++ Issue 1940. 2014-06-24 16:22:41 +00:00
anonymous-union.cpp Fix half of PR26048. We don't yet diagnose the case where the anonymous union member is declared first and the tag name is declared second. 2016-01-06 21:54:29 +00:00
array-bound-merge.cpp [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
array-bounds-ptr-arith.cpp
array-bounds-system-header.cpp
array-bounds.cpp
arrow-operator.cpp Wire up LookupMemberExpr to use the new TypoExpr. 2014-10-27 18:07:46 +00:00
ast-print.cpp Teach -ast-print to print constexpr variables. 2016-07-08 21:09:08 +00:00
atomic-ops.cpp [Sema] Fix PR28623. 2016-07-21 03:28:13 +00:00
atomic-type.cpp Reverted OpenCL2.0 atomic type commits r231932, r231935 2015-03-11 17:26:37 +00:00
attr-abi-tag-syntax.cpp [GCC] PR23529 Mangler part of attrbute abi_tag support 2016-06-30 09:40:38 +00:00
attr-after-definition.cpp
attr-aligned.cpp Sema: Only merge typedef attributes if the previous decl is a typedef 2013-10-08 00:19:09 +00:00
attr-cleanup-gcc.cpp Switch attribute test line endings from CRLF 2013-10-20 19:04:19 +00:00
attr-cleanup.cpp Switch attribute test line endings from CRLF 2013-10-20 19:04:19 +00:00
attr-common.cpp Switching the common attribute over to using the generic diagnostic, and removing the now-unused diagnostic. Updates a test case. 2013-11-24 21:48:06 +00:00
attr-cxx0x-fixit.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
attr-cxx0x.cpp PR19252: Fix crash if alignas is used with an auto-typed variable. Don't check 2014-03-27 01:22:48 +00:00
attr-declspec-ignored.cpp
attr-deprecated-replacement-error.cpp Add an optional string argument to DeprecatedAttr for Fix-It. 2016-03-16 18:50:49 +00:00
attr-deprecated-replacement-fixit.cpp AvailabilityAttr: we accept "macos" as the platform name. 2016-06-28 20:55:30 +00:00
attr-deprecated.cpp Add test to verify we emit warning when the deprecated virtual function is overloaded. 2015-07-23 02:54:59 +00:00
attr-disable-tail-calls.cpp Add support for function attribute 'disable_tail_calls'. 2015-11-13 00:42:21 +00:00
attr-flag-enum-reject.cpp Create a new 'flag_enum' attribute. 2014-11-28 00:53:20 +00:00
attr-flatten.cpp Implement the flatten attribute. 2014-05-20 17:12:51 +00:00
attr-format.cpp
attr-gnu.cpp Revert r218925 - "Patch to warn if 'override' is missing" 2014-10-03 09:02:53 +00:00
attr-lto-visibility-public.cpp Re-apply r267784, r267824 and r267830. 2016-04-28 17:09:37 +00:00
attr-mode-tmpl.cpp Fix for PR8901: attribute "mode" rejected for enums and dependent types. 2016-02-02 13:50:39 +00:00
attr-no-sanitize-address.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
attr-no-sanitize-memory.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
attr-no-sanitize-thread.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
attr-no-sanitize.cpp clang/test/SemaCXX/attr-no-sanitize.cpp: Don't mix stdout and stderr for FileCheck. 2015-05-16 00:09:39 +00:00
attr-no-split-stack.cpp Implement the no_split_stack attribute. 2014-05-19 22:14:34 +00:00
attr-nodebug.cpp The nodebug attribute has a C++11-style spelling supported by GCC as well. This modifies it so we support that spelling as well. 2014-10-21 15:46:57 +00:00
attr-nonnull.cpp Fix representation of __attribute__((nonnull)) to support correctly modeling 2014-08-27 04:59:42 +00:00
attr-noreturn.cpp Update -Winvalid-noreturn to handle destructors better. 2015-05-28 00:14:02 +00:00
attr-notail.cpp Add support for function attribute 'not_tail_called'. 2015-11-06 23:56:15 +00:00
attr-optnone.cpp When attribute 'optnone' appears on the same declaration with a 2015-01-13 18:34:56 +00:00
attr-print.cpp [Sema] Handle leading and trailing __ for GNU attributes 2015-08-25 16:44:38 +00:00
attr-regparm.cpp
attr-require-constant-initialization.cpp Implement __attribute__((require_constant_initialization)) for safe static initialization. 2016-09-02 18:53:31 +00:00
attr-selectany.cpp Implement the likely resolution of core issue 253. 2016-02-19 01:52:46 +00:00
attr-sentinel.cpp
attr-swiftcall.cpp Semantic analysis for the swiftcall calling convention. 2016-03-03 06:39:32 +00:00
attr-unavailable.cpp Sema: Methods in unavailable classes are unavailable 2016-03-08 10:28:52 +00:00
attr-unused.cpp
attr-used.cpp Removed a string literal for an attribute name, which means the attribute name will be quoted in the diagnostic. Manually added some quotes to a diagnostic for consistency. Updated the test cases as appropriate. 2013-12-26 17:30:44 +00:00
attr-visibility.cpp
attr-weak.cpp Delay attribute checking until auto types are deduced 2014-01-21 23:54:36 +00:00
attr-weakref.cpp Delay attribute checking until auto types are deduced 2014-01-21 23:54:36 +00:00
attr-x86-interrupt.cpp [X86] Support 'interrupt' attribute for x86 2016-01-15 04:06:31 +00:00
attributed-auto-deduction.cpp Sema: handle additional case of qualified types 2014-10-16 22:42:53 +00:00
auto-cxx0x.cpp Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
auto-cxx98.cpp
auto-pragma.cpp
auto-subst-failure.cpp
auto-type-from-cxx.cpp Additional tests from r252690 that I forgot to 'svn add'. 2015-11-12 21:42:39 +00:00
bitfield-layout.cpp C11 _Bool bitfield diagnostic 2015-09-14 21:27:36 +00:00
bitfield.cpp Fix handling of preincrement on bit-fields. This gives a bit-field in C++, but 2014-09-24 23:55:00 +00:00
block-call.cpp
blocks-1.cpp Switch the semantic DeclContext for a block-scope declaration of a function or 2013-09-20 01:15:31 +00:00
blocks.cpp Fix an assertion when ending a function definition. 2014-11-18 00:19:01 +00:00
bool-compare.cpp Extend -Wtautological-constant-out-of-range-compare to handle boolean values 2014-04-04 04:13:47 +00:00
bool.cpp Split the deprecated increment bool warning into a sub-group of -Wdeprecated 2013-08-08 03:05:52 +00:00
borland-extensions.cpp
builtin-assume-aligned-tmpl.cpp Support the assume_aligned function attribute 2014-09-26 05:04:30 +00:00
builtin-assume-aligned.cpp constexpr evaluation for __builtin_assume_aligned 2014-10-03 17:18:37 +00:00
builtin-classify-type.cpp PR26449: Tests for builtin_classify_type fix 2016-02-15 10:44:27 +00:00
builtin-exception-spec.cpp
builtin-object-size-cxx14.cpp [Sema] Note when we encounter a problem in ExprConstant. 2016-05-25 22:31:54 +00:00
builtin-ptrtomember-ambig.cpp
builtin-ptrtomember-overload-1.cpp
builtin-ptrtomember-overload.cpp
builtin_objc_msgSend.cpp
builtins-arm.cpp Fix typo from r237482. "to reference of type" --> "to reference to type" 2015-05-16 01:39:39 +00:00
builtins-va_arg.cpp
builtins.cpp Only provide MS builtins when -fms-extensions is on 2013-11-13 22:47:22 +00:00
c99-variable-length-array-cxx11.cpp Implementation of VlA of GNU C++ extension, by Vladimir Yakovlev. 2016-04-29 09:39:50 +00:00
c99-variable-length-array.cpp Implementation of VlA of GNU C++ extension, by Vladimir Yakovlev. 2016-04-29 09:39:50 +00:00
c99.cpp Sema: Cleanup and simplify anonymous union diagnostics 2013-11-02 10:38:05 +00:00
call-with-static-chain.cpp Implement the __builtin_call_with_static_chain GNU extension. 2014-12-12 23:41:25 +00:00
calling-conv-compat.cpp [MS Compat] Adjust thiscall to cdecl when deducing template arguments 2015-11-30 20:34:28 +00:00
captured-statements.cpp Improve the error message for assigning to read-only variables. 2015-04-11 01:53:13 +00:00
cast-conversion.cpp Don't build expressions for invalid casts. 2013-07-26 23:47:47 +00:00
cast-explicit-ctor.cpp
cast-lvalue-to-rvalue-reference.cpp [Sema] If lvalue to rvalue reference cast is valid don't emit diagnostic. 2015-07-12 22:10:56 +00:00
cdtor-fn-try-block.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
class-base-member-init.cpp Make CXXBaseSpecifier::getType return unqual type. 2013-07-11 22:22:22 +00:00
class-layout.cpp PR6037 2015-01-19 01:44:02 +00:00
class-names.cpp
class.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
comma.cpp
compare.cpp Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00
complex-folding.cpp [complex] Teach the other two binary operators on complex numbers (== 2014-10-11 11:03:30 +00:00
complex-init-list.cpp
complex-overload.cpp PR15966: don't get confused by a complex integer -> complex integer conversion 2013-05-10 20:29:50 +00:00
composite-pointer-type.cpp
compound-literal.cpp Tweak changes in r186464 to avoid a crash. 2013-10-01 00:28:29 +00:00
condition.cpp PR28373: fix crash-on-invalid if the condition of an if-statement fails typo-correction. 2016-06-30 18:36:34 +00:00
conditional-expr.cpp Implement support for conditional between xvalues of reference-compatible 2016-04-25 19:30:37 +00:00
const-cast.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
constant-expression-cxx1y.cpp PR27989: only enqueue binary operators into the data recursive int expression 2016-06-04 00:22:31 +00:00
constant-expression-cxx1z.cpp P0017R1: In C++1z, an aggregate class can have (public non-virtual) base classes; these are initialized as if they were data members. 2016-03-08 22:17:41 +00:00
constant-expression-cxx11.cpp P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
constant-expression.cpp Don't assert if evaluation of an expression that we're syntactically required 2015-12-04 03:00:44 +00:00
constexpr-ackermann.cpp
constexpr-backtrace-limit.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
constexpr-depth.cpp
constexpr-duffs-device.cpp Add another C++14 constexpr test case. 2013-07-25 01:53:54 +00:00
constexpr-factorial.cpp
constexpr-many-arguments.cpp
constexpr-nqueens.cpp Extend this test to also be valid in C++14. 2016-05-13 06:42:55 +00:00
constexpr-printing.cpp PR17381: Treat undefined behavior during expression evaluation as an unmodeled 2015-12-03 01:36:22 +00:00
constexpr-steps.cpp Add test forgotten in r181388. 2013-05-08 02:38:36 +00:00
constexpr-strlen.cpp
constexpr-turing.cpp Since we're counting number of steps, switch to turing machines which maximize 2013-05-16 22:18:32 +00:00
constexpr-value-init.cpp Implement the likely resolution of core issue 253. 2016-02-19 01:52:46 +00:00
constructor-initializer.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
constructor-recovery.cpp Add support for derived class special members hiding functions brought in from 2016-05-13 06:47:56 +00:00
constructor.cpp When we see something that looks like a constructor with a return type, only issue one error, not two. 2015-07-06 01:04:39 +00:00
conversion-delete-expr.cpp Refactor places which perform contextual implicit conversions to go through a 2013-05-21 19:05:48 +00:00
conversion-function.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
conversion-incomplete-type.cpp Fix a conversion to incomplete type bug -- The error message now specifically states that the type is incomplete and points to the forward declaration of the incomplete type. 2013-06-27 01:50:25 +00:00
conversion.cpp Make -Wnull-conversion more useful. 2016-02-13 00:58:53 +00:00
convert-to-bool.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
converting-constructor.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
copy-assignment.cpp
copy-constructor-error.cpp
copy-initialization.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
coroutines.cpp [coroutines] Build a CoroutineBodyStmt when finishing parsing a coroutine, and form the initial_suspend, final_suspend, and get_return_object calls. 2015-11-24 02:34:39 +00:00
crash-lambda-12645424.cpp
crashes.cpp Re-commit r273548, reverted in r273589, with a fix to not produce 2016-06-23 19:02:52 +00:00
cstyle-cast.cpp Warn when a reference is bound to an empty l-value (dereferenced null pointer). 2016-05-14 17:44:14 +00:00
cv-unqual-rvalues.cpp
cxx-altivec.cpp Normalize line endings 2014-03-02 18:46:05 +00:00
cxx-deprecated.cpp [c++1z] Support [[deprecated]] attributes on namespaces. Note that it only applies to situations where the namespace is mentioned. Thus, use on anonymous namespaces is diagnosed. 2014-11-14 22:34:56 +00:00
cxx-member-pointer-op.cpp
cxx0x-class.cpp Modify the uninitialized field visitor to detect uninitialized use across the 2013-09-20 03:03:06 +00:00
cxx0x-compat.cpp [c++1z] N4295: fold-expressions. 2014-11-08 05:07:16 +00:00
cxx0x-constexpr-const.cpp Improve the error message for assigning to read-only variables. 2015-04-11 01:53:13 +00:00
cxx0x-cursory-default-delete.cpp Fix rejects-valid caused by r261297. 2016-02-24 20:58:14 +00:00
cxx0x-defaulted-functions.cpp [Sema] Only define function as move assignment when needed 2016-06-20 20:04:15 +00:00
cxx0x-delegating-ctors.cpp Implemented delayed processing of 'unavailable' checking, just like with 'deprecated'. 2013-12-18 23:30:06 +00:00
cxx0x-deleted-default-ctor.cpp When a special member is explicitly defaulted outside its class, and we reject 2014-01-22 20:09:10 +00:00
cxx0x-initializer-aggregates.cpp [Sema] Don't create an invalid source range for overlong initializer lists. 2015-09-23 16:03:53 +00:00
cxx0x-initializer-constructor.cpp Improve the "braces around scalar init" warning to determine whether to warn 2015-02-12 01:50:05 +00:00
cxx0x-initializer-references.cpp [Sema] Do not permit binding a reference to a compound literal 2015-04-26 07:35:03 +00:00
cxx0x-initializer-scalars.cpp Improve the "braces around scalar init" warning to determine whether to warn 2015-02-12 01:50:05 +00:00
cxx0x-initializer-stdinitializerlist.cpp Fix crash on invalid initialization with std::initializer_list 2015-12-09 23:18:38 +00:00
cxx0x-noexcept-expression.cpp Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
cxx0x-nontrivial-union.cpp Don't check for triviality on fields of templated records. We can't know the 2013-06-25 23:22:23 +00:00
cxx0x-return-init-list.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
cxx0x-type-convert-construct.cpp Fix string-literal to char* conversion in overload resolution for C++11 2014-01-17 21:08:52 +00:00
cxx1y-constexpr-not-const.cpp If a function decl cannot be merged, mark it as invalid. 2015-01-17 02:33:17 +00:00
cxx1y-contextual-conversion-tweaks.cpp r184100 Fix -- Updated test cases for contextual conversion 2013-06-18 01:27:47 +00:00
cxx1y-deduced-return-type.cpp Function declarations are, in fact, permitted in the init-statement of a for 2016-06-28 23:26:18 +00:00
cxx1y-generic-lambdas-capturing.cpp Fix 'this' capturing Generic lambdas used within default initializers (PR19876) 2014-05-30 04:39:37 +00:00
cxx1y-generic-lambdas-variadics.cpp Fix PR18498: Support explicit template arguments with variadic generic lambdas 2014-06-01 16:11:54 +00:00
cxx1y-generic-lambdas.cpp Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
cxx1y-init-captures.cpp C++14 init-capture: error out instead of crashing. 2016-07-01 22:27:16 +00:00
cxx1y-initializer-aggregates.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
cxx1y-sized-deallocation.cpp Relax the requirement on sized deallocation a bit: Default on unsized delete if sized delete is not provided in global scope, and -fdefine-sized-deallocation option is disabled. 2015-02-22 06:36:53 +00:00
cxx1y-user-defined-literals.cpp Handle standard libraries that miss out the space when defining the standard 2013-09-24 04:06:10 +00:00
cxx1y-variable-templates_in_class.cpp DR259: Demote the pedantic error for an explicit instantiation after an 2016-08-31 23:23:25 +00:00
cxx1y-variable-templates_top_level.cpp DR259: Demote the pedantic error for an explicit instantiation after an 2016-08-31 23:23:25 +00:00
cxx1z-constexpr-lambdas.cpp [NFC] Rearrange an example-file so the c++14 specific example is on top. 2016-07-31 01:19:17 +00:00
cxx1z-decomposition.cpp Disable lambda-capture of decomposition declaration bindings for now, until CWG 2016-08-15 02:34:23 +00:00
cxx1z-init-statement-warn-unused.cpp P0305R0: Semantic analysis and code generation for C++17 init-statement for 'if' and 'switch': 2016-07-14 00:11:03 +00:00
cxx1z-init-statement.cpp P0305R0: Semantic analysis and code generation for C++17 init-statement for 'if' and 'switch': 2016-07-14 00:11:03 +00:00
cxx1z-lambda-star-this.cpp Fix cv-qualification of '*this' captures and nasty bug PR27507 2016-06-11 16:41:54 +00:00
cxx11-ast-print.cpp When pretty-printing a C++11 literal operator, don't insert whitespace between 2015-10-08 00:17:59 +00:00
cxx11-attr-print.cpp Add an optional string argument to DeprecatedAttr for Fix-It. 2016-03-16 18:50:49 +00:00
cxx11-call-to-deleted-constructor.cpp [SemaCXX patch] Patch to fix a crash when a 'delete' constructor 2015-04-14 17:21:58 +00:00
cxx11-crashes.cpp Fix a crash when the size of an 'auto' is needed and its initalizer 2015-03-17 23:50:12 +00:00
cxx11-gnu-attrs.cpp Improve some infrastructure for extended parameter infos and 2016-03-03 00:10:03 +00:00
cxx11-inheriting-ctors.cpp Mark inheriting constructors as deleted if the corresponding defaulted default 2016-06-29 01:10:27 +00:00
cxx11-thread-local-print.cpp Avoid patching storage class for block scope thread_local variables. 2013-05-10 20:34:44 +00:00
cxx11-thread-local.cpp [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
cxx11-thread-unsupported.cpp Fix missing diagnostic for unsupported TLS for some thread_local variables. 2014-11-21 06:52:52 +00:00
cxx11-unused.cpp -Wunused-parameter: Don't fire on defaulted or deleted functions 2014-04-30 16:31:28 +00:00
cxx11-user-defined-literals-unused.cpp Mark as referenced the functions from instantiated UserDefinedLiterals. 2013-04-09 01:17:02 +00:00
cxx11-user-defined-literals.cpp When pretty-printing a C++11 literal operator, don't insert whitespace between 2015-10-08 00:17:59 +00:00
cxx98-compat-flags.cpp Change -Wbind-to-temporary-copy from an ExtWarn to an Extension. 2014-09-18 02:09:53 +00:00
cxx98-compat-pedantic.cpp DR259: Demote the pedantic error for an explicit instantiation after an 2016-08-31 23:23:25 +00:00
cxx98-compat.cpp DR259: Demote the pedantic error for an explicit instantiation after an 2016-08-31 23:23:25 +00:00
dcl_ambig_res.cpp sizeof(void) etc. should be a hard error in C++. 2013-08-13 22:26:42 +00:00
dcl_init_aggr.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
decl-expr-ambiguity.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
decl-init-ref.cpp Add increment/decrement operators and compound assignment operators to the 2014-09-25 01:15:40 +00:00
decl-microsoft-call-conv.cpp PR24595: Ignore calling convention modifiers for structors in MS ABI. 2015-09-14 21:29:57 +00:00
declspec-thread.cpp Fix buildbots 2015-05-14 05:24:59 +00:00
decltype-98.cpp
decltype-crash.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
decltype-overloaded-functions.cpp
decltype-pr4444.cpp
decltype-pr4448.cpp
decltype-this.cpp
decltype.cpp Implementing C99 partial re-initialization behavior (DR-253) 2015-06-10 00:27:52 +00:00
default-argument-temporaries.cpp
default-assignment-operator.cpp [Sema] Be consistent about diagnostic wording: always use "cannot". 2015-08-15 15:23:14 +00:00
default-constructor-initializers.cpp
default1.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
default2.cpp Detect recursive default argument definition 2016-06-14 02:55:56 +00:00
defaulted-ctor-loop.cpp
defaulted-private-dtor.cpp
delete-and-function-templates.cpp Fix PR28100 - Allow redeclarations of deleted explicit specializations. 2016-06-14 03:23:15 +00:00
delete-mismatch.h Detect uses of mismatching forms of 'new' and 'delete' 2015-05-18 19:59:11 +00:00
delete.cpp MismatchingNewDeleteDetector uses incorrect field, and finds no initializer 2015-10-26 19:20:24 +00:00
deleted-function-access.cpp [Sema] Diagnose use of declaration correctly. 2015-07-22 00:30:58 +00:00
deleted-function.cpp PR22673 again: diagnose use of the used decl, not the found decl. This is also 2015-02-24 21:44:43 +00:00
deleted-operator.cpp Enable support for __float128 in Clang and enable it on pertinent platforms 2016-05-09 08:52:33 +00:00
dependent-auto.cpp
dependent-noexcept-unevaluated.cpp PR21437, final part of DR1330: delay-parsing of exception-specifications. This 2014-11-13 20:01:57 +00:00
dependent-types.cpp
deprecated.cpp P0002R1: increment on expressions of type bool is no longer allowed in C++1z. 2015-11-26 02:16:37 +00:00
derived-to-base-ambig.cpp PR6037 2015-01-19 01:44:02 +00:00
destructor.cpp Fix destructor definition of invalid classes 2016-03-16 14:36:11 +00:00
devirtualize-vtable-marking.cpp Don't let virtual calls and dynamic casts call Sema::MarkVTableUsed(). 2015-01-26 06:23:36 +00:00
diagnostic-order.cpp Store list of undefined-but-used objects in a deterministic order to fix 2016-03-25 21:49:43 +00:00
direct-initializer.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
discrim-union.cpp
dllexport-pr22591.cpp __declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension. 2015-05-26 19:44:52 +00:00
dllexport.cpp Sema: support __declspec(dll*) on ObjC interfaces 2016-07-15 20:41:10 +00:00
dllimport.cpp Sema: support __declspec(dll*) on ObjC interfaces 2016-07-15 20:41:10 +00:00
do-while-scope.cpp
dr1301.cpp
dynamic-cast.cpp Add an additional test for dynamic_cast. 2013-06-20 18:53:38 +00:00
elaborated-type-specifier.cpp When we generate a redeclaration for an 2014-05-14 18:31:48 +00:00
empty-class-layout.cpp PR6037 2015-01-19 01:44:02 +00:00
enable_if.cpp [Sema] Fix a crash on variadic enable_if functions. 2016-08-12 04:12:31 +00:00
enum-bitfield.cpp A conversion from a scoped enumeration bitfield to an integral type is an 2015-03-28 00:31:40 +00:00
enum-increment.cpp Emit an error for enum increments and decrements in C++ mode. 2013-08-08 01:50:23 +00:00
enum-scoped.cpp Fix implementation of C++'s restrictions on using-declarations referring to enumerators: 2016-05-05 02:13:49 +00:00
enum-unscoped-nonexistent.cpp Suppress bogus "use of undefined constexpr function" error if the function body 2013-05-14 05:18:44 +00:00
enum.cpp Explicitly permit undefined behavior in constant initializers for global 2015-12-08 03:21:47 +00:00
err_init_conversion_failed.cpp clang/test/SemaCXX/err_init_conversion_failed.cpp: Tweak for i686-msvc. 2014-05-20 15:44:42 +00:00
err_reference_bind_drops_quals.cpp When emitting a dropped qualifier error, show which qualifiers are dropped. 2015-05-16 01:27:03 +00:00
err_typecheck_assign_const.cpp [Sema] Don't assume CallExpr::getDirectCallee will succeed 2015-08-26 05:13:19 +00:00
err_typecheck_assign_const_filecheck.cpp Improve the error message for assigning to read-only variables. 2015-04-11 01:53:13 +00:00
eval-sizeof-dependent-type.cpp Sema: do not attempt to sizeof a dependent type 2016-06-04 03:16:21 +00:00
exception-spec-no-exceptions.cpp
exception-spec.cpp Promote a warning on ill-formed code (redeclaration missing an exception 2015-09-30 00:48:50 +00:00
exceptions-seh.cpp Re-land r228258 and make clang-cl's /EHs- disable -fexceptions again 2015-02-05 18:56:03 +00:00
exceptions.cpp [Sema] Don't permit catching variably modified types 2016-06-08 16:05:07 +00:00
explicit.cpp Implement the remaining portion of DR1467 from r227022. I may have overlooked a few things, but this implementation comes straight from the DR resolution itself. 2015-01-27 18:47:05 +00:00
expression-traits.cpp PR17052 / DR1560 (+DR1550): In a conditional expression between a glvalue and a 2014-01-27 04:19:56 +00:00
expressions.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
extern-c.cpp Fix filtering of prior declarations when checking for a tag redeclaration to 2016-05-23 20:03:04 +00:00
flexible-array-test.cpp Sema: Inherit the flexible array property from struct fields 2014-09-24 11:04:09 +00:00
fntype-decl.cpp
for-range-dereference.cpp Implemented delayed processing of 'unavailable' checking, just like with 'deprecated'. 2013-12-18 23:30:06 +00:00
for-range-examples.cpp Re-commit r273548, reverted in r273589, with a fix to not produce 2016-06-23 19:02:52 +00:00
for-range-no-std.cpp
for-range-unused.cpp Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there 2013-04-30 13:56:41 +00:00
format-strings-0x-nopedantic.cpp Move one more diagnostic into the new -Wformat-pedantic group. 2015-03-04 14:18:20 +00:00
format-strings-0x.cpp Move the fixit for -Wformat-security to a note. 2016-03-15 20:56:38 +00:00
format-strings.cpp Move the fixit for -Wformat-security to a note. 2016-03-15 20:56:38 +00:00
friend-class-nodecl.cpp
friend-out-of-line.cpp
friend.cpp Properly track the found declaration (possibly a using-declaration) when 2016-05-24 00:01:49 +00:00
funcdname.cpp [-fms-extensions] Add tests for __FUNCDNAME__ 2014-04-13 02:29:55 +00:00
function-extern-c.cpp
function-overload-typo-crash.cpp
function-overloaded-redecl.cpp
function-pointer-arguments.cpp Fix for PR16570: when comparing two function pointers, discard qualifiers when 2013-08-09 21:42:32 +00:00
function-redecl.cpp Functions declared in a scope should not hide previous declaration in earlier scopes 2016-06-16 21:39:46 +00:00
function-type-qual.cpp Improve the error message for assigning to read-only variables. 2015-04-11 01:53:13 +00:00
functional-cast.cpp Warn when a reference is bound to an empty l-value (dereferenced null pointer). 2016-05-14 17:44:14 +00:00
generalized-deprecated.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
generic-selection.cpp
gnu-case-ranges.cpp
gnu-flags.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
goto.cpp Reword switch/goto diagnostics "protected scope" diagnostics. Making up a term 2014-09-06 00:24:58 +00:00
goto2.cpp
i-c-e-cxx.cpp C++1y: track object lifetime during constexpr evaluation, and don't allow 2013-07-24 07:11:57 +00:00
illegal-member-initialization.cpp Implement the likely resolution of core issue 253. 2016-02-19 01:52:46 +00:00
implicit-exception-spec.cpp Handle use of default member initializers before end of outermost class 2014-11-17 23:36:45 +00:00
implicit-int.cpp
implicit-member-functions.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
implicit-virtual-member-functions.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
incomplete-call.cpp Do not parse members of incomplete class. 2015-06-10 19:06:59 +00:00
increment-decrement.cpp When emitting a dropped qualifier error, show which qualifiers are dropped. 2015-05-16 01:27:03 +00:00
indirect-goto.cpp
inherit.cpp Add test case for r193923 2013-11-02 12:11:58 +00:00
init-priority-attr.cpp Add the `pass_object_size` attribute to clang. 2015-12-02 21:58:08 +00:00
inline.cpp C does not have inline variables. 2016-07-14 22:22:58 +00:00
instantiate-blocks.cpp
integer-overflow.cpp Adjust tests to have consistent integer sizes. 2016-04-11 20:37:04 +00:00
internal_linkage.cpp Implement __attribute__((internal_linkage)). 2015-11-10 21:28:44 +00:00
invalid-instantiated-field-decl.cpp
invalid-member-expr.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
invalid-template-specifier.cpp
issue547.cpp Reject varargs '...' in function prototype if there are more parameters after 2014-08-11 23:30:23 +00:00
lambda-expressions.cpp [Sema] Teach getCurrentThisType to reconize lambda in in-class initializer 2016-07-27 18:25:10 +00:00
libstdcxx_atomic_ns_hack.cpp
libstdcxx_common_type_hack.cpp
libstdcxx_explicit_init_list_hack.cpp [Sema] Don't crash when diagnosing hack in libstdc++ 2015-08-21 06:44:10 +00:00
libstdcxx_is_pod_hack.cpp SemaCXX: Don't crash when annotation tokens show up before the tag name 2014-12-29 02:14:26 +00:00
libstdcxx_map_base_hack.cpp
libstdcxx_pair_swap_hack.cpp PR28423: Compare primary declaration contexts. 2016-08-20 14:50:22 +00:00
libstdcxx_pointer_return_false_hack.cpp Fix copy-pasted comment. 2013-06-20 23:01:44 +00:00
linkage-invalid-decl.cpp Fix infinite recursion for invalid declaration, by Dmitry Polukhin 2016-01-12 09:01:25 +00:00
linkage-spec.cpp Retain previous language linkage of friend function declarations 2013-10-22 22:53:01 +00:00
linkage.cpp Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
linkage2.cpp Exclude invalid old decl from mismatching linkage assertion 2014-03-06 21:48:45 +00:00
literal-operators.cpp Improve diagnostics for ill-formed literal operator declarations. 2016-02-17 00:04:04 +00:00
literal-type.cpp
local-classes.cpp
long-virtual-inheritance-chain.cpp
lookup-member.cpp PR24030, PR24033: Consistently check whether a new declaration conflicts with 2015-07-06 04:43:58 +00:00
make_integer_seq.cpp [Sema] Don't artificially forbid BuiltinTemplateDecls in CheckTemplateArgument 2016-07-11 17:09:56 +00:00
many-template-parameter-lists.cpp [Sema] Add a crazy test case for r243987 2015-08-04 15:18:16 +00:00
member-class-11.cpp
member-expr-anonymous-union.cpp
member-expr-static.cpp
member-expr.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
member-init.cpp [Sema] Don't crash when a field w/ a mem-initializer clashes with a record name 2016-06-09 05:26:56 +00:00
member-location.cpp
member-name-lookup.cpp
member-operator-expr.cpp
member-pointer-ms.cpp [MS ABI] Fix the preferred alignment of member pointers 2015-04-24 01:25:05 +00:00
member-pointer-size.cpp
member-pointer.cpp Revert accidentally-committed test for PR27558 (which currently fails...) 2016-05-19 01:41:52 +00:00
member-pointers-2.cpp
microsoft-cxx0x.cpp Tweak diagnostic wording for init list narrowing 2014-05-17 01:13:18 +00:00
microsoft-dtor-lookup-cxx11.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
microsoft-dtor-lookup.cpp Don't let virtual calls and dynamic casts call Sema::MarkVTableUsed(). 2015-01-26 06:23:36 +00:00
microsoft-new-delete.cpp Improve the "braces around scalar init" warning to determine whether to warn 2015-02-12 01:50:05 +00:00
microsoft-super.cpp Fix access control for lookups using the Microsoft __super extension. 2015-09-09 23:04:17 +00:00
microsoft-varargs-diagnostics.cpp Sema: correct handling for __va_start for WoA 2014-07-22 02:01:04 +00:00
microsoft-varargs.cpp Sema: correct handling for __va_start for WoA 2014-07-22 02:01:04 +00:00
missing-header.cpp
missing-members.cpp Be a bit smarter about what nested name qualifiers to allow when 2014-03-21 21:54:25 +00:00
missing-namespace-qualifier-typo-corrections.cpp Teach typo correction to look inside of classes like it does namespaces. 2013-09-26 19:10:29 +00:00
ms-const-member-expr.cpp [MSVC Compat] Don't evaluate member base expressions w/o side effects 2016-02-26 04:23:19 +00:00
ms-empty_bases.cpp Address post-commit review feedback to r270457 2016-05-23 17:32:35 +00:00
ms-exception-spec.cpp [Sema] Return an appropriate result from CheckSpecifiedExceptionType 2016-06-11 01:25:04 +00:00
ms-friend-lookup.cpp MSVC compat: Allow lookup of friend types in enclosing namespaces 2014-07-10 23:44:52 +00:00
ms-inline-asm.cpp [ms-inline-asm] Add field access to MS inline asm identifier lookup 2015-08-26 21:57:20 +00:00
ms-interface.cpp [Sema] Implement several unary type traits more accurately 2015-11-16 06:58:51 +00:00
ms-layout_version.cpp Address post-commit review feedback to r270457 2016-05-23 17:32:35 +00:00
ms-novtable.cpp Ignore the "novtable" declspec when not using the Microsoft C++ ABI. 2015-07-20 22:57:31 +00:00
ms-overload-entry-point.cpp [-cxx-abi microsoft] Correctly identify Win32 entry points 2013-09-16 22:44:20 +00:00
ms-property-error.cpp [MSVC] Fix for http://llvm.org/PR25636: indexed accessor property not supported correctly. 2015-12-10 04:38:18 +00:00
ms-property.cpp [MSVC] Fix for http://llvm.org/PR25636: indexed accessor property not supported correctly. 2015-12-10 04:38:18 +00:00
ms-unsupported.cpp Ignore the "novtable" declspec when not using the Microsoft C++ ABI. 2015-07-20 22:57:31 +00:00
ms-wchar.cpp Better diagnostics for string initialization. 2013-05-15 11:03:04 +00:00
ms_integer_suffix.cpp [MS Extensions] Remove support for the i128 integer literal suffix 2015-07-26 09:02:26 +00:00
ms_mutable_reference_member.cpp [MSVC2012] Allow 'mutable' references 2015-02-04 04:45:32 +00:00
ms_struct.cpp Rename -Wmsvc-include to -Wmicrosoft-include, now that -Wmicrosoft is split up. 2015-07-28 16:48:12 +00:00
ms_wide_bitfield.cpp Remove warning on over-wide bit-field of boolean type; there's no risk that 2015-09-23 22:07:44 +00:00
namespace-alias.cpp When a namespace alias redeclares a using declaration, point the diagnostic at 2015-12-29 23:42:34 +00:00
namespace.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
neon-vector-types.cpp Add error checking to reject neon_vector_type attribute on targets without NEON. 2013-09-16 18:07:35 +00:00
nested-name-spec-locations.cpp
nested-name-spec.cpp Handle unscoped enumeration in nested name specifier. 2015-01-18 20:04:35 +00:00
new-array-size-conv.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
new-delete-0x.cpp Sema: Do not allow lambda expressions to appear inside of constant expressions 2013-10-25 09:12:52 +00:00
new-delete-cxx0x.cpp PR11410: Extend diagnostic to cover all cases of aggregate initialization, not 2014-06-03 07:28:54 +00:00
new-delete-predefined-decl-2.cpp
new-delete-predefined-decl.cpp
new-delete.cpp Warn when a reference is bound to an empty l-value (dereferenced null pointer). 2016-05-14 17:44:14 +00:00
new-null.cpp Issue a warning if a throwing operator new or operator new[] returns a null 2014-01-17 02:09:33 +00:00
no-exceptions.cpp
no-implicit-builtin-decls.cpp
no-rtti.cpp Allow dynamic_cast to void* even with -fno-rtti. 2013-09-24 23:21:41 +00:00
no-warn-composite-pointer-type.cpp
no-warn-unused-const-variables.cpp Split -Wunused-variable warning. 2013-09-11 10:37:35 +00:00
no-wchar.cpp [MSVC] Fix check for wchar_t type in case of -fno-wchar 2016-04-14 09:52:06 +00:00
non-empty-class-size-zero.cpp
nonnull.cpp Fix representation of __attribute__((nonnull)) to support correctly modeling 2014-08-27 04:59:42 +00:00
ns_returns_retained_block_return.cpp More tests for // rdar://17259812 2014-06-12 16:55:43 +00:00
null_in_arithmetic_ops.cpp PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00
nullability-declspec.cpp Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
nullability.cpp [Sema] Compute the nullability of a conditional expression based on the 2016-07-20 01:48:11 +00:00
nullptr-98.cpp
nullptr.cpp Improvements to -Wnull-conversion 2014-10-15 03:42:06 +00:00
nullptr_in_arithmetic_ops.cpp PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00
offsetof-0x.cpp
offsetof.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
old-style-cast.cpp Add a triple to fix this test on Windows 2013-11-27 04:59:03 +00:00
openmp_default_simd_align.cpp [OPENMP] Introduced type trait "__builtin_omp_required_simd_align" for default simd alignment. 2015-07-02 03:40:19 +00:00
operator-arrow-depth.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
operator-arrow-temporary.cpp
out-of-line-def-mismatch.cpp
overload-0x.cpp Fix string-literal to char* conversion in overload resolution for C++11 2014-01-17 21:08:52 +00:00
overload-call-copycon.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
overload-call.cpp PR5941 - improve diagnostic for * vs & confusion when choosing overload candidate with a parameter of incomplete (ref or pointer) type 2016-03-04 22:29:11 +00:00
overload-decl.cpp If a function decl cannot be merged, mark it as invalid. 2015-01-17 02:33:17 +00:00
overload-member-call.cpp
overload-value-dep-arg.cpp
overloaded-builtin-operators-0x.cpp
overloaded-builtin-operators.cpp Enable support for __float128 in Clang and enable it on pertinent platforms 2016-05-09 08:52:33 +00:00
overloaded-name.cpp
overloaded-operator-decl.cpp
overloaded-operator.cpp Don't perform ADL when looking up operator=; there is no non-member form of 2014-09-23 20:31:39 +00:00
override-in-system-header.cpp Further restrict issuance of 'override' warning if method 2014-11-03 19:46:18 +00:00
parentheses.cpp PR16727: don't try to evaluate a potentially value-dependent expression when 2013-08-19 22:06:05 +00:00
pascal-strings.cpp Handle parens properly when initializing a char array from a string literal. 2013-05-05 16:40:13 +00:00
pass-object-size.cpp [Sema] Teach overload resolution about unaddressable functions. 2016-01-07 02:26:57 +00:00
pr9812.cpp Fix for PR9812: warn about bool instead of _Bool. 2014-01-15 09:15:43 +00:00
pr13353.cpp
pr13394-crash-on-invalid.cpp Don't mark record decls invalid when one of its methods is invalid, PR18284. 2013-12-21 00:49:51 +00:00
pr18284-crash-on-invalid.cpp Don't mark record decls invalid when one of its methods is invalid, PR18284. 2013-12-21 00:49:51 +00:00
pr25181-crash-on-invalid.cpp [Sema] PR25181 Fix crash when method declaration with throw spec fails to parse correctly 2016-02-19 01:15:08 +00:00
pr27047-default-init-expr-name-conflict.cpp Fix crash in BuildCXXDefaultInitExpr. 2016-04-29 18:06:53 +00:00
pr28050.cpp Deprecated (legacy) string literal conversion to 'char *' causes strange overloading resolution 2016-07-19 11:29:16 +00:00
pragma-init_seg.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
pragma-optimize.cpp Fix Clang tests that used CHECK-NEXT-NOT and CHECK-DAG-NOT. 2016-02-26 19:34:01 +00:00
pragma-pack.cpp
pragma-unused.cpp
pragma-visibility.cpp
pragma-vtordisp.cpp Recommit "[MS] Improved implementation of stack pragmas (vtordisp, *_seg)" 2016-04-29 11:27:00 +00:00
pragma-weak.cpp [Sema] Fix assertion hit with #pragma weak. 2014-03-09 05:15:28 +00:00
predefined-expr.cpp Fix compatibility issues in tests for PredefinedExpr with MSVC. 2014-10-09 11:58:26 +00:00
prefetch-enum.cpp
primary-base.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
printf-block.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
printf-cstr.cpp
pseudo-destructors.cpp Unify warnings/errors from "maybe you meant" to "did you mean". 2015-04-02 22:10:06 +00:00
ptrtomember-overload-resolution.cpp
ptrtomember.cpp
qual-id-test.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
qualification-conversion.cpp
qualified-id-lookup.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
qualified-member-enum.cpp
qualified-names-diag.cpp
redeclared-alias-template.cpp
redeclared-auto.cpp
redefine_extname.cpp Disable #pragma redefine_extname for C++ code as it does not make sense in such a context. 2015-07-16 17:06:53 +00:00
ref-init-ambiguous.cpp
references.cpp Fix typo from r237482. "to reference of type" --> "to reference to type" 2015-05-16 01:39:39 +00:00
reinterpret-cast.cpp PR20073: promote "dereference of 'void*'" from Extension to ExtWarn. 2015-05-19 01:41:12 +00:00
reinterpret-fn-obj-pedantic.cpp
return-noreturn.cpp Pretty print support for template arg enum constants 2014-12-13 04:31:07 +00:00
return-stack-addr-2.cpp Fix typos from r277797 and unused variable from r277889. 2016-08-06 01:44:06 +00:00
return-stack-addr.cpp Don't produce a 'returning reference to local' warning if a lambda returns a 2014-01-30 22:05:38 +00:00
return.cpp Fix typo-correction crash if a typo occurs within the operand of a 2016-06-30 20:24:30 +00:00
runtimediag-ppe.cpp Adding a -Wunused-value warning for expressions with side effects used in an unevaluated expression context, such as sizeof(), or decltype(). Also adds a similar warning when the expression passed to typeid() *is* evaluated, since it is equally likely that the user would expect the expression operand to be unevaluated in that case. 2014-12-17 21:57:17 +00:00
rval-references-examples.cpp Implemented delayed processing of 'unavailable' checking, just like with 'deprecated'. 2013-12-18 23:30:06 +00:00
rval-references.cpp [Sema] Implement C++14's DR1579: Prefer returning by converting move constructor 2016-06-30 23:09:13 +00:00
scope-check.cpp Fix Sema tests using __try by adding triple 2015-04-28 22:58:25 +00:00
self-comparison.cpp Add self-comparison warnings for fields. 2013-09-06 03:13:09 +00:00
shift.cpp
short-enums.cpp
short-wchar-sign.cpp
sourceranges.cpp clang/test/SemaCXX/sourceranges.cpp: Fix silly expressions. Sorry for the breakage. 2015-09-04 11:49:36 +00:00
statements.cpp AST: Remove overzealous assertion from IsModifiable 2015-01-04 00:44:32 +00:00
static-array-member.cpp
static-assert.cpp Move a test from static-assert.cpp to DeclPrinterTest 2015-06-05 22:40:53 +00:00
static-cast-complete-type.cpp
static-cast.cpp Warn when a reference is bound to an empty l-value (dereferenced null pointer). 2016-05-14 17:44:14 +00:00
static-data-member.cpp Fix pr16354. 2013-06-19 13:41:54 +00:00
static-initializers.cpp
storage-class.cpp Added warning on structures/unions that are empty or contain only 2013-11-14 02:13:03 +00:00
string-init.cpp Better diagnostics for string initialization. 2013-05-15 11:03:04 +00:00
string-plus-char.cpp Add -Wstring-plus-char, which warns when adding char literals to C strings. 2013-10-25 16:52:00 +00:00
string-plus-int.cpp Sema: Don't diagnose string + int if the int is value dependent 2014-12-15 10:00:35 +00:00
struct-class-redecl.cpp DR1909: Diagnose all invalid cases of a class member sharing its name with the class. 2015-07-06 01:45:27 +00:00
switch-0x.cpp
switch-implicit-fallthrough-blocks.cpp Added a test to ensure -Wimplicit-fallthrough works with -fblocks correctly. 2014-06-25 08:09:35 +00:00
switch-implicit-fallthrough-cxx98.cpp
switch-implicit-fallthrough-macro.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
switch-implicit-fallthrough-off-by-default.cpp Add test for r263138. 2016-03-10 19:22:21 +00:00
switch-implicit-fallthrough-per-method.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
switch-implicit-fallthrough.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
switch.cpp Refactor places which perform contextual implicit conversions to go through a 2013-05-21 19:05:48 +00:00
tag-ambig.cpp
template-implicit-vars.cpp Extend AST dump to include 'used' and 'referenced' flags, and put 'invalid' flag in the right place. 2014-06-13 02:24:47 +00:00
templated-friend-decl.cpp
this.cpp
thread-safety-reference-handling.cpp Take the non-reference type when constructing a dummy expression. 2015-03-16 21:49:43 +00:00
trailing-return-0x.cpp C++1y is now C++14! 2014-08-19 15:55:55 +00:00
trivial-constructor.cpp
trivial-destructor.cpp
type-convert-construct.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
type-definition-in-specifier.cpp Fix treatment of types defined in function prototype 2014-06-25 17:09:41 +00:00
type-dependent-exprs.cpp
type-formatting.cpp
type-traits-incomplete.cpp
type-traits.cpp Clang support for __is_assignable intrinsic 2016-05-23 17:21:55 +00:00
type_pack_element.cpp [Feature] Add a builtin for indexing into parameter packs. Patch by Louis Dionne. 2016-07-01 01:24:09 +00:00
typedef-redecl.cpp
typeid-ref.cpp type_info objects are not unnamed_addr: the ABI requires us to 2014-02-08 03:26:05 +00:00
typeid.cpp Sema: Don't permit variably modified types in typeid 2014-11-21 21:09:12 +00:00
types_compatible_p.cpp Continue parsing an expression list even after an error is encountered. 2014-07-14 22:48:10 +00:00
typo-correction-blocks.c Sema: correct typo recovery with blocks 2015-10-31 00:39:15 +00:00
typo-correction-crash.cpp Fix typo-correction crash if a typo occurs within the operand of a 2016-06-30 20:24:30 +00:00
typo-correction-cxx11.cpp Fix a typo correction crash when resolving ambiguous corrections. 2015-06-25 23:47:39 +00:00
typo-correction-delayed.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
typo-correction.cpp Correct typos after acting on invalid subscript expressions 2016-02-19 07:15:33 +00:00
unaddressable-functions.cpp [Sema] Teach CheckPlaceholderExpr about unaddressable functions. 2016-06-08 00:34:22 +00:00
unary-real-imag.cpp
undefined-inline.cpp Don't warn on "use" of undefined inline function that isn't actually an ODR 2016-03-25 22:29:27 +00:00
undefined-internal.cpp Warn if function or variable cannot be implicitly instantiated 2016-04-19 06:19:52 +00:00
underlying_type.cpp Canonicalize UnaryTransformType types when they don't have a known underlying type. 2016-03-30 22:18:29 +00:00
uninit-variables-conditional.cpp
uninit-variables.cpp PR19996: don't crash if -Wuninitialized sees a c++1y lambda init-capture. 2014-06-11 00:31:00 +00:00
uninitialized.cpp PR23334: Perform semantic checking of lambda capture initialization in the right context. 2015-04-27 21:27:54 +00:00
unknown-anytype-blocks.cpp
unknown-anytype.cpp [Sema debugger support] Require non-void types to be complete in unknown-anytype casts. 2016-02-03 19:13:08 +00:00
unknown-type-name.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
unreachable-catch-clauses.cpp Generate a diagnostic when a catch handler cannot execute due to class hierarchy inversion with regards to other catch handlers for the same block. 2015-04-08 00:05:29 +00:00
unreachable-code.cpp [-Wunreachable-code] add a specialized diagnostic for unreachable increment expressions of loops. 2014-03-21 06:02:36 +00:00
unused-functions.cpp
unused-with-error.cpp
unused.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
user-defined-conversions.cpp
using-decl-1.cpp When typo-correcting a using-declaration, actually correct the name of the 2016-05-14 01:58:49 +00:00
using-decl-pr4441.cpp
using-decl-pr4450.cpp
using-decl-templates.cpp Fix a crash on invalid with template handling 2016-04-05 21:13:54 +00:00
using-directive.cpp
value-dependent-exprs.cpp
value-initialization.cpp
vararg-class.cpp Add a -Wclass-varargs to warn on objects of any class type being passed through an ellipsis. Since C++11 relaxed the rules on this, we allow a lot more bad code through silently, such as: 2014-02-28 01:36:39 +00:00
vararg-default-arg.cpp
vararg-non-pod.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
varargs.cpp Improve diagnostic checking for va_start to also warn on other instances of undefined behavior, such as a parameter declared with the register keyword in C, or a parameter of a type that undergoes default argument promotion. 2016-04-24 13:30:21 +00:00
vartemplate-lambda.cpp [Parser] Clear the TemplateParamScope bit of the current scope's flag 2016-04-29 02:24:14 +00:00
vector-casts.cpp [Sema] Be consistent about diagnostic wording: always use "cannot". 2015-08-15 15:23:14 +00:00
vector-no-lax.cpp [Sema] Be consistent about diagnostic wording: always use "cannot". 2015-08-15 15:23:14 +00:00
vector.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
virtual-base-used.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
virtual-function-in-union.cpp [Sema] Unions cannot have virtual functions. 2015-06-27 19:18:55 +00:00
virtual-member-functions-key-function.cpp Fix some confusing diagnostic wording. s/implicit default/implicit/ if we're 2013-06-13 03:34:55 +00:00
virtual-override-x64.cpp
virtual-override-x86.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
virtual-override.cpp Mark DR1250 as implemented 2016-02-01 01:33:17 +00:00
virtuals.cpp Rework parsing of pure-specifiers. Perform the grammar matching and 2015-06-30 01:28:56 +00:00
visibility.cpp
vla-consruct.cpp Implementation of VlA of GNU C++ extension, by Vladimir Yakovlev. 2016-04-29 09:39:50 +00:00
vla.cpp [Sema] Diagnose references to unbound arrays in function definitions 2015-04-09 19:53:25 +00:00
vtable-instantiation.cpp Rename test.cc files to test.cpp. 2014-12-22 18:13:07 +00:00
vtordisp-mode.cpp MS ABI: Implement #pragma vtordisp() and clang-cl /vdN 2014-02-12 23:50:26 +00:00
warn-absolute-value-header.cpp Consolidate header inclusion diagnostics 2014-07-11 20:53:51 +00:00
warn-absolute-value.cpp Make -Wabsolute-value C++-aware. 2014-04-15 23:47:53 +00:00
warn-address.cpp Add existing warnings to -Waddress so that it works closer to what GCC has. 2014-03-26 01:55:33 +00:00
warn-assignment-condition.cpp
warn-bad-memaccess.cpp Fix -Wdynamic-class-memaccess to skip invalid classes. 2016-03-31 04:18:07 +00:00
warn-bool-conversion.cpp Extend tautological pointer compare and pointer to bool conversion warnings to 2014-08-08 22:41:43 +00:00
warn-c++11-extensions.cpp Warn that scoped enumerations are a C++11 extenstion when compiling in 2013-04-23 02:47:36 +00:00
warn-cast-align.cpp
warn-char-subscripts.cpp
warn-comma-operator.cpp Add -Wcomma warning to Clang. 2016-02-18 23:58:40 +00:00
warn-consumed-analysis.cpp Fix for PR20402 in -Wconsumed. 2015-04-15 22:32:44 +00:00
warn-consumed-parsing.cpp Attributes accepting an EnumArgument are allowed to pass a string literal, or an identifier. VariadicEnumArguments now behave consistently instead of only accepting a string literal. 2014-12-19 16:42:04 +00:00
warn-dangling-field.cpp Move detection of reference members binding to temporaries from building of 2013-06-12 21:51:50 +00:00
warn-deprecated-header.cpp
warn-div-or-rem-by-zero.cpp Fix the warning for divide by zero to be a bit more robust. ;] 2013-06-14 08:57:18 +00:00
warn-empty-body.cpp -Wempty-body: fix false negative triggered by macros 2015-03-15 01:08:23 +00:00
warn-enum-compare.cpp
warn-everthing.cpp
warn-exit-time-destructors.cpp Don't emit exit-time destructor warnings for trivial explicitly defaulted dtors 2014-03-27 20:23:36 +00:00
warn-float-conversion.cpp Revert the bool portion of r267054 2016-04-22 22:14:32 +00:00
warn-func-not-needed.cpp Consider hidden decls for isUsed checks. 2013-10-22 21:56:29 +00:00
warn-global-constructors.cpp Add a missing Invalid check to SubobjectDesignator::isOnePastEnd() 2014-07-23 23:24:25 +00:00
warn-implicit-conversion-floating-point-to-bool.cpp
warn-infinite-recursion.cpp Ignore qualified templated functions for -Winfinite-recursion. This treats 2014-01-04 01:57:42 +00:00
warn-large-by-value-copy.cpp
warn-literal-conversion.cpp Revert the bool portion of r267054 2016-04-22 22:14:32 +00:00
warn-logical-not-compare.cpp Make a test less brittle. 2015-08-17 22:18:30 +00:00
warn-loop-analysis.cpp Add a test case for the regression in -Wfor-loop-analysis caused by r273548. 2016-06-23 18:11:19 +00:00
warn-member-not-needed.cpp Add missing test for -Wunneeded-member-functions. 2013-06-19 22:01:25 +00:00
warn-memset-bad-sizeof.cpp Reapply [Sema] Add sizeof diagnostics for bzero 2016-08-10 18:34:47 +00:00
warn-memsize-comparison.cpp Warn on mismatched parentheses in memcmp and friends. 2013-12-26 23:38:39 +00:00
warn-missing-noreturn.cpp
warn-missing-prototypes.cpp Sema: Don't emit a missing prototype warning for deleted functions. 2015-03-12 14:28:47 +00:00
warn-missing-variable-declarations.cpp Fix -Wmissing-variable-declarations regression. 2013-09-24 23:10:08 +00:00
warn-new-overaligned-2.cpp
warn-new-overaligned-3.cpp
warn-new-overaligned.cpp Issue a warning if a throwing operator new or operator new[] returns a null 2014-01-17 02:09:33 +00:00
warn-overloaded-virtual.cpp Updating a comment related to the implementation of -Woverloaded-virtual, and adding a FIXME to a test case. (Drive-by removal of trailing whitespace in the test case as well.) 2014-07-30 23:50:53 +00:00
warn-pessmizing-move.cpp Fix -Wredundant-move warning. 2015-07-29 23:47:19 +00:00
warn-pure-virtual-call-from-ctor-dtor.cpp [Sema] Don't emit "pure virtual" warning for fully qualified calls. 2015-07-14 23:36:10 +00:00
warn-pure-virtual-kext.cpp [Sema] Don't emit "pure virtual" warning for fully qualified calls. 2015-07-14 23:36:10 +00:00
warn-range-loop-analysis.cpp fix typo "varaible" 2016-08-24 16:37:21 +00:00
warn-redundant-move.cpp Fix -Wredundant-move warning. 2015-07-29 23:47:19 +00:00
warn-reinterpret-base-class.cpp PR6037 2015-01-19 01:44:02 +00:00
warn-reorder-ctor-initialization.cpp
warn-self-assign.cpp PR12214 - Warn on suspicious self-compound-assignments. 2014-05-30 00:15:04 +00:00
warn-self-comparisons.cpp
warn-self-move.cpp Extend the self move warning to record types. 2015-01-13 02:32:02 +00:00
warn-shadow.cpp Avoid -Wshadow warnings about constructor parameters named after fields 2016-04-29 00:37:43 +00:00
warn-sign-conversion.cpp Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
warn-static-const-float.cpp
warn-static-function-inheader.cpp
warn-static-function-inheader.h
warn-string-conversion.cpp Broaden -Wstring-conversion to catch string literals in logical or expressions. 2014-01-25 01:10:35 +00:00
warn-sysheader-macro.cpp Suppress -Wshadow / -Wold-style-cast expanded from system header macros 2013-12-12 12:47:48 +00:00
warn-tautological-compare.cpp Extend tautological pointer compare and pointer to bool conversion warnings to 2014-08-08 22:41:43 +00:00
warn-tautological-undefined-compare.cpp Extend tautological pointer compare and pointer to bool conversion warnings to 2014-08-08 22:41:43 +00:00
warn-thread-safety-analysis.cpp [CFG] Fix crash finding destructor of lifetime-extended temporary. 2016-08-02 21:07:23 +00:00
warn-thread-safety-negative.cpp When cloning LocalInstantiationScope's, don't update the current scope in Sema. 2015-03-18 21:52:47 +00:00
warn-thread-safety-parsing.cpp None of these attributes require FunctionTemplate to be explicitly listed as part of their subject definition. FunctionTemplateDecls are not what the attribute appertains to in the first place -- it attaches to the underlying FunctionDecl. 2014-05-20 14:10:53 +00:00
warn-thread-safety-verbose.cpp Thread safety analysis: add -Wthread-safety-verbose flag, which adds additional notes that are helpful when compiling statistics on thread safety warnings. 2014-08-14 21:40:15 +00:00
warn-undefined-bool-conversion.cpp Extend tautological pointer compare and pointer to bool conversion warnings to 2014-08-08 22:41:43 +00:00
warn-unreachable.cpp -Wunreachable-code: refine recognition of unreachable "sigil" to cope with implicit casts in C++. 2014-04-16 07:26:09 +00:00
warn-unsequenced.cpp Fix false positive in -Wunsequenced and templates. 2016-08-05 21:02:34 +00:00
warn-unused-attribute.cpp Enabling the subject list for the warn_unused attribute, and adding a test case. Previously, would issue a "warning ignored" diagnostic instead of the more specific "only applies to." 2013-11-27 16:59:17 +00:00
warn-unused-comparison.cpp No longer emit diagnostics about unused results (comparisons, etc) from unevaluated contexts. Fixes PR18571. 2014-10-16 20:13:28 +00:00
warn-unused-filescoped.cpp Add -Wunused-local-typedef, a warning that finds unused local typedefs. 2014-09-06 01:25:55 +00:00
warn-unused-label-error.cpp PR19305: Don't issue -Wunused-variable warnings on variable templates. It's not 2014-04-02 18:28:36 +00:00
warn-unused-local-typedef-serialize.cpp [Hexagon] Use integrated assembler by default 2015-12-09 16:34:24 +00:00
warn-unused-local-typedef-x86asm.cpp Move x86-specific bits of warn-unused-local-typedef.cpp into their own file. 2014-09-06 18:16:37 +00:00
warn-unused-local-typedef.cpp Mark TypeDecls used in explicit destructor calls as referenced. 2014-11-12 04:33:52 +00:00
warn-unused-parameters.cpp
warn-unused-private-field-delayed-template.cpp clang-cl: Don't warn for unused private fields when encountering a late parsed template member 2014-10-11 00:24:15 +00:00
warn-unused-private-field.cpp Fix spurious warnings about unused private field 2016-05-09 07:09:51 +00:00
warn-unused-result.cpp Properly implement warn_unused_result checking for classes/structs. 2015-04-09 19:43:04 +00:00
warn-unused-value-cxx11.cpp Adding a -Wunused-value warning for expressions with side effects used in an unevaluated expression context, such as sizeof(), or decltype(). Also adds a similar warning when the expression passed to typeid() *is* evaluated, since it is equally likely that the user would expect the expression operand to be unevaluated in that case. 2014-12-17 21:57:17 +00:00
warn-unused-value.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
warn-unused-variables-error.cpp Suppress -Wunused-variable for variables declared in headers, which may in 2013-04-10 00:47:10 +00:00
warn-unused-variables.cpp PR19558: don't produce an "unused variable" warning for a variable template partial specialization. 2014-04-25 19:21:40 +00:00
warn-using-namespace-in-header.cpp Split isFromMainFile into two functions. 2013-08-22 00:27:10 +00:00
warn-variable-not-needed.cpp
warn-vla.cpp
warn-weak-vtables.cpp Don't let virtual calls and dynamic casts call Sema::MarkVTableUsed(). 2015-01-26 06:23:36 +00:00
wchar_t.cpp
windows-arm-valist.cpp test: move test from CodeGen to Sema 2014-06-30 02:14:37 +00:00
writable-strings-deprecated.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
zero-length-arrays.cpp