Commit Graph

38694 Commits

Author SHA1 Message Date
Kostya Serebryany 41a83c84f6 [asan] update docs: mention MacOS 10.7 and correct the ifdef sample for __has_feature
llvm-svn: 159521
2012-07-02 11:00:33 +00:00
James Dennett 9784d093e1 Documentation cleanup: reformatting/fixing up file comments so that they have
\file and \brief markup and appear in Doxygen's summaries (and eventually at
http://clang.llvm.org/doxygen/files.html).  Fixed up another couple of minor
glitches in the docs at the same time.

llvm-svn: 159517
2012-07-02 07:01:42 +00:00
Craig Topper 6490bdcf72 Rename tzcnt intrinsics to match gcc.
llvm-svn: 159515
2012-07-02 06:52:51 +00:00
Richard Smith 1355465227 Additional testing for fixes in r158289 and r158290 to allow implicitly-declared
constructors for non-literal types to be constexpr in some circumstances.

llvm-svn: 159513
2012-07-02 06:15:40 +00:00
Meador Inge cfb6090912 PR13189: va_list broken with precompiled headers
For some targets a structure named __va_list_tag is built to help define
the __builtin_va_list type.  However, __va_list_tag was not being treated as a
predefined type thus causing problems when serializing the AST.  This commit
fixes that oversight by adding the necessary support to treat __va_list_tag
as a predefined type.

llvm-svn: 159508
2012-07-01 15:57:25 +00:00
NAKAMURA Takumi 98346f92f2 c-index-test/Makefile: Tweak USEDLIBS for cygwin. cygclang.dll is not linked to c-index-test yet.
llvm-svn: 159499
2012-07-01 00:40:17 +00:00
Jordan Rose 58d547200e Add support for the C11 _Alignof keyword.
This behaves like the existing GNU __alignof and C++11 alignof keywords;
most of the patch is simply adding the third token spelling to various places.

llvm-svn: 159494
2012-06-30 21:33:57 +00:00
Arnaud A. de Grandmaison 2b3c860397 [libclang] Make implementation filename match the header's name for CXCompilationDatabase
llvm-svn: 159493
2012-06-30 20:43:43 +00:00
Arnaud A. de Grandmaison 8599ccc6b8 [cindex.py] Fix comments
llvm-svn: 159492
2012-06-30 20:43:37 +00:00
Arnaud A. de Grandmaison de7176ea55 [libclang] Fix autoconf library dependencies for tooling support
llvm-svn: 159490
2012-06-30 12:49:09 +00:00
NAKAMURA Takumi 1e43baa602 c-index-test.c: Fix missing semicolon(s).
llvm-svn: 159486
2012-06-30 11:47:18 +00:00
Arnaud A. de Grandmaison c0560064dd [cindex.py] add CompilationDatabase support
llvm-svn: 159485
2012-06-30 11:28:04 +00:00
Arnaud A. de Grandmaison 0fe28a1a84 [libclang] add CompilationDatabase support
llvm-svn: 159484
2012-06-30 11:27:57 +00:00
Chandler Carruth 8a6290721e Switch Clang to use the new common LLVM CMake infrastructure for adding
lit testsuites. This sinks all management of the aggregate lit runs into
the LLVM CMake files, making Clang only responsible for declaring its
own testsuite. In the process we fix numerous "bugs" where the proper
method of invoking lit has changed over time, and the old system
encoded several broken artifacts of this in ABIs and compatibility
tests.

It also switches to 'check-clang' for the canonical name of the test
suite, although 'clang-test' remains as an alias.

The situation when Clang is being built in standalone mode is little
changed. It replicates just enough of the lit setup to cope with the
oddities of being run outside of an LLVM build.

llvm-svn: 159483
2012-06-30 10:14:27 +00:00
Matt Beaumont-Gay b5b71fe628 Add a missing argument index, wordsmith a little, and 80(ish) columns
llvm-svn: 159478
2012-06-30 01:37:38 +00:00
Fariborz Jahanian d4879414f4 blocks: fixes a crash when encoding block type
with argument type of size 0. // rdar://11777609
PR13229.

llvm-svn: 159477
2012-06-30 00:48:59 +00:00
NAKAMURA Takumi 9d0a11d9a1 test/Driver/crash-report.c: Mark it as XFAIL on win32 hosts, for now. Investigating.
llvm-svn: 159476
2012-06-30 00:29:03 +00:00
Fariborz Jahanian e55c61bc51 Remove dependency on string.h
llvm-svn: 159475
2012-06-29 23:48:43 +00:00
David Blaikie 9c9fd7a77b Unbreak the test from r159469.
llvm-svn: 159474
2012-06-29 23:16:06 +00:00
Richard Trieu db96a42eba Fix typos from r159463 and update tests. Added Matt Beaumont-Gay's suggestion
to improve wording of a diagnostic message.

