Commit Graph

37480 Commits

Author SHA1 Message Date
John McCall 3c79d88f06 Fix a crash-on-invalid where the constant evaluator would try to
evaluate certain expressions involving invalidly-defined classes.

llvm-svn: 155645
2012-04-26 18:10:01 +00:00
Chad Rosier 11b1f41662 Remove the group from -fhonor_infinites/-fno_honor_infinites aliases. Aliases
with groups are unsupported.
rdar://11324283

llvm-svn: 155637
2012-04-26 16:53:12 +00:00
Evgeniy Stepanov 94dc4c9783 Define __ANDROID__ macro on -androideabi targets.
llvm-svn: 155632
2012-04-26 12:08:09 +00:00
Manuel Klimek 18ac56bc0f Adds a tutorial on how to write RAV based ASTFrontendActions.
llvm-svn: 155631
2012-04-26 08:49:54 +00:00
Manuel Klimek 34e0f6cba2 Reverted unintentional commit.
llvm-svn: 155629
2012-04-26 08:46:12 +00:00
Simon Atanasyan 2be62257a8 MIPS: Add tests to check the debian multiarch stuff for mips and mipsel targets.
llvm-svn: 155628
2012-04-26 08:35:58 +00:00
Manuel Klimek c01d3fbe0f Adds a small tutorial on how to write RAV based ASTFrontendActions.
llvm-svn: 155627
2012-04-26 08:35:39 +00:00
Craig Topper 5f365e94c3 Enable AVX/AVX2 for Sandy Bridge, Ivy Bridge, and Haswell CPUs.
llvm-svn: 155624
2012-04-26 07:31:30 +00:00
Ted Kremenek 2fda5a1e90 Update checker build link, and remove stale links.
llvm-svn: 155622
2012-04-26 07:29:14 +00:00
Richard Smith 72249ba945 PR12647: An alias template instantiation which occurs in a SFINAE context is
itself a SFINAE context.

llvm-svn: 155621
2012-04-26 07:24:08 +00:00
Ted Kremenek 468365b6be [analyzer] check lazy bindings in RegionStore first before looking for default values. Fixes <rdar://problem/11269741>.
llvm-svn: 155615
2012-04-26 05:08:26 +00:00
Ted Kremenek 01d152f43f Teach RetainCountChecker that it doesn't quite understand pthread_setspecific and it should just give up when it sees it. Fixes <rdar://problem/11282706>.
llvm-svn: 155613
2012-04-26 04:32:23 +00:00
Richard Smith 359087cade PR12660: Don't crash when initializing a const reference from a braced init list
which creates a temporary by calling a constructor.

llvm-svn: 155608
2012-04-26 03:16:45 +00:00
Chandler Carruth 3634c66b41 Fix a long-standing bug where Clang had a different default from GCC on
Linux and other (non-Darwin) platforms and have it use -fmath-errno by
default (for better or worse).

Darwin has seen the light here and uses -fno-math-errno by default, this
patch preserves that.

If any maintainers for a non-Linux platform would also like to opt-in to
-fno-math-errno by default, I'm happy to add folks, but we're currently
getting buts and misleading comparisons with GCC due to this difference
in behavior on Linux at least.

llvm-svn: 155607
2012-04-26 02:10:51 +00:00
Richard Smith bc8c5b5d67 Two missing -Wc++98-compat warnings, for null pointers as non-type template
arguments, and 'this' in exception-specifications.

llvm-svn: 155606
2012-04-26 01:51:03 +00:00
Rafael Espindola 4c3db23d1c Reject cases like
struct __attribute__((visibility("hidden"))) a;
struct __attribute__((visibility("default"))) b;

which gcc already rejects.

llvm-svn: 155603
2012-04-26 01:26:03 +00:00
Richard Smith 6ca73133ca If a type is non-literal by virtue of being incomplete produce notes
explaining that.

