- Dec 19, 2011
-
-
Chris Lattner authored
llvm-svn: 146907
-
Chris Lattner authored
llvm-svn: 146906
-
Fariborz Jahanian authored
But, warn too. // rdar://10597832 llvm-svn: 146904
-
Eli Friedman authored
llvm-svn: 146898
-
Douglas Gregor authored
with a definition pointer (e.g., C++ and Objective-C classes), zip through the redeclaration chain to make sure that all of the declarations point to the definition data. As part of this, realized again why the first redeclaration of an entity in a file is important, and brought back that idea. llvm-svn: 146886
-
Douglas Gregor authored
redeclaration templates (RedeclarableTemplateDecl), similarly to the way (de-)serialization is implemented for Redeclarable<T>. In the process, found a simpler formulation for handling redeclaration chains and implemented that in both places. The new test establishes that we're building the redeclaration chains properly. However, the FIXME indicates where we're tickling a different bug that has to do with us not setting the DefinitionData pointer properly in redeclarations that we detected after the definition itself was deserialized. The (separable) fix for that bug is forthcoming. llvm-svn: 146883
-
Rafael Espindola authored
llvm-svn: 146871
-
Douglas Gregor authored
imported modules that don't introduce any new entities of a particular kind. Allow these entries to be replaced with entries for another loaded module. In the included test case, selectors exhibit this behavior. llvm-svn: 146870
-
Douglas Gregor authored
which there are no redeclarations. This reduced by size of the PCH file for Cocoa.h by ~650k: ~536k of that was in the new LOCAL_REDECLARATIONS table, which went from a ridiculous 540k down to an acceptable 3.5k, while the rest was due to the more compact abbreviated representation of redeclarable declaration kinds (which no longer need to store the 'first' declaration ID). llvm-svn: 146869
-
Douglas Gregor authored
llvm-svn: 146868
-
Rafael Espindola authored
the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14). llvm-svn: 146867
-
Craig Topper authored
llvm-svn: 146862
-
Craig Topper authored
llvm-svn: 146857
-
Richard Smith authored
variable is initialized by a non-constant expression, and pass in the variable being declared so that earlier-initialized fields' values can be used. Rearrange VarDecl init evaluation to make this possible, and in so doing fix a long-standing issue in our C++ constant expression handling, where we would mishandle cases like: extern const int a; const int n = a; const int a = 5; int arr[n]; Here, n is not initialized by a constant expression, so can't be used in an ICE, even though the initialization expression would be an ICE if it appeared later in the TU. This requires computing whether the initializer is an ICE eagerly, and saving that information in PCH files. llvm-svn: 146856
-
Craig Topper authored
Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table. llvm-svn: 146855
-
- Dec 18, 2011
-
-
Dylan Noblesmith authored
llvm-svn: 146848
-
Richard Smith authored
floating literal value does not fit into the destination type. Such casts have undefined behavior at translation time; treating them as non-ICE matches the behavior of modern gcc versions. llvm-svn: 146842
-
Douglas Gregor authored
chains. The previous implementation relied heavily on the declaration chain being stored as a (circular) linked list on disk, as it is in memory. However, when deserializing from multiple modules, the different chains could get mixed up, leading to broken declaration chains. The new solution keeps track of the first and last declarations in the chain for each module file. When we load a declaration, we search all of the module files for redeclarations of that declaration, then splice together all of the lists into a coherent whole (along with any redeclarations that were actually parsed). As a drive-by fix, (de-)serialize the redeclaration chains of TypedefNameDecls, which had somehow gotten missed previously. Add a test of this serialization. This new scheme creates a redeclaration table that is fairly large in the PCH file (on the order of 400k for Cocoa.h's 12MB PCH file). The table is mmap'd in and searched via a binary search, but it's still quite large. A future tweak will eliminate entries for declarations that have no redeclarations anywhere, and should drastically reduce the size of this table. llvm-svn: 146841
-
- Dec 17, 2011
-
-
Chandler Carruth authored
flags on MIPS paltforms. llvm-svn: 146837
-
Argyrios Kyrtzidis authored
No functionality change. llvm-svn: 146825
-
Ted Kremenek authored
Refactor SerializeDiagnosticsPrinter to using DiagnosticRenderer. This gives us comparative diagnostics to TextDiagnosticPrinter. This certainly can be cleaned up a bit. llvm-svn: 146820
-
Argyrios Kyrtzidis authored
macro expansion. rdar://10588825 llvm-svn: 146818
-
Argyrios Kyrtzidis authored
Stopping at '@' was originally intended to avoid skipping an '@' at the @interface context when doing parser recovery, but we should not stop at all '@' tokens because they may be part of expressions (e.g. in @"string", @selector(), etc.), so in most cases we will want to skip them. This commit caused 'test/Parser/method-def-in-class.m' to fail for the cases where we tried to recover from unmatched angle bracket but IMO it is not a big deal to not have good recovery from such broken code and the way we did recovery would not always work anyway (e.g. if there was '@' in an expression). The case that rdar://7029784 is about still passes. llvm-svn: 146815
-
Eli Friedman authored
llvm-svn: 146813
-
Eli Friedman authored
Remove a non-gcc-compatible extension that would apply attributes on declarations without a declarator to structs. Add a warning for ignored attributes. Patch by Michael Han. llvm-svn: 146796
-
Eric Christopher authored
llvm-svn: 146795
-
Anna Zaks authored
llvm-svn: 146794
-
Anna Zaks authored
Check if the input parameters are tainted (or point to tainted data) on a checkPreStmt<CallExpr>. If the output should be tainted, record it in the state. On post visit (checkPostStmt<CallExpr>), use the state to make decisions (in addition to the existing logic). Use this logic for atoi and fscanf. llvm-svn: 146793
-
Chad Rosier authored
intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 llvm-svn: 146791
-
Eric Christopher authored
declaration for the type then go ahead and use that, it's still smaller than creating an all new derived type. Part of rdar://10335756 and others. llvm-svn: 146779
-
Eric Christopher authored
classes. Part of rdar://10520586 and a couple others. llvm-svn: 146778
-
- Dec 16, 2011
-
-
Richard Smith authored
#__include_macros) in the arguments of a function-style macro. Directives in the arguments of such macros have undefined behaviour, and GCC does not correctly support these cases. In some situations, this can lead to better diagnostics. llvm-svn: 146765
-
Richard Smith authored
llvm-svn: 146759
-
Richard Smith authored
behaviour to be an error, so it's useful to be able to make it an error in clang too. llvm-svn: 146755
-
Richard Smith authored
might not be an rvalue when checking array accesses. Instead, pass through a flag indicating the array index is negated. llvm-svn: 146753
-
Richard Smith authored
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control the maximum number of notes so produced (default 10). Fix APValue printing to be able to pretty-print all APValue types, and move the testing for this functionality from a unittest to a -verify test now that it's visible in clang's output. llvm-svn: 146749
-
Anna Zaks authored
llvm-svn: 146748
-
Devang Patel authored
llvm-svn: 146745
-
David Blaikie authored
Reviewed by Eli Friedman. llvm-svn: 146738
-
Fariborz Jahanian authored
on properties, prevent consequential error diagnostics. // rdar://10591336 llvm-svn: 146737
-