Commit Graph

20437 Commits

Author SHA1 Message Date
Rafael Espindola bc81c07238 Check IR in this test.
llvm-svn: 196278
2013-12-03 14:16:22 +00:00
Rafael Espindola a1226fc722 Check IR in this test.
llvm-svn: 196277
2013-12-03 14:09:19 +00:00
Rafael Espindola 1612b810f4 Check IR in this test.
llvm-svn: 196276
2013-12-03 14:06:23 +00:00
Rafael Espindola b6faecafb3 Check IR instead of assembly in this test.
llvm-svn: 196275
2013-12-03 13:57:25 +00:00
Daniel Jasper e1d9141433 clang-format: Explicitly set fallback style that is tested.
llvm-svn: 196213
2013-12-03 06:48:41 +00:00
Alp Toker 47642d2b7e Emit an extension warning when changing system header tokens
clang converts keywords to identifiers for compatibility with various system
headers such as GNU libc.

Implement a -Wkeyword-compat extension warning to diagnose those cases. The
warning is on by default but will generally be ignored in system headers. It
can however be enabled globally to aid standards conformance testing.

This also changes the __uptr keyword avoidance from r195710 to no longer
special-case system headers, bringing it in line with other similar workarounds
in clang.

Implementation returns bool for symmetry with token annotation functions.

Some examples:

warning: keyword '__is_pod' will be treated as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __is_pod

warning: keyword '__uptr' will be treated as an identifier here [-Wkeyword-compat]
union w *__uptr;

llvm-svn: 196212
2013-12-03 06:13:01 +00:00
Hao Liu a5246fde90 [AArch64]Add missing floating point convert, round and misc intrinsics.
E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn

llvm-svn: 196211
2013-12-03 06:07:13 +00:00
Hao Liu 38658a8186 AArch64: add missing ACLE intrinsics mapping to general arithmetic operation from VFP instructions.
E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm.

llvm-svn: 196209
2013-12-03 05:58:49 +00:00
Jiangning Liu e82327ddd3 Patch by Ana Pazos.
Fixed vcopy_laneq_f64 intrinsic implementation.

llvm-svn: 196206
2013-12-03 05:36:55 +00:00
Hao Liu 4b850c5e0d revert r196152.
This is a duplicate implementation.
E.g. this patch defines:
     float64_t vabd_f64(float64_t a, float64_t b)
But there is already a similar intrinsic "vabdd_f64" with the same types.
Also, this intrinsic will be conflicted to the vector type intrinsic as following(Which is implemented by me and will be committed to trunk):
     float64x1_t vabd_f64(float64x1_t a, float64x1_t b).
Two functions shouldn't have a same name in arm_neon.h.
According to ARM ACLE document, such vabd_f64 with float64_t is not existing.
So I revert this commit.

llvm-svn: 196205
2013-12-03 05:35:17 +00:00
Alp Toker bbbf50541b Test to ensure no old-style-cast warning is emitted for objc-arc __bridge casts
llvm-svn: 196204
2013-12-03 05:31:51 +00:00
Hao Liu ce258820ca AArch64: Add missing scalar pair intrinsics.
E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s".

llvm-svn: 196199
2013-12-03 03:40:08 +00:00
Jiangning Liu 2d31f6f610 Add some missing AArch64 Neon intrinsics like vuqadd_s64 and friends.
llvm-svn: 196191
2013-12-03 01:33:16 +00:00
Jiangning Liu cc1da2c938 Add some missing AArch64 Neon intrinsics like vmull_high_n_s16 and friends.
llvm-svn: 196189
2013-12-03 01:28:55 +00:00
Dmitri Gribenko fc13b8baf1 MS inline asm: When LLVM called back to Clang to parse a name and do name
lookup, if parsing failed, we did not restore the lexer state properly, and
eventually crashed.  This change ensures that we always consume all the tokens
from the new token stream we started to parse the name from inline asm.