llvm-svn: 159473
2012-06-29 23:11:10 +00:00
Fariborz Jahanian 271b8d43ce objective-c IRGen: fixes a crash when method type is being mangled
when an argument type size is 0. // rdar://11777609, PR13229

llvm-svn: 159472
2012-06-29 22:54:56 +00:00
David Blaikie 5d577a225e Use -frewrite-includes for crash reports.
In future changes we should:
* use __builtin_trap rather than derefing 'random' volatile pointers.
* avoid dumping temporary files into /tmp when running tests, instead
  preferring a location that is properly cleaned up by lit.

Review by Chandler Carruth.

llvm-svn: 159469
2012-06-29 22:03:56 +00:00
Kaelyn Uhrain 7da8c7d8d4 In Sema::ClassifyName, try to avoid nonsensical corrections to
keywords when doing type correction.

llvm-svn: 159464
2012-06-29 21:30:39 +00:00
Richard Trieu c605844510 Update the %diff modifer to have an alternate string print when a template tree
is selected.  This will allow more flexibility when converting diagnostics to
use template type diffing.

Also updated the internal manual and test cases for correctly keeping the bold
attribute and for tree printing.

llvm-svn: 159463
2012-06-29 21:12:16 +00:00
Ted Kremenek afddb9c81c Revert "Tweak insecureAPI analyzer checks to have the ability to be individually disabled."
Jordan Rose corrected me that this actually isn't needed.

llvm-svn: 159462
2012-06-29 21:01:35 +00:00
Ted Kremenek a33b078e73 Tweak insecureAPI analyzer checks to have the ability to be individually disabled.
The solution is a bit inefficient: it creates N checkers, one for each check, and
each check does a dispatch on the function name.  This is redundant, but we can fix
this once we have the proper ability to enable/disable subchecks.

Fixes <rdar://problem/11780180>.

llvm-svn: 159459
2012-06-29 20:44:58 +00:00
Richard Trieu cf86744ffe Add a fix-it hint note to -Wunique-enum to suggest that the last element gets
initialized with the next to last element to silence the warning.

llvm-svn: 159458
2012-06-29 20:36:14 +00:00
Fariborz Jahanian 2794ad59aa objective-c modern translator: synthesize argument type
correctly for blocks and function pointer arguments
in the written constructor.  // rdar://11359268

llvm-svn: 159456
2012-06-29 19:55:46 +00:00
Fariborz Jahanian 0ad4d60b8c modern objc translator: string.h is unavailable on some non-OSX
platforms declare memset in rewritten code instead.

llvm-svn: 159454
2012-06-29 19:33:05 +00:00
Fariborz Jahanian 9699c1ef38 fix a typo in my last commit. I thought I recompiled,
but apparently I did not.

llvm-svn: 159452
2012-06-29 19:05:11 +00:00
Fariborz Jahanian 1db30fc071 objc diagnostic: pass IdentifierInfo* to the diagnostic system
to produce quotes instead of adding qoute to the test.

llvm-svn: 159450
2012-06-29 18:43:30 +00:00
Douglas Gregor 158dec5d20 std::nullptr_t support in MS headers, from João Matos.
llvm-svn: 159448
2012-06-29 18:28:41 +00:00
Douglas Gregor 3f568c100e Patch for handling C99 veriadic macros when using precompiled headers,
from Filipe Cabecinhas!

llvm-svn: 159446
2012-06-29 18:27:59 +00:00
Fariborz Jahanian 4a031bdc8f objective-c modern translator: Translation into objc_msgSend_stret
entry point which requires nil check before calling objc_msgSend_stret.
// rdar://11359268 - wip.

llvm-svn: 159445
2012-06-29 18:27:08 +00:00
Dmitri Gribenko 025d518e3e Factor out a check for block commands (that implicitly start a new paragraph) into a separate function.
llvm-svn: 159444
2012-06-29 18:19:20 +00:00
David Blaikie af031a9af7 Avoid redundant error when redefining a function as deleted.
Reviewed by Doug Gregor.

llvm-svn: 159442
2012-06-29 18:00:25 +00:00
Nico Weber 3052abd9c2 Change condition to be the same as in SemaTemplateInstantiate.
No functionality change.

