summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Replaced bool parameters in SkipUntil function with single bit-based parameter.Alexey Bataev2013-11-1813-235/+271
| | | | llvm-svn: 194994
* clang/test/Tooling/multi-jobs.cpp: Mark this as XFAIL:msvc for now. It has ↵NAKAMURA Takumi2013-11-181-0/+3
| | | | | | | | been failing since r194968. MSVC targeted drivers (*-win32) are incapable of invoking external assembler. llvm-svn: 194992
* Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors.Hao Liu2013-11-185-1/+1248
| | | | | | The functions are like: vst1_s8_x2 ... llvm-svn: 194991
* Tests for core issues 251-270.Richard Smith2013-11-182-13/+206
| | | | llvm-svn: 194989
* Remove method that always returns true.Rafael Espindola2013-11-172-6/+1
| | | | llvm-svn: 194984
* Remove two unused #ifdefs.Rafael Espindola2013-11-171-11/+0
| | | | llvm-svn: 194983
* RewriteBuffer::write(): Add a doc comment about non-portable useAlp Toker2013-11-171-0/+3
| | | | | | | | | | The function isn't strictly at fault but there are callers using it incorrectly, causing crashes with in-place edits of 64KB or larger files on Windows. See PR17960 for details. llvm-svn: 194972
* Tooling/CompilationDatabase.cpp: Use \return here instead of \param[out]. ↵NAKAMURA Takumi2013-11-171-3/+2
| | | | | | [-Wdocumentation] llvm-svn: 194971
* Remove a bad string compare from r194968Alp Toker2013-11-171-1/+0
| | | | | | | | lib/Tooling/CompilationDatabase.cpp:275:34: warning: result of comparison against a string literal is unspecified (use strncmp instead) [-Wstring-compare] This assert() should probably be fixed and added back at some point. llvm-svn: 194969
* Relax some preconditions for using FixedCompilationDatabase.Edwin Vane2013-11-172-5/+226
| | | | | | | | FixedCompilationDatabase (FCD) requires that the arguments it consumes after '--' must not include positional parameters or the argv[0] of the tool. This patch relaxes those restrictions. llvm-svn: 194968
* Add -freroll-loops to enable loop rerollingHal Finkel2013-11-176-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable loop rerolling as part of the optimization pass manager. This transformation can enable vectorization, reduce code size (or both). Briefly, loop rerolling can transform a loop like this: for (int i = 0; i < 3200; i += 5) { a[i] += alpha * b[i]; a[i + 1] += alpha * b[i + 1]; a[i + 2] += alpha * b[i + 2]; a[i + 3] += alpha * b[i + 3]; a[i + 4] += alpha * b[i + 4]; } into this: for (int i = 0; i < 3200; ++i) { a[i] += alpha * b[i]; } Loop rerolling is currently disabled by default at all optimization levels. llvm-svn: 194967
* Fixes a typo and changes references to the function clang_displayDiagnostic ↵Sylvestre Ledru2013-11-171-3/+3
| | | | | | | | (which was removed in r96823) to clang_formatDiagnostics. Patch by David Wiberg llvm-svn: 194956
* Implement vreinterpret ACLE functions in Clang.Hao Liu2013-11-172-0/+2192
| | | | llvm-svn: 194954
* [analyzer] Better modeling of memcpy by the CStringChecker (PR16731).Anton Yartsev2013-11-176-19/+95
| | | | | | | | | | | | | | New rules of invalidation/escape of the source buffer of memcpy: the source buffer contents is invalidated and escape while the source buffer region itself is neither invalidated, nor escape. In the current modeling of memcpy the information about allocation state of regions, accessible through the source buffer, is not copied to the destination buffer and we can not track the allocation state of those regions anymore. So we invalidate/escape the source buffer indirect regions in anticipation of their being invalidated for real later. This eliminates false-positive leaks reported by the unix.Malloc and alpha.cplusplus.NewDeleteLeaks checkers for the cases like char *f() { void *x = malloc(47); char *a; memcpy(&a, &x, sizeof a); return a; } llvm-svn: 194953
* Fix the problem that the arm_neon.h can't be used in a cpp file. Also fix a ↵Hao Liu2013-11-171-3/+3
| | | | | | minor bug with poly64 name mangling. llvm-svn: 194952
* Tests for core issue 241-250.Richard Smith2013-11-174-12/+139
| | | | llvm-svn: 194951
* Tests for core issues 224-240.Richard Smith2013-11-172-14/+202
| | | | llvm-svn: 194946
* ObjectiveC ARC. More validation of toll-free bridging ofFariborz Jahanian2013-11-162-3/+14
| | | | | | | CF objects with objc_bridge'ing annotaiton. // rdar://15454846 llvm-svn: 194938
* ObjectiveC ARC. Validate toll free bridge castingFariborz Jahanian2013-11-163-6/+60
| | | | | | | of ObjectiveC objects to CF types when CF type has the objc_bridge attribute. llvm-svn: 194930
* Remove unused but set variable.Benjamin Kramer2013-11-161-4/+0
| | | | llvm-svn: 194920
* Move remaining %clang_cc1 tests out of test/DriverAlp Toker2013-11-164-0/+4
| | | | | | | | | | | | | | clang -cc1 skips the driver so it never made sense to include these with the Driver tests. Basic type tests and flag tests generally both go in Frontend. Now that the final -cc1 tests have been moved out of test/Driver, add a local substitution to enforce and detect future mistakes. These miscategorized tests were probably the source of confusion in r194817. llvm-svn: 194919
* If a replaceable global operator new/delete is marked inline, don't warn ifRichard Smith2013-11-162-11/+21
| | | | | | | it's also __attribute__((used)), since that undoes the problematic part of 'inline'. llvm-svn: 194916
* ObjetiveC ARC. Start diagnosing invalid toll free bridging.Fariborz Jahanian2013-11-164-12/+27
| | | | | | // rdar://15454846. llvm-svn: 194915
* X86: Make specifying avx2 simpler on Darwin with '-arch'Jim Grosbach2013-11-164-6/+49
| | | | | | | | Teach the '-arch' command line option to enable the compiler-friendly features of core-avx2 CPUs on Darwin. Pass the information along in the target triple like Darwin+ARM does. llvm-svn: 194907
* Downgrade the Error on an 'inline' operator new or delete to an ExtWarn. SomeRichard Smith2013-11-163-4/+5
| | | | | | | projects are relying on such (questionable) practices, so we should give them a way to opt out of this diagnostic. llvm-svn: 194905
* Consumed analysis: track state of temporary objects.DeLesley Hutchins2013-11-163-163/+319
| | | | | | | | Earlier versions discarded the state too soon, and did not track state changes, e.g. when passing a temporary to a move constructor. Patch by chris.wailes@gmail.com; review and minor fixes by delesley. llvm-svn: 194900
* Corrected comment about MS prgama warning.John Thompson2013-11-161-1/+1
| | | | llvm-svn: 194897
* Implemented aarch64 Neon scalar vmulx_lane intrinsicsAna Pazos2013-11-155-14/+356
| | | | | | | | | | | | | | Implemented aarch64 Neon scalar vfma_lane intrinsics Implemented aarch64 Neon scalar vfms_lane intrinsics Implemented legacy vmul_n_f64, vmul_lane_f64, vmul_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. Implemented legacy vfma_lane_f64, vfms_lane_f64, vfma_laneq_f64, vfms_laneq_f64 intrinsics (v1f64 parameter type) using Neon scalar instructions. llvm-svn: 194889
* Updated comment - testing commit rightsAna Pazos2013-11-151-0/+1
| | | | llvm-svn: 194884
* ObjectiveC ARC. Only briding of pointer to struct CF object is allowed.Fariborz Jahanian2013-11-154-14/+18
| | | | | | | Improve on wording on illegal objc_bridge argumment. // rdar://15454846 llvm-svn: 194881
* Darwin(ish): enable embedded compiler-rt builds on Darwin.Tim Northover2013-11-151-1/+3
| | | | | | | | This builds extra versions of compiler-rt targeting various unhosted targets. Only built on Darwin since even though they're not iOS or OSX, they share some quirks. llvm-svn: 194878
* PR17949: Fix crash if someone puts a namespace inside a class template.Richard Smith2013-11-154-8/+13
| | | | llvm-svn: 194872
* PR8455: Handle an attribute between a goto label and a variable declaration perRichard Smith2013-11-154-6/+78
| | | | | | | the GNU documentation: the attribute only appertains to the label if it is followed by a semicolon. Based on a patch by Aaron Ballman! llvm-svn: 194869
* ObjectiveC ARG. A positive test of my previous patch.Fariborz Jahanian2013-11-151-1/+16
| | | | | | // rdar://15454846 llvm-svn: 194864
* Fix typo in CGRecordLayoutBuilder.cpp: s/Field/Fields/ in commentHans Wennborg2013-11-151-1/+1
| | | | llvm-svn: 194863
* ObjectiveC ARC. Lookup type associated with objc_bridage atFariborz Jahanian2013-11-153-3/+53
| | | | | | | | the point of CF object type-cast and issue diagnostic if it is not a valid ObjectiveC class. // rdar//15454846. This is wip. llvm-svn: 194861
* These ACLE tests no longer need to cast the return value.Chad Rosier2013-11-151-8/+8
| | | | llvm-svn: 194854
* Diagnose C++11 attributes before fp_contract pragmas.Richard Smith2013-11-152-0/+6
| | | | llvm-svn: 194850
* Fix bogus diagnostic wording. There's no such thing as a compound expression.Richard Smith2013-11-152-3/+3
| | | | llvm-svn: 194849
* Revert "Using an invalid -O falls back on -O3 instead of an error"Alp Toker2013-11-157-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | Trying to fix test failures since earlier today. One of the tests added in this commit is outputting test/Driver/clang_f_opts.s which the builders that build in-tree (eg. clang-native-arm-cortex-a9) are trying to run as a test case, causing failures. clang_f_opts.c: If -### doesn't emit the warning then this test probably shouldn't be in here in the first place. Frontend maybe? invalid-o-level.c: Running %clang_cc1 in the Driver tests doesn't make sense because -cc1 bypasses the driver. (I'm not reverting the commit that introduced this but please fix instead of keeping it this way.) Reverting to fix the build failures and also so that the tests can be thought out more thoroughly. This reverts commit r194817. llvm-svn: 194845
* clang-cl: Make the driver parse all(?) msvc flagsHans Wennborg2013-11-152-14/+166
| | | | | | | | | | | Even if we don't support a flag, we should be able to parse it to provide a better error message than the current default "error: no such file or directory: '/foo'" (which we should probably also tweak, btw). This also tries to clean up the test file a bit. llvm-svn: 194837
* Remove an unused local from r194827Alp Toker2013-11-151-1/+0
| | | | llvm-svn: 194835
* Darwin: Look for libc++ headers in include/, rather than lib/Justin Bogner2013-11-151-5/+7
| | | | | | | | | | | | Up until now we were expecting that when libc++ is installed alongside clang the headers would be in lib/, which was true if the configure build was used and false if the cmake build was. We've now corrected the configure build to install in include/, and with this change we'll be able to find the correct headers with both build systems. llvm-svn: 194834
* libc++: Install headers in include/, rather than lib/Justin Bogner2013-11-151-1/+1
| | | | | | | | | When using the configure build system, the libc++ headers were being installed in lib/, whereas cmake installs them in include/. Since include/ makes more sense for headers, we'll make both systems install headers there. llvm-svn: 194833
* ObjectiveC. Fixes a bogus warning of unused backingFariborz Jahanian2013-11-152-1/+35
| | | | | | | | ivar when property belongs to a super class and currnt class happens to have a method with same name as property. // rdar//15473432 llvm-svn: 194830
* Update contact information.Chad Rosier2013-11-151-1/+1
| | | | llvm-svn: 194829
* [-cxx-abi microsoft] Emit thunks for pointers to virtual member functionsHans Wennborg2013-11-156-47/+262
| | | | | | | | | | | | | | | | Instead of storing the vtable offset directly in the function pointer and doing a branch to check for virtualness at each call site, the MS ABI generates a thunk for calling the function at a specific vtable offset, and puts that in the function pointer. This patch adds support for emitting such thunks. However, it doesn't support pointers to virtual member functions that are variadic, have an incomplete aggregate return type or parameter, or are overriding a function in a virtual base class. Differential Revision: http://llvm-reviews.chandlerc.com/D2104 llvm-svn: 194827
* [ASan] Fix darwin-sanitizer-ld.c for iossim, which seems to use -lc++ ↵Alexander Potapenko2013-11-151-1/+1
| | | | | | instead of -lstdc++. llvm-svn: 194822
* [ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the ↵Alexander Potapenko2013-11-152-2/+19
| | | | | | | | iOS simulator. Add a test. llvm-svn: 194820
* Using an invalid -O falls back on -O3 instead of an errorSylvestre Ledru2013-11-157-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20' With the patch: $ clang -O20 foo.c warning: optimization level '-O20' is unsupported; using '-O3' instead. 1 warning generated. This matches the gcc behavior (with a warning added) Pass all tests: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 94.14s Expected Passes : 6721 Expected Failures : 20 Unsupported Tests : 17 (which was not the case of http://llvm-reviews.chandlerc.com/D2125) Reviewers: chandlerc, rafael, rengolin, hfinkel Reviewed By: rengolin CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2152 llvm-svn: 194817
OpenPOWER on IntegriCloud