llvm-svn: 196182
2013-12-03 00:48:09 +00:00
Chad Rosier 25052adf21 [AArch64] Implemented vcopy_lane patterns using scalar DUP instruction.
Patch by Ana Pazos!

llvm-svn: 196153
2013-12-02 21:07:27 +00:00
Chad Rosier b0574f3bf7 [AArch64] Add missing NEON scalar floating-point to integer convert ACLEs.
llvm-svn: 196152
2013-12-02 21:07:24 +00:00
Aaron Ballman 604dfec8dc Re-enabled support for the Subjects for the weak attribute. This changes the diagnostic involved to be more accurate -- for C++ code, it will now report that weak applies to variables, functions or classes. Added additional test case for this.
llvm-svn: 196120
2013-12-02 17:07:07 +00:00
Alexander Kornienko bc4ae44928 Added an option to specify fallback style.
Summary:
Added -fallback-style option. Changed clang-format to stop searching
for .clang-format when an invalid file is found.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2292

llvm-svn: 196108
2013-12-02 15:21:38 +00:00
Alp Toker 99416d3ef2 Correct test to target 'unknown'
llvm-svn: 196060
2013-12-02 03:50:16 +00:00
Rafael Espindola 6edca7d9bd Handle CC and NoReturn when instantiating members of class templates.
Before we were considering them only when instantiating templates.

This fixes pr18033.

llvm-svn: 196050
2013-12-01 16:54:29 +00:00
Benjamin Kramer 2dece5747a CommentLexer: When proceeding with a typo corrected name don't clobber the token.
This would crash if the token is used in another diagnostic. PR18051.

llvm-svn: 196048
2013-12-01 15:09:32 +00:00
Benjamin Kramer 6b7247263f Reenable ms inline asm test.
LLVM r196044 should make it pass.

llvm-svn: 196045
2013-12-01 11:48:10 +00:00
Saleem Abdulrasool 73196baef4 add an additional test case for generic attributes
gcc treats [[gnu:const]], [[gnu::__const]], and [[gnu:__const__]] as all being
equivalent.  Add an additional test case to ensure that we do not miss the last
case.

llvm-svn: 195982
2013-11-30 21:17:12 +00:00
Alexander Kornienko cabdd738fc Added LanguageStandard::LS_JavaScript to gate all JS-specific parsing.
Summary:
Use LS_JavaScript for files ending with ".js". Added support for ">>>="
operator.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2242

llvm-svn: 195961
2013-11-29 15:19:43 +00:00
Aaron Ballman 80469038c0 Enables support for custom subject lists for attributes. As a testbed, uses the custom subject for the ibaction attribute.
llvm-svn: 195960
2013-11-29 14:57:58 +00:00
Hao Liu 8a0099e02c Fix the problem that the range check for scalar narrow shift is too wide.
E.g. the immediate value of vshrns_n_s16 is [1,16], which should be [1,8].

llvm-svn: 195942
2013-11-29 02:13:17 +00:00
Jiangning Liu 24173dd4b1 Add missing intrinsic function vbsl_f64 for AArch64 NEON.
llvm-svn: 195940
2013-11-29 01:38:49 +00:00
Jiangning Liu c8a9d762d3 Add missing intrinsic function vcombine_f64 for AArch64 NEON.
llvm-svn: 195937
2013-11-29 01:29:57 +00:00
Alp Toker 6a7f41f0ec Fix test on Windows
'not' on Windows tries and fails to convert the argument to UTF-16 and back for
some reason:

  Error: Unable to convert command-line to UTF-16

Let's try replacing it with !.

(There was no obvious way to do these with FileCheck)

llvm-svn: 195907
2013-11-28 05:55:40 +00:00
Alp Toker 49d9221098 Ensure that the output BOM test check is run
The first command's output was only reaching one of the two checks previously.