llvm-svn: 159436
2012-06-29 16:39:58 +00:00
NAKAMURA Takumi e791a7ae36 clang/test/Misc/diag-template-diffing-color.cpp: Remove XFAIL:cygwin. Cygwin has some terminal emulation of escape sequences.
llvm-svn: 159428
2012-06-29 14:14:25 +00:00
Chandler Carruth 6b22da9e89 Update Clang to reflect the new home of IRBuilder.h as of r159421.
llvm-svn: 159422
2012-06-29 12:39:08 +00:00
Bill Wendling 128f8bdb78 Update based on move of DIBuilder.h to include/llvm.
llvm-svn: 159415
2012-06-29 08:32:29 +00:00
Axel Naumann 693344b505 From Philippe Canal:
Update the two function overloads
    void TemplateSpecializationType::PrintTemplateArgumentList(raw_ostream &OS,....
to behave like
    std::string TemplateSpecializationType::PrintTemplateArgumentList(const TemplateArgument *Args,...
hence making sure that clang consistently adds a space between two '>' at the end of nested template arguments.

llvm-svn: 159412
2012-06-29 07:30:33 +00:00
Manman Ren f865ba0c0e X86: add more GATHER intrinsics in Clang
Support the following intrinsics:
  _mm_i32gather_pd, _mm256_i32gather_pd,
  _mm_i64gather_pd, _mm256_i64gather_pd,
  _mm_i32gather_ps, _mm256_i32gather_ps,
  _mm_i64gather_ps, _mm256_i64gather_ps,
  _mm_i32gather_epi64, _mm256_i32gather_epi64,
  _mm_i64gather_epi64, _mm256_i64gather_epi64,
  _mm_i32gather_epi32, _mm256_i32gather_epi32,
  _mm_i64gather_epi32, _mm256_i64gather_epi32

llvm-svn: 159410
2012-06-29 05:19:13 +00:00
Timur Iskhodzhanov 099ec01569 Fix PR13234 - crash when trying to report an unsupported ABI feature
llvm-svn: 159405
2012-06-29 01:14:21 +00:00
Douglas Gregor 98c3cfc3b9 When a builtin that requires a constant is given a type- or
value-dependent expression, don't complain that it wasn't the constant
we wanted. Fixes <rdar://problem/11688587> and PR11074.

llvm-svn: 159404
2012-06-29 01:05:22 +00:00
Manman Ren 86c3250b82 X86: add more GATHER intrinsics in Clang
Corrected type for index of _mm256_mask_i32gather_pd
  from 256-bit to 128-bit
Corrected types for src|dst|mask of _mm256_mask_i64gather_ps
  from 256-bit to 128-bit

Support the following intrinsics:
  _mm_mask_i32gather_epi64, _mm256_mask_i32gather_epi64,
  _mm_mask_i64gather_epi64, _mm256_mask_i64gather_epi64,
  _mm_mask_i32gather_epi32, _mm256_mask_i32gather_epi32,
  _mm_mask_i64gather_epi32, _mm256_mask_i64gather_epi32

llvm-svn: 159403
2012-06-29 00:54:35 +00:00
Douglas Gregor 6bd56ca836 Teach the __is_trivially_assignable and __is_trivially_constructible
type traits that assignment to/construction of a lifetime-qualified
object under ARC is *not* trivial. Fixes <rdar://problem/11738725>.

llvm-svn: 159401
2012-06-29 00:49:17 +00:00
Chandler Carruth 8279aa7825 Switch Clang's CMake lit.site.cfg generation over to use the common
helpers rather than its own special-rolled code.

llvm-svn: 159398
2012-06-29 00:39:23 +00:00
Jordan Rose 42ee04d00a [analyzer] Add a test that we are, in fact, doing a DFS on the ExplodedGraph.
Previously:
...the comment said DFS...
...the WorkList being instantiated said BFS...
...and the implementation was actually DFS...
...due to an unintentional change in 2010...
...and everything kept working anyway.

This fixes our std::deque implementation of BFS, but switches back to a
SmallVector-based implementation of DFS.

We should probably still investigate the ramifications of DFS vs. BFS,
especially for large functions (and especially when we hit our block path
limit), since this might completely change our memory use. It can also mask
some bugs and reveal others depending on when we halt analysis. But at least
we will not have this kind of little mistake creep in again.

llvm-svn: 159397
2012-06-29 00:33:10 +00:00
Nico Weber 33fd523df1 Warn on self-assignment to member variables. PR13104.
llvm-svn: 159394
2012-06-28 23:53:12 +00:00
DeLesley Hutchins d162c91b1a Thread safety analysis: support release() function on scoped
lockable objects.

llvm-svn: 159387
2012-06-28 22:42:48 +00:00