| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 51794
|
| |
|
|
| |
llvm-svn: 51793
|
| |
|
|
| |
llvm-svn: 51792
|
| |
|
|
| |
llvm-svn: 51791
|
| |
|
|
|
|
| |
iterators.
llvm-svn: 51790
|
| |
|
|
| |
llvm-svn: 51789
|
| |
|
|
| |
llvm-svn: 51788
|
| |
|
|
|
|
| |
types so that they end up the correct size.
llvm-svn: 51787
|
| |
|
|
| |
llvm-svn: 51786
|
| |
|
|
|
|
|
|
|
|
|
|
| |
this does is reconstruct the type for structs and arrays if the type
wouldn't be compatible otherwise.
The assertion about packing in the struct type reconstruction code
sucks, but I don't see any obvious way to fix it. Maybe we need a general
utility method to take a list of types and alignments and try to construct an
unpacked type if possible?
llvm-svn: 51785
|
| |
|
|
| |
llvm-svn: 51784
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
associated declaration. This is a prerequisite to handling
general union initializations; for example, an array of unions involving
pointers has to be turned into a struct because the elements can have
incompatible types.
I refactored the code a bit to make it more readable; now, the logic for
definitions is all in EmitGlobalVarInit.
The second parameter for GetAddrOfGlobalVar is now dead; I'll remove it
separately.
By itself, this patch should not cause any visible changes.
llvm-svn: 51783
|
| |
|
|
| |
llvm-svn: 51782
|
| |
|
|
| |
llvm-svn: 51781
|
| |
|
|
|
|
| |
by triggering a renumbering after phi elimination.
llvm-svn: 51780
|
| |
|
|
|
|
|
|
|
|
| |
required by the standard (the standard doesn't know anything about
implicit casts).
Disallow pointers cast to non-integral arithmetic types as constant
expressions. This was previously allowed by accident.
llvm-svn: 51779
|
| |
|
|
| |
llvm-svn: 51778
|
| |
|
|
|
|
| |
iterator invalidation. Fixes PR2385.
llvm-svn: 51777
|
| |
|
|
| |
llvm-svn: 51775
|
| |
|
|
|
|
|
|
| |
option.
Patch by Holger Schurig!
llvm-svn: 51774
|
| |
|
|
|
|
| |
VariableArrayType, EnumConstantDecl, and VarDecl.
llvm-svn: 51772
|
| |
|
|
|
|
|
| |
once (ie, at two different places in the source, not two times on the
commandline).
llvm-svn: 51771
|
| |
|
|
| |
llvm-svn: 51770
|
| |
|
|
|
|
| |
of elements.
llvm-svn: 51769
|
| |
|
|
|
|
|
|
|
| |
essentially that we were destroying the declarations twice.
(Note that we don't use -serialize directly in the testsuite, only
SerializeTest.)
llvm-svn: 51768
|
| |
|
|
|
|
| |
This fixes a crash on the included testcase (found in NetHack).
llvm-svn: 51767
|
| |
|
|
|
|
| |
insertvalue / extractvalue instructions.
llvm-svn: 51766
|
| |
|
|
| |
llvm-svn: 51765
|
| |
|
|
| |
llvm-svn: 51764
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
bit-field initialization; ugly code, X86-only, but it works, at least
for basic stuff. Separates/adds union initialization; currently disabled,
though, because the struct/array code needs modifications to support
elements of the wrong type.
Fixes PR2381 and PR2309 with the bit-field initialization. And NetHack
compiles and appears to work with a few tweaks (to work around the lack
of transparent_union support, and clang being a bit strict about
conflicting declarations).
llvm-svn: 51763
|
| |
|
|
|
|
|
|
|
|
| |
and union codepaths and fixes some minor bugs.
I'm reasonably confident this is accurate, at least for X86. I'll
correct any bugs as I find them; I haven't found any for a while,
though.
llvm-svn: 51762
|
| |
|
|
| |
llvm-svn: 51761
|
| |
|
|
| |
llvm-svn: 51760
|
| |
|
|
| |
llvm-svn: 51759
|
| |
|
|
| |
llvm-svn: 51758
|
| |
|
|
| |
llvm-svn: 51757
|
| |
|
|
| |
llvm-svn: 51756
|
| |
|
|
| |
llvm-svn: 51755
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It can be handy to have all information about options gathered in a single place
to provide an overview of all supported options. This patch allows the following:
def Options : OptionList<[
(switch_option "E", (help "Help string")),
(alias_option "quiet", "q")
...
]>;
Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in
this context, so the only properties that are allowed are 'help' and 'required'.
See usage example in examples/Clang.td.
llvm-svn: 51754
|
| |
|
|
| |
llvm-svn: 51753
|
| |
|
|
| |
llvm-svn: 51752
|
| |
|
|
|
|
|
|
|
|
| |
The following is now allowed:
(case (not_empty "o"), do_something, ...)
This didn't work previously because "-o" is built-in.
llvm-svn: 51751
|
| |
|
|
| |
llvm-svn: 51750
|
| |
|
|
| |
llvm-svn: 51749
|
| |
|
|
|
|
|
|
|
|
|
| |
The following is now legal:
(case (in_language "c"),
(case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"),
(default),
"gcc $INFILE $OUTFILE")
llvm-svn: 51748
|
| |
|
|
| |
llvm-svn: 51747
|
| |
|
|
|
|
| |
There are now no situations when 'default' is required.
llvm-svn: 51746
|
| |
|
|
| |
llvm-svn: 51745
|
| |
|
|
| |
llvm-svn: 51744
|
| |
|
|
| |
llvm-svn: 51743
|