llvm-svn: 195904
2013-11-28 01:22:29 +00:00
Kaelyn Uhrain 297a1381ad Add a return statement to the func with an int return type.
llvm-svn: 195897
2013-11-28 00:13:38 +00:00
Alp Toker 6de7cd1672 One last portability fix attempt for r195886
llvm-svn: 195891
2013-11-27 23:29:37 +00:00
Alp Toker d57e836447 Attempt to make test from r195886 portable with different shells
Windows and Hexagon complained. It's not clear which command is failing, so
will back out the changes if this doesn't do the trick.

llvm-svn: 195889
2013-11-27 23:16:06 +00:00
Richard Smith 91e474fc91 Add support for C++'s SD6 feature test macros.
llvm-svn: 195888
2013-11-27 22:58:16 +00:00
David Majnemer fd6c685f2e Sema: Instantiation of variable definitions weren't local enough
We wouldn't properly save and restore the pending local instantiations
we had built up prior to instantiation of a variable definition.  This
would lead to us instantiating too much causing crashes and other
general badness.

This fixes PR14374.

llvm-svn: 195887
2013-11-27 22:57:44 +00:00
Alp Toker e3d6bcf5e0 Improve BOM test from r195877
1) Use %clang_cc1 instead of the driver
 2) Validate that the input contains a BOM
 3) Validate that the BOM has been stripped from the output

llvm-svn: 195886
2013-11-27 22:54:04 +00:00
Lubos Lunak c6b9270d04 strip UTF-8 BOM in -frewrite-includes (PR#15664)
llvm-svn: 195877
2013-11-27 21:14:43 +00:00
Aaron Ballman 17046b8506 Automated checking for C++ when determining what argument to send to the diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic.
llvm-svn: 195864
2013-11-27 19:16:55 +00:00
Aaron Ballman 3a8e2d9136 Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods.
llvm-svn: 195862
2013-11-27 18:53:58 +00:00
Aaron Ballman 6a42b5a0c5 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."
llvm-svn: 195851
2013-11-27 16:59:17 +00:00
Aaron Ballman 4a611153e1 Adding in the subject for the init_priority attribute.
llvm-svn: 195850
2013-11-27 16:34:09 +00:00
Jiangning Liu ee3e08799c Fix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE intrinsics.
llvm-svn: 195844
2013-11-27 14:02:55 +00:00
Argyrios Kyrtzidis 91486222d5 [Sema] Don't look for the instantiation of a local extern decl in a different
dependent context that the one we are instantiating, otherwise there will be an assertion.

rdar://15464547

llvm-svn: 195828
2013-11-27 08:34:14 +00:00
David Majnemer 192d1798b2 Sema: Instantiate local class and their members appropriately
We would fail to instantiate them when the surrounding function was
instantiated. Instantiate the class and add it's members to the list of
pending instantiations, they should be resolved when we are finished
with the function's body.

This fixes PR9685.

llvm-svn: 195827
2013-11-27 08:20:38 +00:00
Argyrios Kyrtzidis 50126f1259 [libclang] Make sure we don't access past the tokens buffer while token annotation.
Also disable crash recovery using 'LIBCLANG_DISABLE_CRASH_RECOVERY' environment variable.

llvm-svn: 195819
2013-11-27 05:50:55 +00:00
Alp Toker d35031ee92 Add a triple to fix this test on Windows
The warning from cmake-clang-x64-msc16-R was:

  test\SemaCXX\old-style-cast.cpp Line 6: cast to 'void **' from smaller integer type 'long'

llvm-svn: 195813
2013-11-27 04:59:03 +00:00
Richard Smith 41c35d6d2f Unify lookup from within not-yet-defined defaulted special members: use common
code for handling triviality, deletedness and constexpr. Fix a few bugs in
these, particularly related to mutable members, and remove some dead code.

llvm-svn: 195809
2013-11-27 03:39:20 +00:00
Alp Toker c7c1ebe660 Implement -Wold-style-cast
Based on a patch by Ondřej Hošek!

llvm-svn: 195808
2013-11-27 03:18:17 +00:00
Chad Rosier 9e59285cc8 [AArch64] Add support for NEON scalar floating-point absolute difference.
llvm-svn: 195804
2013-11-27 01:46:19 +00:00