aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-22Move debug info tests for scoped enums into a separate file.Adrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180026 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Use the ugly PRIx64 macro to make format string portable.Benjamin Kramer
This is debugging code so functionality isn't a concern, but mingw32 warns because it doesn't understand the %llx format specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180024 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22C++1y constexpr extensions, round 1: Allow most forms of declaration andRichard Smith
statement in constexpr functions. Everything which doesn't require variable mutation is also allowed as an extension in C++11. 'void' becomes a literal type to support constexpr functions which return 'void'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180022 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22cmake: Only add -pedantic if LLVM didn't add it. Don't unconditionally addRichard Smith
-Wall -W, since it's already provided by LLVM's cmake config, and that overrides fixes (such as -Wno-uninitialized) which LLVM's cmake setup may have provided. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180018 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Fix array constant expression evaluation bug: we can have different values forRichard Smith
different array elements, even if they're all constructed using the same default constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180017 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Don't emit _ZTW wrappers for TLS variables which don't use the C++ ↵Richard Smith
thread_local keyword. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180004 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Cleanup: test source file does not need to be executableArnaud A. de Grandmaison
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180002 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Fix bin-packing behavior of constructor initialziers.Daniel Jasper
In Google style, constructor initializers need to be all on one line or one initializer per line if that does not fit. Without this patch, this non-bin-packing-behavior incorrectly extends to the parameters of the initializers. Before: Constructor() : aaaaa(aaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa) {} After: Constructor() : aaaaa(aaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaa) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180001 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Revert "Revert "PR14606: Debug info for using ↵David Blaikie
directives/DW_TAG_imported_module"" This reverts commit 179839 now that the corresponding LLVM patch has been fixed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179997 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-22Add a triple to make a test resilient to non-TLS hosts (eg: darwin10)David Blaikie
Making the test introduced in r179962 resilient to being run on darwin10 hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179992 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-21Fix return type of isBitfield in the binding definitionDmitri Gribenko
Patch by Loïc Jaquemet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179984 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-21[Mips] Convert a GNU style Mips ABI name to the name accepted by LLVMSimon Atanasyan
Mips backend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179981 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-21[Mips] Do not add unnecessary Mips toolchain path to the listSimon Atanasyan
of system include directories with extern "C" semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179979 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-21The 'constexpr implies const' rule for non-static member functions is gone inRichard Smith
C++1y, so stop adding the 'const' there. Provide a compatibility warning for code relying on this in C++11, with a fix-it hint. Update our lazily-written tests to add the const, except for those ones which were testing our implementation of this rule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179969 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Disable VLA diagnostic in C++1y mode, and add some tests.Richard Smith
Still to do here: - we have a collection of syntactic accepts-invalids to diagnose - support non-PODs in VLAs, including dynamic initialization / destruction - runtime checks (and throw std::bad_array_length) for bad bound - support VLA capture by reference in lambdas - properly support VLAs in range-based for (don't recompute bound) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179962 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Add another test I forgot to svn add.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179959 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20C++1y: Allow aggregates to have default initializers.Richard Smith
Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in CXXCtorInitializers and in InitListExprs to represent a default initializer. There's an additional complication here: because the default initializer can refer to the initialized object via its 'this' pointer, we need to make sure that 'this' points to the right thing within the evaluation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179958 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Update some stuff on the open projects page to reflect things we've already ↵Richard Smith
done. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179953 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Switch C++11 open project to C++1y :)Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179951 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Add note that some of these links are dead for now.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179950 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20VLAs in C++14!Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179949 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Variable templates and generic lambdas are approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179947 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Clarifying memory allocation: approved for C++14. Move from N/A to no, since ↵Richard Smith
we currently relax 'operator new' calls which didn't come from new-expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20No digit separators for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179945 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Generalized constexpr is approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179944 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20More approved C++14 features.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179943 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Binary literals are approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179942 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Implement core issue 1608: class members can be found via operator lookup in ↵Richard Smith
a trailing return type in that class's body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179941 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Supports Sourcery CodeBench Mips toolchain directories tree.Simon Atanasyan
Sourcery CodeBench and modern FSF Mips toolchains require a bit more complicated algorithm to calculate headers, libraries and sysroot paths than implemented by Clang driver now. The main problem is that all these paths depend on a set of command line arguments additionally to a target triple value. For example, let $TC is a toolchain installation directory. If we compile big-endian 32-bit mips code, crtbegin.o is in the $TC/lib/gcc/mips-linux-gnu/4.7.2 folder and the toolchain's linker requires --sysroot=$TC/mips-linux-gnu/libc argument. If we compile little-endian 32-bit soft-float mips code, crtbegin.o is in the $TC/lib/gcc/mips-linux-gnu/4.7.2/soft-float/el folder and the toolchain's linker requires --sysroot=$TC/mips-linux-gnu/libc/soft-float/el argument. 1. Calculate MultiarchSuffix using all necessary command line options and use this MultiarchSuffix to detect crtbegin.o location in the GCCInstallationDetector::ScanLibDirForGCCTriple() routine. 2. If a user does not provide --sysroot argument to the driver explicitly, calculate new sysroot value based on command line options. Then use this calculated sysroot path: a. To populate a file search paths list in the Linux::Linux() constructor. b. To find Mips toolchain specific include headers directories in the Linux::AddClangSystemIncludeArgs() routine. c. To provide -–sysroot argument for a linker. Note: - The FSF's tree slightly differs (folder names) and is not supported yet. - New addExternCSystemIncludeIfExits() routine is a temporary solution. I plan to move path existence check to the addExternCSystemInclude() routine by a separate commit. The patch reviewed by Rafael Espindola. http://llvm-reviews.chandlerc.com/D644 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179934 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20[analyzer] Ensure BugReporterTracking works on regions with pointer arithmeticAnna Zaks
Introduce a new helper function, which computes the first symbolic region in the base region chain. The corresponding symbol has been used for assuming that a pointer is null. Now, it will also be used for checking if it is null. This ensures that we are tracking a null pointer correctly in the BugReporter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179916 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20[analyzer] Flip printPretty and printPrettyAsExpr as per suggestion from ↵Anna Zaks
Jordan (r179572) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179915 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20[analyzer] Correct the commentAnna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179914 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19[libclang] Make sure the preable does not truncate comments.Argyrios Kyrtzidis
rdar://13647445 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179907 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19[analyzer] Website: update lists of potential and actual checkers.Jordan Rose
- memory.MismatchedDelete, memory.MultipleDelete, and memory.DeallocateNonPtr are complete (unix.MismatchedDeallocator and cplusplus.NewDelete) - Per discussion on the mailing list, different.UnaryPlusWithUnsigned has dubious value; remove it. - Add potential checker ctordtor.PlacementSelfCopy per an internal bug report. - core.AttributeNonNull is now core.NonNullParamChecker, though no one should be depending on this name anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179900 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Remove an empty line so the line numbers match up again after the recent ↵Adrian Prantl
documentation change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179898 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19still not relaxed enough.Adrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179897 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19cleanup and relax test casesAdrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179896 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Note that we support (and in fact have supported since the dawn of time itself)Richard Smith
C++1y binary literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179883 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19[ms-inline asm] The parsing of C++ identifiers is a task of the front-end ↵Chad Rosier
parser, not the asm parser. As such, begin moving the parsing logic in that direction. This patch is just a temporary hack until the real frontend parser can be hooked up. Part of rdar://13663589 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179882 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Emit the underlying type in the debug info for all kinds of fixed enumsAdrian Prantl
instead of only C++11-scoped-with-class-tag enums. rdar://problem/13463793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179879 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19s/C++0x/C++11/Adrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179878 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Initial work on status page for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179864 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Keep the parentheses in #pragma message (partial revert of r179771).Andy Gibbs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179862 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19C++11 support is now feature-complete.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179861 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Avoid names like __in that conflict with SAL in builtin headersReid Kleckner
Microsoft's Source Annotation Language (SAL) defines a bunch of keywords for annotating the inputs and outputs of functions. Empty definitions for the keywords are provided by <stdlib.h> -> <crtdefs.h> -> <sal.h>. This makes it basically impossible to include MSVC's stdlib.h and Clang's *mmintrin.h headers at the same time if they have variables named __in. As a workaround, I've renamed those variables. This fixes the Modules/compiler_builtins.m test which was XFAILed, presumably due to this conflict. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179860 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Implement CodeGen for C++11 thread_local, following the Itanium ABI ↵Richard Smith
specification as discussed on cxx-abi-dev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179858 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19[analyzer] Call proper callback for const regions escaped other then on call.Anton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179846 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Revert "PR14606: Debug info for using directives/DW_TAG_imported_module"Eric Christopher
This reverts commit r179837 as it seems to be causing test failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179839 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19PR14606: Debug info for using directives/DW_TAG_imported_moduleDavid Blaikie
More changes later for using declarations/DW_TAG_imported_declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179837 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Give CGDebugInfo::getContextDescriptor a more specific return typeDavid Blaikie
Not that the DI* hierarchy is terribly type safe, but this makes the contract a little clearer I think. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179835 91177308-0d34-0410-b5e6-96231b3b80d8