- Apr 11, 2014
-
-
Yunzhong Gao authored
The -fms-extensions option affects a number of subtle front-end C/C++ behaviors, and it would be useful to be able to distinguish MS keywords from regular identifiers in the ms-extensions mode even if the triple does not define a Windows target. It should make life easier if anyone needs to port their Windows codes to elsewhere. Differential Revision: http://reviews.llvm.org/D3034 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206069 91177308-0d34-0410-b5e6-96231b3b80d8
-
Bob Wilson authored
This avoids the overhead of specifying all the traversal code when using ConstStmtVisitor and makes it a lot easier to maintain this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206039 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206038 91177308-0d34-0410-b5e6-96231b3b80d8
-
Manuel Klimek authored
We will need this to correctly handle conflict markers inside macro definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206029 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
Review: http://reviews.llvm.org/D3335 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206027 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
This treats binary conditional operators in the same way as ternary conditional operators for instrumentation based profiling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206021 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
Thanks dblaikie for the suggestion! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206012 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
declaration is not visible. Previously we didn't find hidden friend names in this redeclaration lookup, because we forgot to treat it as a redeclaration lookup. Conversely, we did find some local extern names, but those don't actually conflict with a namespace-scope using declaration, because the only conflicts we can get are scope conflicts, not conflicts due to the entities being members of the same namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206011 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
This patch updates the comments in RecordLayoutBuilder about record layout in the MS-ABI. Also, I added a section about known incompatibilities. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206010 91177308-0d34-0410-b5e6-96231b3b80d8
-
Duncan P. N. Exon Smith authored
Responding to Richard Smith's review of r205037. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206008 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
In version 9 (VS2010) (and prior)? versions of msvc, if the last field in a record was a bitfield padding equal to the size of the storage class of that bitfield was added before each vbase and vtordisp. This patch removes that feature from clang and updates the lit tests to reflect it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206004 91177308-0d34-0410-b5e6-96231b3b80d8
-
Duncan P. N. Exon Smith authored
No functionality change. <rdar://problem/16435801> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206002 91177308-0d34-0410-b5e6-96231b3b80d8
-
Duncan P. N. Exon Smith authored
Fixes a bug where unsigned numbers are read using strtol and strtoll. I don't have a testcase because this bug is effectively unobservable right now. To expose the problem in the hash, we would need a function with greater than INT64_MAX counters, which we don't handle anyway. To expose the problem in the function count, we'd need a function with greater than INT32_MAX counters; this is theoretically observable, but it isn't a practical testcase to check in. An upcoming commit changes the hash to be non-trivial, so we'll get some coverage eventually. <rdar://problem/16435801> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206001 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
The vbptr is injected after the last non-virtual base lexographically rather than the last non-virtual base in layout order. Test case included. Also, some line ending fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206000 91177308-0d34-0410-b5e6-96231b3b80d8
-
Adrian Prantl authored
are not associated with any source lines. Previously, if the Location of a Decl was empty, EmitFunctionStart would just keep using CurLoc, which would sometimes be correct (e.g., thunks) but in other cases would just point to a hilariously random location. This patch fixes this by completely eliminating all uses of CurLoc from EmitFunctionStart and rather have clients explicitly pass in a SourceLocation for the function header and the function body. rdar://problem/14985269 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205999 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Patch by Alex Crichton! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205998 91177308-0d34-0410-b5e6-96231b3b80d8
-
Warren Hunt authored
When __declspec(align()) is applied to a bitfield it affects the alignment rather than the required alignment of the struct. The major feature that this patch adds is that the alignment of the structure obeys the alignment of __declspec(align()) from the bitfield over the value specified in pragma pack. Test cases are included. The patch also includes some small cleanups in recordlayoutbuilder and some cleanups to some lit tests, including line endings (but no functionality change to lit tests) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205994 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 10, 2014
-
-
Reid Kleckner authored
This ensures that the overall struct size will be a multiple of 4, as required by the ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205981 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Bogner authored
Emitting the PGO initialization in EmitGlobalFunctionDefinition is inefficient, since this only has an effect once per module. We move this to Release() with the rest of the once-per-module logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205977 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Some minor improvements to the thread safety intermediate language -- mostly const correctness and reformatting. Fixes the types involved with castOpcode(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205976 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ben Langmuir authored
With the VFS, it is easy to hit modified umbrellas by overriding the umbrella header, and what we want is to rebuild, not to fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205975 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205972 91177308-0d34-0410-b5e6-96231b3b80d8
-
Christian Pirker authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205967 91177308-0d34-0410-b5e6-96231b3b80d8
-
Christian Pirker authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205966 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Sandiford authored
Whitespace only. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205960 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205954 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
sure that a debugger can find them when stepping through code, for example from the included testcase: 12 int test_it() { 13 c = 1; 14 d = 2; -> 15 a = 4; 16 return (c == 1); 17 } 18 (lldb) p a (int) $0 = 2 (lldb) p c (int) $1 = 2 (lldb) p d (int) $2 = 2 and a, c, d are all part of the file static anonymous union: static union { int c; int d; union { int a; }; struct { int b; }; }; Fixes PR19221. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205952 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
If we crash, we raise a crash handler dialog, and that's really annoying. Even though we can't emit correct IR until we have musttail, don't crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205948 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
MSVC 2012 doesn't understand '= delete', but 2013 does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205946 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205945 91177308-0d34-0410-b5e6-96231b3b80d8
-
David Majnemer authored
cxx-abi-dev came up with a way to disambiguate between different keywords used in elaborated type specifiers. This resolves certain collisions during mangling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205943 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ben Langmuir authored
No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205942 91177308-0d34-0410-b5e6-96231b3b80d8
-
DeLesley Hutchins authored
functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205936 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
Moving it into a struct makes things work because it implicitly marks the function as inline. The struct is unnecessary if you explicitly mark the function inline. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205935 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 09, 2014
-
-
Warren Hunt authored
This patch changes how we determine if padding is needed between two bases in msvc compatibility mode. Test cases included. In addition, a very minor change to the printing of structures to ease lit testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205933 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Switching back from a static namespace-scoped function to a static class-scope function. No functional change, but resolves a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205931 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205929 91177308-0d34-0410-b5e6-96231b3b80d8
-
Reid Kleckner authored
MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing and -fno-strict-aliasing available in clang-cl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205924 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anders Waldenborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205922 91177308-0d34-0410-b5e6-96231b3b80d8
-
Anders Waldenborg authored
The idea is to give visibility to more type kinds, especially for getting a better grasp of what appears as unexposed type kind with libclang. Differential Revision: http://reviews.llvm.org/D3325 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205921 91177308-0d34-0410-b5e6-96231b3b80d8
-