llvm-project/clang/test/Sema
Mikhail Maltsev 89f7b46b7a [Targets] Implement getConstraintRegister for ARM and AArch64
Summary:
The getConstraintRegister method is used by semantic checking of
inline assembly statements in order to diagnose conflicts between
clobber list and input/output lists. Currently ARM and AArch64 don't
override getConstraintRegister, so conflicts between registers
assigned to variables in asm labels and clobber lists are not
diagnosed. Such conflicts can cause assertion failures in the back end
and even miscompilations.

This patch implements getConstraintRegister for ARM and AArch64
targets. Since these targets don't have single-register constraints,
the implementation is trivial and just returns the register specified
in an asm label (if any).

Reviewers: eli.friedman, javed.absar, thopre

Reviewed By: thopre

Subscribers: rengolin, eraman, rogfer01, myatsina, kristof.beyls, cfe-commits, chrib

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

llvm-svn: 331164
2018-04-30 09:11:08 +00:00
..
Inputs PR36307: Consume the #pragma options align annotation token after 2018-02-08 21:20:43 +00:00
128bitfloat.cpp Enable __float128 for mingw for GCC compatibility and define __SIZEOF_FLOAT128__ on x86 2017-05-26 17:38:15 +00:00
128bitint.c [MS Extensions] Remove support for the i128 integer literal suffix 2015-07-26 09:02:26 +00:00
2007-10-01-BuildArrayRef.c
2009-03-09-WeakDeclarations-1.c
2009-04-22-UnknownSize.c
2009-07-17-VoidParameter.c
2010-05-31-palignr.c Bringt back -triple so the test passes on non-x86. 2017-06-09 19:47:36 +00:00
MicrosoftCompatibility-x64.c
MicrosoftCompatibility-x86.c
MicrosoftCompatibility.c [Sema] The alignment of an object has an upper bound from the object file format 2015-07-26 01:48:59 +00:00
MicrosoftCompatibility.cpp
MicrosoftExtensions.c [ms] Add support for parsing uuid as a Microsoft attribute. 2016-09-03 03:25:22 +00:00
PR2727.c
PR2728.c
PR2919-builtin-types-compat-strips-crv.c
PR2923.c
PR2963-enum-constant.c
PR16678.c Consider unsigned long for non-u/U decimal literals (C90/C++03) 2015-06-08 21:59:59 +00:00
PR28181.c [Sema] Fix PR28181 by avoiding calling BuildOverloadedBinOp in C mode 2017-01-19 17:17:57 +00:00
__try.c
aarch64-neon-ranges.c
aarch64-neon-vector-types.c
aarch64-special-register.c [ARM] Fix sema check of ARM special register names 2016-11-18 21:00:08 +00:00
address-constant.c
address-packed-member-memops.c Add missing tests 2016-08-17 06:52:15 +00:00
address-packed.c Fix crash parsing invalid code 2017-07-07 09:38:59 +00:00
address-unaligned.c When diagnosing taking address of packed members skip __unaligned-qualified expressions 2017-03-13 13:18:21 +00:00
address_spaces.c [OpenCL] Map default address space to alloca address space 2017-04-11 17:24:23 +00:00
alias-redefinition.c Process attributes 'ifunc' and 'alias' when checking for redefinition 2017-02-18 06:04:15 +00:00
align-arm-apcs.c
align-systemz.c
align-x86-64.c
align-x86.c
align_value.c
alignas.c
alloc-align-attr.c Add #pragma clang attribute support to the external_source_symbol attribute 2017-04-19 15:52:11 +00:00
alloc-size.c When diagnosing the arguments to alloc_size, report the failing argument using a 1-based index instead of a 0-based index for consistency. 2018-02-25 20:40:06 +00:00
altivec-init.c Remove the -faltivec alias option and replace it with -maltivec everywhere. 2017-03-21 22:06:18 +00:00
annotate.c Introduce some infrastructure for adding C attributes with [[]] syntax. 2018-01-03 22:22:48 +00:00
anonymous-struct-union-c11.c
anonymous-struct-union.c
arg-duplicate.c
arg-scope-c99.c
arg-scope.c
arm-asm.c [Targets] Implement getConstraintRegister for ARM and AArch64 2018-04-30 09:11:08 +00:00
arm-darwin-aapcs.cpp
arm-interrupt-attr.c [ARM] Limit the diagnose when an ISR calls a regular function 2017-05-05 19:25:29 +00:00
arm-layout.c
arm-microsoft-intrinsics.c Improve error handling for PR22560. 2015-06-23 21:10:24 +00:00
arm-neon-types.c
arm-no-fp16.c [ARM] Guard the declarations of f16 to f32 vcvt intrinsics in arm_neon.h by testing __ARM_FP 2016-04-29 15:03:32 +00:00
arm-special-register.c [ARM] Fix sema check of ARM special register names 2016-11-18 21:00:08 +00:00
arm64-inline-asm.c [Targets] Implement getConstraintRegister for ARM and AArch64 2018-04-30 09:11:08 +00:00
arm64-neon-args.c
arm64-neon-header.c AArch64: fix return type of vqmovun_high_*. 2016-07-12 17:38:50 +00:00
arm_acle.c
arm_vfma.c PR27216: Only define __ARM_FEATURE_FMA when the target has VFPv4 2016-04-28 11:29:08 +00:00
array-bounds-ptr-arith.c
array-constraint.c
array-declared-as-incorrect-type.c [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
array-init.c
array-size-64.c
array-size.c
artificial.c Implement function attribute artificial 2018-02-14 00:14:07 +00:00
asm-label.c Error on redeclaring with a conflicting asm label and on redeclaring with an asm label after the first ODR-use. Detects problems like the one in PR22830 where gcc and clang both compiled the file but with different behaviour. 2015-12-11 21:28:55 +00:00
asm.c [inline asm][gcc-compatiblity] "=i" output constraint support 2017-06-26 15:55:51 +00:00
assign-null.c
assign.c Fif for an issue when Clang permits assignment to vector/extvector elements in a const method. 2018-02-09 09:30:42 +00:00
ast-print-x86.c Move target-specific Sema test to its own file. 2015-06-09 14:30:17 +00:00
ast-print.c [Attr] Print enum attributes at correct position 2018-04-24 14:50:23 +00:00
atomic-compare.c Fix -Wlogical-not-parentheses to work better with C code. 2015-08-19 21:33:54 +00:00
atomic-expr.c
atomic-ops.c Add __CLANG_ATOMIC_<TYPE>_LOCK_FREE macros for use in MSVC compatibility mode. 2017-04-20 22:53:57 +00:00
atomic-requires-library-error.c
atomic-type.c
attr-alias-elf.c [GCC] Attribute ifunc support in clang 2016-04-11 07:48:59 +00:00
attr-alias.c Clarify the error message for unsupported aliases on Darwin 2017-11-07 00:31:19 +00:00
attr-aligned.c [Sema] PR26444 fix crash when alignment value is >= 2**16 2016-03-02 06:48:47 +00:00
attr-args.c
attr-availability-android.c
attr-availability-app-extensions.c Allow pretty platform names in availability attributes 2017-08-15 14:42:01 +00:00
attr-availability-ios.c Allow pretty platform names in availability attributes 2017-08-15 14:42:01 +00:00
attr-availability-macosx.c Allow pretty platform names in availability attributes 2017-08-15 14:42:01 +00:00
attr-availability-square-brackets.c Add a C++11 and C2x spelling for the availability attribute in the clang vendor namespace. 2018-02-24 17:16:42 +00:00
attr-availability-tvos.c Fix typos in clang 2018-04-06 15:14:32 +00:00
attr-availability-watchos.c Fix typos in clang 2018-04-06 15:14:32 +00:00
attr-availability.c [Sema] Don't allow -Wunguarded-availability to be silenced with redecls 2017-07-05 17:08:56 +00:00
attr-bounded.c
attr-capabilities.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-capabilities.cpp [ThreadSafetyAnalysis] Fix isCapabilityExpr 2017-12-14 22:24:45 +00:00
attr-cleanup.c Disallow a cleanup attribute from appertaining to a parameter (the attribute only appertains to local variables and is silently a noop on parameters). This repurposes the unused (and syntactically incorrect) NormalVar attribute subject. 2017-12-01 16:53:49 +00:00
attr-coldhot.c Implement __attribute__((internal_linkage)). 2015-11-10 21:28:44 +00:00
attr-cx2.c Add several more attributes to be parsed in C with [[]] when -fdouble-square-bracket-attributes is specified. 2018-02-19 17:32:07 +00:00
attr-decl-after-definition.c
attr-declspec-ignored.c
attr-deprecated-c2x.c Add -f[no-]double-square-bracket-attributes as new driver options to control use of [[]] attributes in all language modes. This is the initial implementation of WG14 N2165, which is a proposal to add [[]] attributes to C2x, but also allows you to enable these attributes in C++98, or disable them in C++11 or later. 2017-10-15 15:01:42 +00:00
attr-deprecated-message.c
attr-deprecated.c [Sema] Don't allow -Wunguarded-availability to be silenced with redecls 2017-07-05 17:08:56 +00:00
attr-disable-tail-calls.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-endian.c
attr-external-source-symbol.c Add a C2x spelling for the external_source_symbol and internal_linkage attributes in the clang vendor namespace. 2018-02-25 14:43:45 +00:00
attr-flag-enum.c Update tests touched by r249656 2015-10-08 06:31:22 +00:00
attr-format.c
attr-format_arg.c
attr-ifunc.c Add support for ObjectFormat to TargetSpecificAttr 2017-12-20 18:51:08 +00:00
attr-long-call.c [mips] Enable `long_call/short_call` attributes on MIPS64 2017-08-08 21:17:33 +00:00
attr-malloc.c Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
attr-micromips.c [mips] Add one more check to the micromips attribute test case. NFC 2017-05-22 15:53:34 +00:00
attr-minsize.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-mode-enums.c Fix for PR8901: attribute "mode" rejected for enums and dependent types. 2016-02-02 13:50:39 +00:00
attr-mode-vector-types.c PR10235: support for vector mode attributes + warning, by Dmitry Polukhin. 2015-11-19 10:13:11 +00:00
attr-mode.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-msp430.c
attr-naked.c Allow register variables in naked functions. 2016-09-13 07:02:02 +00:00
attr-naked.cpp
attr-nocf_check.c Adding nocf_check attribute for cf-protection fine tuning 2018-03-17 13:31:35 +00:00
attr-nocf_check.cpp Adding nocf_check attribute for cf-protection fine tuning 2018-03-17 13:31:35 +00:00
attr-nodebug.c Remove duplicate, nonsense information from an attribute diagnostic. The NonParmVar subject does not need to mention functions, and the resulting diagnostic definitely does not need to mention functions twice. 2017-12-01 15:54:29 +00:00
attr-noduplicate.c
attr-noinline.c
attr-nonnull.c
attr-noreturn.c
attr-notail.c Implement __attribute__((internal_linkage)). 2015-11-10 21:28:44 +00:00
attr-objc-bridge-related.m Add a C++11 and C2x spelling for the objc_bridge_related attribute in the clang vendor namespace. 2018-02-24 17:37:37 +00:00
attr-ownership.c [Attr] Use -fsyntax-only in test 2018-03-02 19:03:27 +00:00
attr-ownership.cpp Reland "[Attr] Fix parameter indexing for several attributes" 2018-03-13 14:51:22 +00:00
attr-print.c Improve the way attribute argument printing happens for omitted optional arguments when pretty printing. 2018-02-27 23:49:28 +00:00
attr-regparm.c
attr-returns-twice.c
attr-section.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-selectany.c Enable __declspec(selectany) on any platform 2017-09-14 17:33:08 +00:00
attr-self-alias.c Don't crash on a self-alias declaration 2015-09-04 21:49:21 +00:00
attr-sentinel.c
attr-swiftcall.c Declare WinX86_64ABIInfo to satisfy SwiftABI info 2016-10-12 18:59:24 +00:00
attr-target-ast.c Clean up 'target' attribute diagnostics 2018-02-16 17:31:59 +00:00
attr-target-mv-bad-target.c Implement Attribute Target MultiVersioning 2018-01-08 21:34:17 +00:00
attr-target-mv.c Implement Attribute Target MultiVersioning 2018-01-08 21:34:17 +00:00
attr-target-unsupported.c Correct multiversion unsupported target behavior, add a test. 2018-02-20 18:44:50 +00:00
attr-target.c Clean up 'target' attribute diagnostics 2018-02-16 17:31:59 +00:00
attr-tls_model.c
attr-type-safety.c Add a C++11 and C2x spelling for the type safety attribute (argument_with_type_tag, pointer_with_type_tag, and type_tag_for_datatype) in the clang vendor namespace. 2018-02-25 14:01:04 +00:00
attr-unavailable-message.c [Sema] Don't allow -Wunguarded-availability to be silenced with redecls 2017-07-05 17:08:56 +00:00
attr-unknown.c
attr-unused.c
attr-used.c Amend r326665 to print out the `used` attribute subjects in a different order. 2018-03-04 16:24:10 +00:00
attr-visibility.c
attr-weak.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
attr-x86-interrupt.c [X86] Support 'interrupt' attribute for x86 2016-01-15 04:06:31 +00:00
auto-type.c [c++1z] Diagnose attempts to use variables with deduced class template 2017-02-10 22:35:37 +00:00
avr-interrupt-attr.c [AVR] Add support for the 'interrupt' and 'naked' attributes 2017-02-08 05:09:26 +00:00
avr-signal-attr.c [AVR] Add support for the 'interrupt' and 'naked' attributes 2017-02-08 05:09:26 +00:00
big-endian-neon-initializers.c
bitfield-layout.c [PS4] Change the names of some "environmental" things to what our 2016-05-16 17:22:25 +00:00
bitfield-layout_1.c pr26544: Bitfield layout with pragma pack and attributes "packed" and 2016-02-19 11:23:28 +00:00
bitfield-promote.c
bitfield.c PR36157: When injecting an implicit function declaration in C89, find the right 2018-02-01 20:01:49 +00:00
block-args.c When a type-id is unexpectedly given a name, assume that the name is unrelated 2017-05-19 01:54:59 +00:00
block-call.c
block-explicit-noreturn-type.c
block-labels.c
block-literal.c
block-misc.c
block-printf-attribute-1.c
block-return-1.c
block-return-2.c
block-return-3.c
block-return.c
block-sentinel-attribute.c
block-storageclass.c
bool-compare.c Fix -Wlogical-not-parentheses to work better with C code. 2015-08-19 21:33:54 +00:00
builtin-alloca-with-align.c [Sema] Warn when alignof is used with __builtin_alloca_with_align 2016-10-31 18:07:57 +00:00
builtin-assume-aligned.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
builtin-assume.c
builtin-classify-type.c PR26449: Tests for builtin_classify_type fix 2016-02-15 10:44:27 +00:00
builtin-clear_cache.c
builtin-cpu-supports.c [X86] Implement __builtin_cpu_is 2017-08-10 20:28:30 +00:00
builtin-dump-struct.c Introduce a new builtin, __builtin_dump_struct, that is useful for dumping structure contents at runtime in circumstances where debuggers may not be easily available (such as in kernel work). 2018-04-10 21:58:13 +00:00
builtin-longjmp.c [Sparc] setjmp and longjmp intrinsic support update to add unit tests and remove accidentally checked-in code. 2016-06-15 16:08:13 +00:00
builtin-object-size.c Fix an assertion failure regression in isDesignatorAtObjectEnd for 2017-12-20 21:03:38 +00:00
builtin-prefetch.c
builtin-redecl.cpp Limit types of builtins that can be redeclared. 2018-04-16 21:30:08 +00:00
builtin-stackaddress.c
builtin-unary-fp.c __builtin_fpclassify missing one int parameter 2016-10-14 20:43:37 +00:00
builtin_objc_msgSend.c
builtins-aarch64.c
builtins-arm-exclusive.c
builtins-arm-strex-rettype.c
builtins-arm.c [ARM] Add tests for the vcvtr builtins 2018-02-16 16:01:08 +00:00
builtins-arm64-exclusive.c
builtins-arm64.c
builtins-decl.c
builtins-gnu-mode.c
builtins-overflow.c Add support for __builtin_{add,sub,mul}_overflow. 2015-10-29 20:48:01 +00:00
builtins-ppc.c Remove the -faltivec alias option and replace it with -maltivec everywhere. 2017-03-21 22:06:18 +00:00
builtins-x86.c [X86] Make __builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32 only available on 32-bit targets. 2018-04-26 20:14:46 +00:00
builtins-x86_64.c Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def 2016-10-12 17:28:44 +00:00
builtins.c
builtins.cl [Sema] Handle errors during rewriteBuiltinFunctionDecl 2016-07-21 23:03:43 +00:00
c2x-fallthrough.c Silencing a redefinition warning that was not germane to the test. 2017-10-18 14:48:33 +00:00
c2x-maybe_unused-errors.c Enable support for the [[maybe_unused]] attribute from WG14 N2053 when enabling double square bracket attributes in C code. 2017-10-18 16:59:27 +00:00
c2x-maybe_unused.c Enable support for the [[maybe_unused]] attribute from WG14 N2053 when enabling double square bracket attributes in C code. 2017-10-18 16:59:27 +00:00
c2x-nodiscard.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
c11-typedef-redef.c
c89.c
call-with-static-chain.c
callingconv-cast.c Extend -Wcast-calling-convention to warn on declarations as well as definitions 2017-01-31 19:37:45 +00:00
callingconv-iamcu.c [X86] Support for C calling convention only for MCU target. 2015-11-25 09:24:26 +00:00
callingconv-ms_abi.c
callingconv-sysv_abi.c
callingconv.c
captured-statements.c
cast-incomplete.c [Sema] Tweak incomplete enum types on MSVC ABI targets 2015-10-08 07:45:35 +00:00
cast-to-union.c
cast.c
check-increment.c
compare.c [PR36008] Avoid -Wsign-compare warning for enum constants in 2018-02-07 20:45:39 +00:00
complex-imag.c
complex-init-list.c
complex-int.c
complex-promotion.c
compound-literal.c A compound literal within a global lambda or block is still within 2016-10-31 21:56:26 +00:00
conditional-expr.c
conditional.c
const-eval-64.c
const-eval.c PR35214: don't crash if we see an array of unknown bound added to an empty but invalid designator. 2017-11-15 03:03:56 +00:00
const-ptr-int-ptr-cast.c
constant-builtins-2.c Add support for a limited subset of TS 18661-3 math builtins. 2018-01-06 21:49:54 +00:00
constant-builtins.c
constant-conversion.c Fix the spelling of 'bitfield' in diagnostics to be consistently 'bit-field'. 2016-12-20 02:43:58 +00:00
constructor-attribute.c
conversion-64-32.c
conversion.c More warnings when double truncation to float: compound assignment is supported now. 2018-03-15 10:03:35 +00:00
convertvector.c
crash-invalid-array.c
crash-invalid-builtin.c
cxx-as-c.c PR36157: When injecting an implicit function declaration in C89, find the right 2018-02-01 20:01:49 +00:00
darwin-align-cast.c
darwin-tls.c Fix TLS support check for Darwin 32-bit simulator targets. 2018-01-05 20:20:03 +00:00
decl-in-prototype.c Improve our handling of tag decls in function prototypes 2016-12-14 17:44:11 +00:00
decl-invalid.c
decl-microsoft-call-conv.c
decl-type-merging.c
declspec-naked.c Sema: prevent __declspec(naked) use on x64 2017-04-07 15:13:47 +00:00
declspec.c
default.c
default1.c
deref.c
designated-initializers.c PR32280: Do not crash on nested initializers. 2017-04-14 08:48:08 +00:00
diagnose_if.c [Parse] Use normalized attr name for late-parsing checks. 2017-06-30 22:33:24 +00:00
dllexport.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
dllimport.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
empty1.c
empty2.c
enable_if-ext.c Sema: provide an extension warning for enable_if 2016-02-18 06:49:31 +00:00
enable_if.c Update the tests to match the typo fix done in r292015 2017-01-14 12:00:40 +00:00
enum-attr.c Add support for attribute enum_extensibility. 2017-03-21 02:23:00 +00:00
enum-increment.c
enum-packed.c
enum-sign-conversion.c [Sema] Document+test the -Wsign-conversion change for enums in C code [NFC] 2017-11-04 20:27:47 +00:00
enum.c [fixup][Sema] Allow in C to define tags inside enumerations. 2017-09-21 17:41:30 +00:00
error-type-safety.cpp Reland "[Attr] Fix parameter indexing for several attributes" 2018-03-13 14:51:22 +00:00
expr-address-of.c Diagnose attempt to take address of bitfield members in anonymous structs. 2017-04-13 21:49:46 +00:00
expr-comma-c99.c
expr-comma.c
exprs.c Add support for GCC's '__auto_type' extension, per the GCC manual: 2015-11-11 02:02:15 +00:00
ext_vector_casts.c [Sema] Make extended vectors of `bool` an error. 2016-01-28 01:38:18 +00:00
ext_vector_comparisons.c Factor out common tautological comparison code from scalar and vector compare checking. 2018-01-07 21:57:48 +00:00
ext_vector_components.c Add .rgba syntax extension to ext_vector_type types 2016-07-22 18:49:43 +00:00
ext_vector_conversions.c Prevent implicit re-interpret casts between ExtVector and Scalar types. 2015-09-15 00:21:56 +00:00
ext_vector_ops.c Catch invalid bitwise operation on vector of floats 2017-06-08 05:25:19 +00:00
extern-redecl.c
flexible-array-init.c
float128-ld-incompatibility.cpp [Sema] Allow conversion between long double and __float128. 2018-01-17 22:56:57 +00:00
floating-point-compare.c
fn-ptr-as-fn-prototype.c Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
for.c
format-string-percentm.c
format-strings-c90.c
format-strings-darwin.c
format-strings-enum-fixed-type.cpp
format-strings-enum.c [Sema] Don't crash on scanf on forward-declared enums. 2016-08-20 16:51:33 +00:00
format-strings-fixit-ssize_t.c [clang] Fix handling of "%zd" in scanf 2017-07-20 20:11:47 +00:00
format-strings-fixit.c Move the fixit for -Wformat-security to a note. 2016-03-15 20:56:38 +00:00
format-strings-freebsd.c Check 'r' and 'y specifiers of freebsd_kernel_printf format strings on PS4 2016-04-26 23:19:00 +00:00
format-strings-gnu.c
format-strings-int-typedefs.c
format-strings-ms.c
format-strings-no-fixit.c
format-strings-non-iso.c
format-strings-scanf.c [clang] Add getUnsignedPointerDiffType method 2017-09-28 23:11:31 +00:00
format-strings-size_t.c
format-strings.c Fix printf specifier handling: invalid specifier should not be marked as "consuming data arguments" 2016-12-15 18:54:00 +00:00
fp16-sema.c
fp16vec-sema.c Promote storage-only __fp16 vector operands to float vectors. 2017-09-23 05:02:02 +00:00
fpack-struct.c
freemain.c
function-ptr.c
function-redecl.c Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
function.c
generic-selection.c Allow a C11 generic selection expression to select a function with the overloadable attribute as the result expression without crashing. This fixes PR30201. 2016-09-02 13:45:40 +00:00
gnu-attributes.c
gnu-flags.c
gnu89.c
heinous-extensions-off.c
heinous-extensions-on.c
i-c-e.c
i386-linux-android.c
illegal-types.c
implicit-builtin-decl.c
implicit-builtin-freestanding.c [Driver] Add support for -fno-builtin-foo options. 2016-01-06 14:35:46 +00:00
implicit-builtin-redecl.c
implicit-cast-dump.c
implicit-cast.c
implicit-decl-c90.c PR34822: Fix a collection of related bugs with our handling of C89 implicit function declarations. 2017-10-04 01:49:22 +00:00
implicit-decl.c PR34822: Fix a collection of related bugs with our handling of C89 implicit function declarations. 2017-10-04 01:49:22 +00:00
implicit-def.c
implicit-int.c
implicit-intel-builtin-decl.c Add some MS aliases for existing intrinsics 2016-09-14 21:19:43 +00:00
implicit-ms-builtin-decl.c Separate builtins for x84-64 and i386; implement __mulh and __umulh 2016-10-04 22:29:49 +00:00
incompatible-function-pointer-types.c [Sema] Create a separate group for incompatible function pointer warning 2016-07-18 20:37:06 +00:00
incompatible-sign.c
incomplete-call.c
incomplete-decl.c
indirect-goto.c
init-struct-qualified.c
init-vector.c
init.c
initialize-noreturn.c Fix crash on noreturn conversion in unprototyped function type. Thanks to Keith 2016-10-20 00:01:36 +00:00
inline-asm-validate-aarch64.c
inline-asm-validate-amdgpu.cl [AMDGPU] Fix codegen for inline assembly 2018-03-23 19:43:42 +00:00
inline-asm-validate-tmpl.cpp Fixed 22941: Integer template parameter as immediate 'I' expectes an integer constant 2015-07-14 18:08:50 +00:00
inline-asm-validate-x86.c [X86, inlineasm] Improve analysis of x,Y0,Yi,Ym,Yt,L,e,Z,s asm constraints (patch by Alexey Frolov) 2015-07-20 12:08:00 +00:00
inline-asm-validate.c
inline-redef.c
inline.c C does not have inline variables. 2016-07-14 22:22:58 +00:00
int-arith-convert.c
integer-overflow.c [Sema] Emit -Winteger-overflow for arguments in function calls, ObjC messages. 2018-03-27 21:29:05 +00:00
internal_linkage.c Add a C2x spelling for the external_source_symbol and internal_linkage attributes in the clang vendor namespace. 2018-02-25 14:43:45 +00:00
invalid-cast.cpp
invalid-decl.c
invalid-init-diag.c
invalid-struct-init.c
knr-def-call.c Revert r294910 and recommit r294861 and r294862 with a target triple to hopefully appease the bots. 2017-02-12 19:24:47 +00:00
knr-variadic-def.c
libbuiltins-ctype-powerpc64.c Add the Pure attribute to C99 builtin functions from ctype.h. This is a corrected version of r266199 with test case fixes. 2016-05-04 21:08:13 +00:00
libbuiltins-ctype-x86_64.c Add the Pure attribute to C99 builtin functions from ctype.h. This is a corrected version of r266199 with test case fixes. 2016-05-04 21:08:13 +00:00
lit.local.cfg
loop-control.c [Sema] Make BreakContinueFinder handle nested loops. 2017-07-04 00:52:24 +00:00
many-logical-ops.c
many-parameters.c
member-reference.c
memset-invalid-1.c
memset-invalid.c
merge-decls.c
mips-interrupt-attr.c [mips] Interrupt attribute support. 2015-11-27 18:03:44 +00:00
mips16_attr_allowed.c
mips16_attr_not_allowed.c
missing-field-initializers.c
mms-bitfields.c [PR32482] Fix bitfield layout for -mms-bitfield and pragma pack 2018-01-31 21:59:02 +00:00
mrtd.c [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
ms-annotation.c [ms] Implement the __annotation intrinsic 2017-09-05 20:27:35 +00:00
ms-inline-asm-invalid-arch.c
ms-inline-asm.c Fixups to FE tests affected by D36793 2017-08-24 08:47:26 +00:00
ms-keyword-system-header.c
ms-wchar.c
ms_abi-sysv_abi.c
ms_bitfield_layout.c Fix the layout of bitfields in ms_struct unions: their 2015-08-19 22:42:36 +00:00
ms_class_layout.cpp Fix the layout of bitfields in ms_struct unions: their 2015-08-19 22:42:36 +00:00
ms_wide_predefined_expr.cpp
negative-shift-wrapv.c Left shifts of negative values are defined if -fwrapv is set 2016-08-16 09:45:36 +00:00
neon-vector-types-support.c
neon-vector-types.c
nested-redef.c
no-documentation-warn-tagdecl-specifier.c
no-format-y2k-turnsoff-format.c
no-warn-unused-const-variables.c Sema: do not warn about unused const vars if main file is a header 2016-10-28 08:28:42 +00:00
nocf_check_attr_not_allowed.c Adding nocf_check attribute for cf-protection fine tuning 2018-03-17 13:31:35 +00:00
noescape.c Add test cases that weren't committed in r313945. 2017-09-22 01:54:36 +00:00
non-null-warning.c Skip NonNull sema checks in unevaluated contexts. 2015-10-09 00:17:57 +00:00
nonnull.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
nowarn-documentation-property.m
nullability.c Accept nullability qualifiers on array parameters. 2016-11-10 23:28:17 +00:00
offsetof-64.c
offsetof.c
outof-range-constant-compare.c [Sema] Re-land: Diagnose tautological comparison with type's min/max values 2017-10-15 20:13:17 +00:00
outof-range-enum-constant-compare.c [Sema] Fixes for enum handling for tautological comparison diagnostics 2017-10-21 16:44:03 +00:00
overloadable-complex.c
overloadable.c [Sema] Allow unmarked overloadable functions. 2017-06-27 21:31:31 +00:00
overloaded-func-transparent-union.c
parentheses.c [Sema] Add -Wparentheses warnings for '^' in '|' expressions and '&' in '^' expressions to compliment '&' in '|' that is already present. Matches gcc behavior. 2015-12-13 05:41:41 +00:00
parentheses.cpp
pass-object-size.c [Sema] Relax overloading restrictions in C. 2016-09-02 22:59:57 +00:00
pid_t.c
pointer-addition.c Remove offset size check in nullptr arithmetic handling 2017-09-20 18:06:44 +00:00
pointer-conversion.c
pointer-subtract-compat.c
ppc-bool.c
pr9812.c
pr25786.c Fix assertion "Chunk.Kind == DeclaratorChunk::Function" with attributed type. 2016-02-10 11:23:48 +00:00
pr30306.cpp [VLA] Fix the test failure on msvc by specifying the triple. 2017-02-15 00:01:12 +00:00
pr30372.c Fix typos in clang 2018-04-06 15:14:32 +00:00
pragma-align-mac68k-unsupported.c
pragma-align-mac68k.c
pragma-align-no-header-change-warning.c PR36307: Consume the #pragma options align annotation token after 2018-02-08 21:20:43 +00:00
pragma-align-packed.c
pragma-arc-cf-code-audited.c
pragma-attribute-strict-subjects.c Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
pragma-attribute.c Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
pragma-clang-section.c Add support for #pragma clang section 2017-06-05 10:11:57 +00:00
pragma-ms_struct.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
pragma-pack-2.c
pragma-pack-3.c
pragma-pack-4.c
pragma-pack-5.c
pragma-pack-6.c
pragma-pack-and-options-align.c
pragma-pack-apple.c
pragma-pack.c -Wpragma-pack: add an additional note and fixit when warning 2017-07-31 13:37:50 +00:00
pragma-section-invalid.c
pragma-section.c
pragma-unused.c
pragma-weak.c Revert "Fix for merging decls in pragma weak Calling CheckFunctionDeclaration so that 2 decls for the 'weak' are merged. Differential Revision: http://reviews.llvm.org/D13048" 2015-12-03 11:37:28 +00:00
predef.c
predefined-function.c Keep invalid functions as part of the AST 2016-06-16 21:39:55 +00:00
preserve-call-conv.c Basic: support PreserveMost and PreserveAll on Windows ARM 2018-03-20 17:33:26 +00:00
private-extern.c
rdr6094103-unordered-compare-promote.c
recover-goto.c
redefine_extname.c [Diag] Avoid emitting a redefinition note if no location is available. 2018-03-28 16:05:05 +00:00
redefinition-same-header.c Make tests from r302765 windows friendly 2017-05-11 07:06:52 +00:00
redefinition.c
renderscript.rs Revise RenderScript attribute declaration 2016-06-10 21:51:18 +00:00
return-noreturn.c
return-silent.c
return.c Teach Wreturn-type, Wunreachable-code, and alpha.deadcode.UnreachableCode to treat __assume(0) like __builtin_unreachable. 2018-02-13 21:31:47 +00:00
scope-check.c
self-comparison.c Fix typos in clang 2018-04-06 15:14:32 +00:00
sentinel-attribute.c
shift.c Fix For pr28288 - Error message in shift of vector values 2016-08-12 11:22:12 +00:00
short-enums.c Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
sign-compare-enum.c [Sema] Don't mark plain MS enums as fixed 2018-02-12 17:37:06 +00:00
sign-conversion.c
sizeof-struct-non-zero-as-member.cl [AMDGPU] Do not require opencl triple environment for OpenCL 2017-05-23 16:15:53 +00:00
statements.c
static-array.c
static-assert.c
static-init.c
stdcall-fastcall-x64.c
stdcall-fastcall.c
stmtexprs.c some StmtExprs do not have side-effects 2015-06-10 15:18:23 +00:00
string-init.c
string-plus-char.c
struct-cast.c
struct-compat.c [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
struct-decl.c
struct-packed-align.c Restore previous structure ABI behavior for bit-fields with the packed attribute for PS4 targets. 2017-08-08 18:07:17 +00:00
surpress-deprecated.c
suspicious-pragma-pack.c Recommit r308327 3rd time: Add a warning for missing 2017-07-28 14:41:21 +00:00
switch-1.c Explicitly permit undefined behavior in constant initializers for global 2015-12-08 03:21:47 +00:00
switch.c [Sema] Assign new flag -Wenum-compare-switch to switch-related parts of -Wenum-compare 2017-08-09 20:56:43 +00:00
tautological-constant-compare.c Remove TautologicalInRangeCompare from Extra and TautologicalCompare. 2018-01-18 21:40:27 +00:00
tautological-constant-enum-compare.c [Sema] -Wtautological-constant-compare is too good. Cripple it. 2018-01-03 08:45:19 +00:00
tautological-unsigned-enum-zero-compare.c [Sema] -Wtautological-constant-compare is too good. Cripple it. 2018-01-03 08:45:19 +00:00
tautological-unsigned-enum-zero-compare.cpp [Sema] -Wtautological-constant-compare is too good. Cripple it. 2018-01-03 08:45:19 +00:00
tautological-unsigned-zero-compare.c [Sema] -Wtautological-constant-compare is too good. Cripple it. 2018-01-03 08:45:19 +00:00
tentative-decls.c
text-diag.c
thread-specifier.c [Tests] Modified Lit Tests to be C++11 compatibile 2015-08-27 18:49:15 +00:00
tls.c Fix typos in clang 2018-04-06 15:14:32 +00:00
tls_alignment.cpp Add a "maximum TLS alignment" characteristic to the target info, so it 2015-07-14 20:52:32 +00:00
transparent-union-pointer.c
transparent-union.c Reland "[CodeGen] Fix crash when a function taking transparent union is redeclared." 2018-01-22 22:29:24 +00:00
type-spec-struct-union.c
typecheck-binop.c
typedef-prototype.c
typedef-redef.c
typedef-retain.c Fif for an issue when Clang permits assignment to vector/extvector elements in a const method. 2018-02-09 09:30:42 +00:00
typedef-variable-type.c
typeof-use-deprecated.c
types.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
typo-correction.c [Sema] Fix typos handling in an overloadable call. 2017-05-08 16:05:54 +00:00
ucn-cstring.c
ucn-identifiers.c
unaligned-qualifier.c Fix crash when an incorrect redeclaration only differs in __unaligned type-qualifier 2017-02-24 08:41:09 +00:00
uninit-det-order.c
uninit-variables-vectors.c
uninit-variables.c Fix typos in clang 2018-04-06 15:14:32 +00:00
unnamed-bitfield-init.c
unused-expr-system-header.c
unused-expr.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
usual-float.c
va_arg_x86_32.c
va_arg_x86_64.c
var-redecl.c [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
varargs-aarch64.c [AArch64] Add support for __builtin_ms_va_list on aarch64 2017-07-17 20:49:45 +00:00
varargs-win64.c Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
varargs-x86-32.c [AArch64] Add support for __builtin_ms_va_list on aarch64 2017-07-17 20:49:45 +00:00
varargs-x86-64.c 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
varargs.c Don't claim that va_start has special semantic checks 2018-03-02 21:41:08 +00:00
varargs_unreachable.c
variadic-block.c
variadic-incomplete-arg-type.c
variadic-promotion.c
vecshift.c [Sema] Gcc compatibility of vector shift 2016-10-19 12:06:10 +00:00
vector-assign.c
vector-cast.c [Sema] Fix lax conversion between non ext vectors 2017-08-01 19:05:25 +00:00
vector-gcc-compat.c Fix typos in clang 2018-04-06 15:14:32 +00:00
vector-gcc-compat.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
vector-init.c
vector-ops.c [Sema] Support implicit scalar to vector conversions 2017-05-12 19:11:06 +00:00
vector_swizzle_length.c [OpenCL] Restrict swizzle length check to OpenCL mode 2017-10-17 17:54:57 +00:00
vfprintf-invalid-redecl.c Fix completely bogus types for some builtins: 2016-12-19 23:59:34 +00:00
vfprintf-valid-redecl.c Fix completely bogus types for some builtins: 2016-12-19 23:59:34 +00:00
vla-2.c
vla.c Add another test for PR36157. 2018-02-24 00:00:58 +00:00
void_arg.c
warn-absolute-value-header.c
warn-absolute-value.c [Sema] Don't crash trying to diagnose abs called on a pointer type 2015-11-15 03:04:34 +00:00
warn-bad-function-cast.c
warn-bitwise-compare.c
warn-cast-align.c Make ASTContext::getDeclAlign return the correct alignment for 2017-01-06 17:56:15 +00:00
warn-cast-qual.c [clang] Implement -Wcast-qual for C++ 2017-07-03 17:59:22 +00:00
warn-char-subscripts.c
warn-documentation-almost-trailing.c
warn-documentation-crlf.c Fix several accidental DOS line endings in source files 2016-01-03 15:55:40 +00:00
warn-documentation-fixits.cpp
warn-documentation-unknown-command.cpp Fix 'unknown documentation command' warning ranges 2016-10-25 10:06:11 +00:00
warn-documentation.cpp -Wdocumentation should allow '...' params in variadic function type aliases 2017-10-06 20:51:04 +00:00
warn-documentation.m Fix typos in clang 2018-04-06 15:14:32 +00:00
warn-double-promotion.c Improve test coverage of -Wdouble-promotion 2016-04-29 17:44:29 +00:00
warn-duplicate-enum.c Fix some handling of AST nodes with diagnostics. 2018-03-28 04:16:13 +00:00
warn-extern-main.c [Sema] main can't be declared as global variable, in C++. 2015-08-14 14:13:29 +00:00
warn-freestanding-complex.c
warn-gnu-designators.c
warn-logical-not-compare.c Fix -Wlogical-not-parentheses to work better with C code. 2015-08-19 21:33:54 +00:00
warn-main-return-type.c
warn-main-returns-bool-literal.cpp Add a warning for 'main' returning 'true' or 'false'. 2016-11-29 01:35:17 +00:00
warn-main.c
warn-missing-braces.c
warn-missing-prototypes.c
warn-missing-variable-declarations.c
warn-null.c
warn-outof-range-assign-enum.c
warn-overlap.c Extend -Wtautological-overlap-compare to more cases. 2017-01-04 00:46:30 +00:00
warn-self-assign-field.mm
warn-shadow-intrinsics.c
warn-shadow.c
warn-shift-negative.c
warn-sizeof-array-decay.c
warn-sizeof-arrayarg.c Make a test a bit shorter. No behavior change. 2015-09-24 01:34:27 +00:00
warn-strict-prototypes.c [Sema] Don't emit the -Wstrict-prototypes warning for variadic functions. 2018-01-02 18:02:19 +00:00
warn-strict-prototypes.m [Sema] Improve -Wstrict-prototypes diagnostic message for blocks. 2017-06-02 01:07:08 +00:00
warn-string-conversion.c Fix typos in clang 2018-04-06 15:14:32 +00:00
warn-strlcpycat-size.c
warn-strncat-size.c
warn-tautological-compare.c
warn-thread-safety-analysis.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
warn-type-safety-mpi-hdf5.c
warn-type-safety.c Fix a failing assertion with the pointer_with_type_tag attribute when the function the attribute appertains to is variadic. 2018-02-25 20:28:10 +00:00
warn-type-safety.cpp
warn-unreachable-ms.c Implement CFG construction for __try / __except / __leave. 2017-08-23 15:33:16 +00:00
warn-unreachable.c Teach Wreturn-type, Wunreachable-code, and alpha.deadcode.UnreachableCode to treat __assume(0) like __builtin_unreachable. 2018-02-13 21:31:47 +00:00
warn-unsequenced.c
warn-unused-function.c Add -Winfinite-recursion to -Wmost (and -Wall), PR23789. 2015-06-18 21:09:24 +00:00
warn-unused-label.c
warn-unused-parameters.c
warn-unused-value.c
warn-unused-variables-werror.c
warn-unused-variables.c
warn-variable-not-needed.c
warn-vla.c
warn-write-strings.c
wchar.c Driver: hoist the `wchar_t` handling to the driver 2017-10-06 23:09:55 +00:00
weak-import-on-enum.c
x86-attr-force-align-arg-pointer.c
x86-builtin-palignr.c
x86_64-linux-android.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
xray-always-instrument-attr.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
xray-always-instrument-attr.cpp Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
xray-log-args-class.cpp [XRay][clang] Support capturing the implicit `this` argument to C++ class member functions 2017-06-16 03:22:09 +00:00
xray-log-args-oob.c Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
xray-log-args-oob.cpp Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
zero-initializer.c Suppress -Wmissing-braces warning when aggregate-initializing a struct with a single field that is itself an aggregate. 2017-10-03 20:36:00 +00:00
zvector.c [Sema] Support implicit scalar to vector conversions 2017-05-12 19:11:06 +00:00
zvector2.c [SystemZ] Add support for IBM z14 processor (2/3) 2017-07-17 17:46:47 +00:00