llvm-svn: 155598
2012-04-25 23:23:48 +00:00
Richard Smith f333acd686 RecursiveASTVisitor: When in 'shouldVisitTemplateInstantiations' mode, visit
all instantiations of a template when we visit the canonical declaration of the
primary template, rather than trying to match them up to the partial
specialization from which they are instantiated. This fixes a bug where we
failed to visit instantiations of partial specializations of member templates of
class templates, and naturally extends to allow us to visit instantiations where
we have instantiated only a declaration.

llvm-svn: 155597
2012-04-25 22:57:25 +00:00
Chad Rosier e38c006049 Typo.
llvm-svn: 155596
2012-04-25 22:51:41 +00:00
Fariborz Jahanian 94ee181e08 objective-c modern translator: more tests.
llvm-svn: 155585
2012-04-25 20:48:00 +00:00
Kaelyn Uhrain 76e07347ba Add an error message with fixit hint for changing '.' to '->'.
This is mainly for attempting to recover in cases where a class provides
a custom operator-> and a '.' was accidentally used instead of '->' when
accessing a member of the object returned by the current object's
operator->.

llvm-svn: 155580
2012-04-25 19:49:54 +00:00
Argyrios Kyrtzidis 6fe744cc38 When resolving default template arguments, it should be done in the declaration context
of the template what we are going to instantiate.

Fixes various crashes of rdar://11242625 & http://llvm.org/PR11421.

llvm-svn: 155576
2012-04-25 18:39:17 +00:00
Richard Smith 1ad04d95bc PR12625: Cope with classes which have incomplete base or member types:
Don't try to query whether an incomplete type has a trivial copy constructor
when determining whether a move constructor should be declared.

llvm-svn: 155575
2012-04-25 18:28:49 +00:00
Benjamin Kramer 2823f58038 Use a SmallMap for StoredDeclsMap, it's usually sparsely populated so we can avoid initializing memory for 64 buckets.
llvm-svn: 155571
2012-04-25 18:21:27 +00:00
Benjamin Kramer 4f947ff10b Convert a std::map that usually has between 0 and 10 elements to SmallMap.
llvm-svn: 155570
2012-04-25 18:21:21 +00:00
Fariborz Jahanian 78731c7098 improve a modern objc translator test.
llvm-svn: 155569
2012-04-25 18:11:57 +00:00
Fariborz Jahanian e49a42cae9 modern objc rewriter: fixes a bug writing
a const qualified static c-function. 
// rdar://11314329

llvm-svn: 155564
2012-04-25 17:56:48 +00:00
Manuel Klimek 85e60b5dc9 Adds documentation for how to use the tooling library.
llvm-svn: 155550
2012-04-25 14:20:13 +00:00
Manuel Klimek 06b0a7369f Adds a document describing the various tooling approaches and their pros and
cons.

llvm-svn: 155549
2012-04-25 13:57:00 +00:00
Evgeniy Stepanov 0a0655affa Make asan-ld test windows-safe.
llvm-svn: 155543
2012-04-25 09:28:10 +00:00
Manuel Klimek 3778a435d1 Fixes the header search logic for tools:
The driver needs to get the correct path to the executable to deduce
the header search path.

llvm-svn: 155542
2012-04-25 09:25:41 +00:00
Evgeniy Stepanov 7786671b5a Clang driver support for linking on Android.
llvm-svn: 155541
2012-04-25 08:59:22 +00:00
Evgeniy Stepanov 78eaa2cd1b Fix default cpu for -march=armv5e.
llvm-svn: 155540
2012-04-25 08:35:56 +00:00
Chris Lattner 024e12df52 OpenBSD: Remove incorrect -pthread preprocessor define _POSIX_THREADS and replace
with _REENTRANT. Also remove undef _POSIX_THREADS in phread.h.

Patch by Brad Smith!

llvm-svn: 155535
2012-04-25 06:12:24 +00:00
Chris Lattner 7073c47dc4 don't use soname on OpenBSD, it doesn't support it. Patch by
Brad Smith!

llvm-svn: 155534
2012-04-25 06:09:30 +00:00
Nico Weber cb93142e1f Expand #include_next in float.h from mingw to _msc_ver.
A test for this is checking if this compiles:

    #include <float.h>

    inline bool IsFinite(const double& number) {
     return _finite(number) != 0;
    }

That depends however on either mingw or msvc being installed, and
chapuni tells me there might be issues with float.h on mingw, so
no automated test is added.

llvm-svn: 155507
2012-04-24 23:43:40 +00:00
Chad Rosier 47c6c9de50 Add acos, asin, ceil, fabs, floor, fmax, fmin, round, and tan to the builtin
math library functions.
rdar://11251464

llvm-svn: 155502
2012-04-24 23:06:26 +00:00
Chad Rosier 155005c071 Add atan, atan2, exp, and log to the builtin math library functions.
With -fno-math-errno (the default for Darwin) or -ffast-math these library 
function can be marked readnone enabling more opportunities for CSE and other
optimizations.
rdar://11251464

llvm-svn: 155498
2012-04-24 22:40:01 +00:00
Chad Rosier e35cc3bff8 Alphabetize the builtin math library functions. No functional change intended.
llvm-svn: 155492
2012-04-24 21:45:50 +00:00
Nico Weber 1d725ecf93 Let NULL and MSVC headers coexist better.
Fixes the two issues mentioned in PR12146.

llvm-svn: 155490
2012-04-24 21:27:01 +00:00
Richard Smith 7af41ccdc4 RecursiveASTVisitor: Visit instantiations of member templates of class
templates. In an implicit instantiation of a member class, any member
templates don't get instantiated, so the existing check which only visited
the instantiations of a defined template skipped these templates'
instantiations.

Since there is only a single declaration of a member template of a class
template specialization, just use that to determine whether to visit the
instantiations. This introduces a slight inconsistency in that we will
visit the instantiations of such templates whether or not they are
defined, but we never visit a declared-but-not-defined instantiation, so
this turns out to not matter.

Patch by Daniel Jasper!

llvm-svn: 155487
2012-04-24 20:39:49 +00:00
Fariborz Jahanian 847713a998 modern objc translator: Allow writing of multiple
declaration of __block variables on same lines
with initializers. // rdsr://7547630

llvm-svn: 155473
2012-04-24 19:38:45 +00:00
Fariborz Jahanian 32af25ea05 objc modern rewriter: allow translation of
multiple declaration of block variables
(with no initializer) on the same line.

llvm-svn: 155462
2012-04-24 18:16:20 +00:00
Fariborz Jahanian 3fd9bbd41e objc modern rewriter: minor refactoring.
llvm-svn: 155449
2012-04-24 16:45:27 +00:00
Gabor Greif ec1f7e872c Add a FIXME for uncomplete comment
fix a typo
add punctuation

llvm-svn: 155443
2012-04-24 15:42:03 +00:00
Aaron Ballman 0ae8c946a4 Adding information about what intrinsics still need to be implemented for MSVC compatibility.
llvm-svn: 155441
2012-04-24 12:30:37 +00:00
Bill Wendling 1e60a2c287 Add a flag to the image info section indicating that the program is compiled for
a simulator.

llvm-svn: 155436
2012-04-24 11:04:57 +00:00
Evgeniy Stepanov 582911a089 Only pass -mcpu, -march, -mfpu to linux-as on ARM.
llvm-svn: 155431
2012-04-24 09:05:31 +00:00
Kostya Serebryany 5dd2cfc81e enable TBAA when -fthread-sanitizer is given, even with -O0 or -relaxed-aliasing
llvm-svn: 155430
2012-04-24 06:57:01 +00:00
Chandler Carruth ff90611253 Fix a typo spotted by Matt.
llvm-svn: 155427
2012-04-24 05:59:48 +00:00