IMM76K (4.0.4_r2) to JDO03C (4.1.1_r1) AOSP changelog

This only includes the Android Open Source Project changes and does not include any changes in any proprietary components included by Google or any hardware manufacturer. The raw log was generated using a modified version of this script written by JBQ.

Please do not copy this without attribution to this site and JBQ for the original script.

Project: platform/abi/cpp

eb789ea : Fix for issue 28721.

Project: platform/bionic

ec2ab73 : Minor tweak to get memory around corrupted heap chunks dumped.
b7630f0 : Use new debuggerd protocol.
e1dd3c2 : bionic: import heaptracker as chk_malloc
7d2e24e : bionic: introduce libc.debug.malloc.program
2481468 : Print the corrupted address passed to free().
c84ff11 : Print the corrupted address passed to free().
b23f193 : Ensure that the port number and TXID are properly randomized.
08e72d0 : bionic: add support for non-NEON memcpy() on NEON SoCs
08b51e2 : Implement the "abort" stub in assembly for ARM.
b091dd9 : libc: continue to use Android's custom linker script
ed87404 : Update f_accessory.h kernel header
94179a5 : linker: remove STB_LOCAL hack
baeacba : add linux/sw_sync.h
6b99103 : add linux/sync.h
4a9d6e5 : Fix segv when unwinding stack past __libc_init.
d515ce4 : Bionic: Fix wrong prototype of system call clock_nanosleep
41070dd : bionic: Fix wrong prototype of system call getresuid/getresgid
e5bf068 : bionic: fix NULL parameter failure in getcwd()
ee18fb4 : libstdc++: Fix x86 thread-safe one-time-construction implementation.
f0ec06b : Add faccessat to syscall list
e54cc75 : Update unistd.h for new syscalls
0613dce : regenerate linux/fb.h
1a78fbb : Initialize TLS before any application code is run.
470835b : Move end of __on_dlclose up
03273f8 : __on_dlclose should be aligned
ad7ff82 : Revert "linker: remove STB_LOCAL hack"
7f03d23 : Revert "linker: remove STB_LOCAL hack"
cd15bac : Fix segv when unwinding stack past __libc_init.
bd0383a : libm: fix invalid result of function remquo/remquof
61ff834 : linker: remove STB_LOCAL hack
0fdc190 : Update linux/input.h to version 3.4.
07a387e : libc/kernel: update cleaned v4l2 header
17ed54d : libc/kernel-headers: Auto generated files for netfilter/xt_IDLETIMER
8c4f3ce : linker: surround "debug_verbosity" by "#if LINKER_DEBUG"
3a7ea52 : linker: enable -fvisibility=hidden
8f78ddb : Update to tzdata2012c.
ddb2f13 : Revert "libc/kernel: Add rules to autogenerate device specific kernel headers"
82fa43f : [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/ script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.
faca92f : Handle pthread-related changes (mutex/atfork)
2ab5bfd : Add auto-generated headers for USB FunctionFS
126601d : Fixed to #include correct 32-bit headers; Refreshed libc/kernel headers
cb08204 : libc/x86: ensure the stack 16-byte aligned when tasks created
eaae810 : Initialize mspace->least_addr properly in the mmap path.
b8e1e96 : bionic: pass MADV_MERGEABLE on private & anonymous mmaps
2f33c5a : Update the libc kernel includes to support the newer mman for KSM support
d1860ad : fnmatch.c: Update to version in OpenBSD HEAD
a677907 : string.h: add __attribute__ ((pure)) to string functions
884147c : libc/kernel: Add rules to autogenerate device specific kernel headers
21eab51 : New additions/bug fixes required/found when porting perf.
d73b5ca : linker: fix off-by-one error in GNU_RELRO handling
34e89c2 : bionic: fix atfork hanlder_mutex deadlock
6625986 : linker: initially reserved memory as PROT_NONE
ad812ef : Add in auto-generated if_alg.h header
1a82369 : Update kernel headers and add syscall "perf_event_open"
06823da : Revert "am be741d47: am 2f460fbe: am 73b5cad9: Merge "bionic: Fix wrong kernel_id in pthread descriptor after fork()""
d8bc6e7 : bionic: Fix wrong kernel_id in pthread descriptor after fork()
c59ba45 : Use new binary code format
ca9a071 : Re-throw signals
654325d : Update bionic kernel headers using
4b29af0 : Revert "Update bionic kernel headers using"
06e1831 : Prevent potential stall on dns proxy operations.
3df3e67 : Log the thread id and name for fatal signals.
94a85f6 : Update bionic kernel headers using
9ec0f03 : Add relro support
fa3f72e : Revert "Reference __dso_handle in PIC way"
be101bf : Revert "Reference __dso_handle in PIC way"
93cb308 : Reference __dso_handle in PIC way
dd8e404 : Upgrade to tzdata2012b.
69ea1c0 : Upgrade to tzdata2011a.
53d161a : update stddef.h
9921947 : Eliminate duplicate constants
67e7a93 : Eliminate duplicate constants
ec37237 : update stddef.h
1fa7b45 : libm: cherry-pick one patch from freebsd to fix logb() denormals issue
93b8f94 : Revert "Use the new NativeDaemonConnector style."
906dbea : libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat
1fb6662 : Revert "Use the new NativeDaemonConnector style."
c5393b2 : bionic/x86: fix one potential deadlock in __set_tls()
f1a17e7 : libc: Add __aeabi_llsl and __aeabi_llsr to libgcc_compat
58b2c16 : Trivial fix in comment
e19d702 : Redesign dlopen() locks to be recursive per thread.
058d6d8 : Update bionic to know users and isolated uids for uid string representation.
b69060f : Clean up the remnants of SuperH support
f39a3fe : Allow C++ to call fdprintf
1625c7a : Use the new NativeDaemonConnector style.
177a770 : linker: fix x86 build
5fbf2e0 : libc: Define new symbol visibility macros
70b1668 : remove obsolete SuperH support
f5d1693 : Fix recursive ELF constructor check
e1414aa : libc: remove global lock from recursive mutex implementation.
1fc5176 : Log debuggerd connection failures
52764f5 : Increase the size of the system-wide dns cache
738b175 : Make sure __u64 is defined even for strict ansi or -std=c99
b57db75 : libc: Fix recursive mutex lock implementation.
bb44055 : Move variable declaration on its own line
861b42a : Use the AT_SECURE auxv flag to determine whether to enable secure mode.
3452e30 : Add new suspend-block input ioctls.
5eb686d : Add extended attribute (xattr) system call wrappers to bionic.
ea29cd5 : Eliminate duplicate copies of constants.
d6045cb : Don't generate sys/linux-unistd.h
b6f40f0 : update personality.h
87043f9 : res_send: Avoid spurious close()s and (rare) failure
28a7c35 : execvp: bcopy() is deprecated. Use memcpy() instead
c61f990 : Fix misspelled Python variable name and typos
208898e : libc: remove private declarations from <time.h> and <resolv.h>
11f3d5a : libc: Copy private C library declarations to private/
e83c56d : Execute .preinit_array before any shared object initialization functions.
e30e909 : sreadahead: adding readahead system call into bionic libc
a37f372 : readdir: fix interface to kernel getdents64 function
85aad90 : Add the posix_memalign(3) function to bionic
a5cb76b : libc: x86: Use SSE2 or SSSE3 optimized routines when possible.
7c0c379 : implement pthread mutex deadlock detection
af96d4d : x86: libc may use the gcc flags from
022d303 : libc: optimize pthread mutex lock/unlock operations (1/2)
6c6de44 : libc: optimize pthread_once() implementation.
7d03c9c : pathconf: dead loop in bionic function __2_symlinks
177ba8c : Prevent deadlock when using fork
e4a21c8 : signal: Align the sigset_t size passed to from user space to kernel.
cb1df91 : string: Fix wrong comparison semantics
253b763 : get rid of unused "main" function.
89d3fdc : MALLOC_DEBUG: enable the option libc.debug.malloc = 10
e480fc8 : bionic: fix pthread_{create, exit}/signal race condition
31e72bc : bionic: fix __get_tls( ) crash issue
897815a : bionic: add machine type check
495f16c : update capabilities.h
f1a39dc : libc: Fix typo that broke NDK compatibility.
ca6fe7b : Request both v4 and v6 dns when on secondary net
10c8ce5 : Add tgkill syscall.
5f64df4 : ASLR: enable pthread stack location randomization
0fec6b9 : libc: provide atomic operations will full barriers for NDK apps.
e31bfae : bionic: Do not use <sys/atomics.h> for platform code.
8180b08 : linker: Fix the computation of si->base
9831ad3 : libc: speed-up flockfile()/funlockfile()
9bf330b : libc: fix the pthread_sigmask implementation
468319c : Make the linker relocatable.
0aa8289 : generate PIC code.
7939908 : linker: set LOCAL_NO_CRT := true
8e8a7b1 : Revert "Make the linker relocatable."
994e9a5 : Make the linker relocatable.
f3dbdbe : Update to tzdata2011n.
bcb2eda : Update to tzdata2011m.
d9ad623 : Add linker support for PIE

Project: platform/bootable/bootloader/legacy

b1fde5c : Moves us from e=3 to e=65537

Project: platform/bootable/diskinstaller

d2a0ffa : vbox_x86 builds: force-set the vdi UUIDs
6d3fad1 : vbox_x86: use cache.img
e05d6d1 : vbox_x86: have separate system and data disks
f4190db : editdisklbl: remove stale include-file reference
bbed54b : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
6c9c90f : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
da8aa5f : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

Project: platform/bootable/recovery

69f4b67 : fix timed progress bars in recovery
e5d5ac7 : minor recovery changes
038818c : Update merge for SELinux to compile
6e960cd : Add NOTICE file
516e4e2 : Change the format command to always take the mount point as an argument.
779701d : Extend recovery and updater to support setting file security contexts.
acd73ed : fail edify script if set_perm() or symlink() fails
4870479 : run minadbd as shell user, remove unused code
098d1f6 : remove unused code from minadbd
703ed15 : run minadbd as shell user
35a35a6 : remove retouching code from updater
b07b293 : fix build
1c43c97 : fix failure to free memory
74a6279 : libz is a superset of libunz, so we don't need both.
1a11449 : Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.
48b5b07 : allow recovery UI to ignore certain keypresses
336a994 : allow recovery UI to ignore certain keypresses
e83b7cf : support "sideload over ADB" mode
6639248 : always initialize usb product, vendor, etc. for adb in recovery
9270a20 : support "sideload over ADB" mode
0a7b45a : recovery: convert all usages of $prop to ${prop}
e6ef63f : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
210f887 : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
adb5c2f : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
d9428e3 : mount cache before sideloading from external storage
32a0a47 : move key processing to RecoveryUI
d538eb7 : fix verifier test
a4e88e4 : move key processing to RecoveryUI
daefc1d : C++ class for device-specific code
bd8e7fb : verifier_test needs to provide a UI object
b88aea8 : temporarily remove verifier_test binary
211aebc : refactor ui functions into a class
7d0542f : C++ class for device-specific code
28ce47c : turn recovery into a C++ binary
7440630 : refactor ui functions into a class
10e418d : turn recovery into a C++ binary

Project: platform/build

39865ff : JRO03C
7f8c15f : JRO03B
b435a8c : 4.1.1
95497ec : JRO02D
b04e932 : JRO02C
4a3e68d : JRO02B
2513bf5 : JRO02
792ba3b : JRN90
e0e910e : JRN89B
f973ced : docs: better message for download page when os detection fails
bbd80f6 : JRN89
28fe266 : JRN88
810e288 : docs: fix overlapping sidebar bug, but I think this re-introduces a bug in IE where the sidenav position moves slightly left/right during scroll, but it's a worthwhile compromise and will investigate a diff solution for that later.
03c972c : docs: misc css
3ae5998 : JRN87
af1a370 : JRN84D
58cdcd1 : JRN84C
4b06007 : JRN84B
795683d : JRN86
16cd5c0 : JRN84
9ada226 : docs: darker font color
6a7a66b : docs: try darker text and shorter line height
d786a29 : docs: adjust homepage carousel styles
8a6fb02 : JRN83D
67cff69 : JRN83C
25659b0 : docs: update sdk template to support new ndk doc layout
db7d1d3 : JRN83B
412eaf2 : docs: style changes for notes
f9b799b : cherrypick from ics Change-Id: I07b59de3f2e4a5fef2e8722d7f7ab159ded8b2df return old analytics script
ba18963 : JRN83
e4d8f1b : Massive clobber of all template files in developer site for new design
fd6d004 : JRN82C
2afa4c5 : JRN82B
486d6e8 : JRN82
30ac57a : JRN81C
ff64a92 : JRN81B
5f42586 : JRN81
f4d15cf : JRN80C
fde5719 : JRN80B
03bb085 : Remove references to packages that don't exist any more.
ae25ec1 : More flexibility to keep/remove R.class in static Java library
cab8934 : JRN80
2f78c04 : JRN79C
5bd0baa : JRN79B
7be7b42 : JRN79
5b0b2a4 : JRN78B
87888c7 : JRN78
e770754 : add uiautomator into system image
583216a : JRN77
43ca4a4 : Remove the user tag and legacy prebuilts for the srec modules.
175026a : JRN75E
fe79d01 : JRN75D
ccfa22e : JRN75C
43843b6 : JRN75B
74aba61 : Allow additional vendors
91f3d74 : JRN75
291b58d : JRN74C
0445111 : JRN74B
d3acbf2 : JRN74
11ee14d : JRN73
9657c61 : JRN72D
3b123c0 : JRN72C
2715ac8 : JRN72B
fc57a28 : JRN72
18cb32b : JRN69D
a9efae3 : Add atrace to
13a099d : JRN69C
7765a8a : JRN69B
a63502c : JRN69
1f61e09 : JRN68B
efe02ce : add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK
adca40c : JRN68
04e7264 : JRN67D
099f4ae : JRN67C
fd9f8bc : add for common configurations for mini products
84f4b69 : JRN67B
989d99a : JRN67
0296c83 : JRN66C
9715049 : Add LegacyCamera to SDK product
c5c3c70 : JRN66B
90beb4f : Add some known binary owners
66b114d : JRN66
71004f8 : Clean common intermediate files if overlay changed
2c6cb07 : JRN65B
a1fe1ab : JRN65
81ae93a : JRN64
28a1817 : Don't use .. to reference the target file.
e7af5e2 : Add Live Wallpapers to AOSP builds
1fb843b : JRN61B
689f117 : Fix rild running in Nakasi.
1544817 : JRN61
e581d86 : change location of apns-conf.xml and vold.conf
c41c5f4 : add add-to-product-copy-files-if-exists for pdk
23398c8 : JRN60B
01efddb : Make make make faster.
1347ee6 : JRN60
70efb21 : JRN59D
0dcdc13 : JRN59C
3e93aea : add from platform-java to dist
d9a65fd : JRN59B
82eb708 : Fix typo.
2e05f1d : JRN59
f26c49d : JRN54F
117bfe3 : JRN54E
d8de82f : ignore touch error happening from broken symbolic link
98d83b5 : JRN54D
fc3b84a : JRN54C
567b3e4 : JRN54B
816b9fd : enable PDK to use platform JAVA API
ea1d824 : JRN54
8e3b307 : JRN53E
7eb5051 : JRN53D
8ad9c19 : JRN53C
1bdbe64 : JRN53B
3fbe1e2 : JRN53
9ccacd7 : Set PWD to the absolute path of the top tree.
cbd9e14 : JRN52B
4689e01 : JRN52
f39a761 : JRN51C
166a113 : JRN51B
1a59d4c : JRN51
3838dba : JRN50
9690bf6 : JRN47E
e8a9636 : JRN49
a744652 : JRN47E
f7eace6 : JRN47D
06fc824 : JRN48
783908c : JRN47C
159b9d4 : JRN47B
81b2eb3 : JRN47
167cbb0 : force version reset
6631b29 : JRN47
8246871 : JRN46D
4ab2f9c : JRN46C
838ebb2 : JRN46B
ad13a75 : JRN46
4007faf : Remove dependency of on static libs from video editor engine
129c58f : JRN45B
c8bfb1c : Revert "Remove dependency of on static libs from video editor engine" Fixed the broken build first.
6e371e4 : Don't set or reference LOCAL_MODULE_PATH for uninstallable modules.
95d04d0 : JRN45
e85f05b : Remove dependency of on static libs from video editor engine
267de65 : JRN44C
5b2c7ae : JRN44B
3ceecfa : Check the well-formedness of an xml file before copying.
fe61a0b : JRN44
917fc02 : JRN40I
b705c02 : JRN40H take three
32f2436 : JRN40H take two
99956ed : JRN40H
3dbf4c9 : JRN40G
e2bcb9e : JRN40F
17f197f : JRN41
7bb0423 : add copy of public cert used for signing to OTA packages
3742983 : JellyBean is now 4.1.
a6862ca : JRN40E
a1ff629 : Now current is also a valid prebuilt SDK.
0ec188f : Support to build against prebuilt current SDK in unbundled branch
9e8f70a : JRN40D
b9c3d8a : JRN40C
668a29b : JRN40B
9eb5173 : JRN40
780c36e : JRN39D
b8bc852 : Add OMX IL FLAC encoder library
20e6e85 : JRN39C
ecb1a56 : x86: compile everything with relro / bind_now
125f01f : JRN39B
4f48867 : JRN39
7e48e40 : Add LLVM_AS to tools.
675b0eb : JRN38B
c5fc790 : Parse external/cibu-fonts/
d9a9bde : JRN38
b2d9268 : Add keyboard layout package to build.
9264e4a : The 'localize' tool is dead.
d3763c4 : Make audio downmixer part of the core platform
222237b : JRN37B
667aa33 : JRN37
4348eb5 : JRN36B
3d86eb1 : JRN36
7a54af9 : JRN34B
e396df8 : Fix the build. Exchange -> Exchange2
876ce3a : JRN34
89898df : Track libnativehelper move for PDK.
f822f5e : JRN33F
b985e69 : JRN33E
fffe1d5 : use the file uid/gid/mode saved in the target_files
12b152b : JRN33D
8867a14 : JRN33C
b0a58da : JRN33B
48469a6 : JRN33
218fe74 : JRN32D
2afad40 : JRN32C
5ff168f : JRN32B
39bf18f : JRN32
af9bd9c : JRN31B
8600994 : JRN31
9a6c8c2 : JRN30C
000e89a : Strengthen dependencies on LOCAL_REQUIRED_MODULES
6d558a5 : JRN30B
dfb1b67 : JRN30
8b033d4 : 26D take two
412d8d2 : JRN26D
0987f03 : Add Development/scripts to path.
86f90ef : JRN26C
f8dc89b : Use split-long-arguments to touch pdk files
b8d2d71 : JRN26B
83dbd2f : Option to keep the generated R class in static Java libarry
233d460 : ARM: compile everything with relro / bind_now.
8ea01b7 : JRN26
a69e619 : Build by default
9a9400b : JRN25B
4c24d41 : JRN25
64f642d : Fix pdk build.
3ec1f68 : JRN24B
d517795 : Build libstagefright_soft_h264enc by default
2bea2e6 : Set timestamps of files from to current time
58228e2 : JRN24
68f1c77 : Make export_includes depend on the module's definition makefile.
e1a42cc : Whitelist audience
7151e9d : JRN23B
7b0946d : JRN23
4e82d1f : On linux, always use the prebuilt host toolchain
ebb351e : enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build
b9566c0 : Revert "enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK"
a50ef1c : Switch to new locations of toolchains
4e960a3 : JRN19F
74bc051 : Move pdk fusion file under vendor/pdk
f66f347 : Split target/product/ into sdk.git
b132a54 : JRN19E
6b719da : docs: update sidenav-width-adjust script so Training classes save the width for the Resources section
9283168 : enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK
c856e31 : Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields.
422a365 : Fix build problems with gcc-4.6.x.
ecd054c : Add goldfish audio hw to board/generic_x86
6e417bc : JRN19D
76b0139 : docs: update doc template to make the Resources side nav wider (+40px)
5ededc0 : JRN19C
48ccb18 : JRN19B
5d4bcb4 : Use an https URL
aad195e : vbox_x86: add a 256M ext4 cache partition
c312f31 : build: separate dist tools and ota tools
4049130 : build: remove unused ota tools
7826101 : enable recovery img build for PDK
7c6f117 : JRN19
21adee0 : Move pdk fusion file under vendor/pdk
616e596 : Write out export_includes whenever the module is built.
0c50c08 : JRN18C
c32af65 : Revert "Write out export_includes whenever the module is built."
40c34f3 : Write out export_includes whenever the module is built.
685df30 : JRN18B
0703b96 : JRN18
08f5e9a : Add back ARM_EABI_TOOLCHAIN.
49e213e : JRN17B
b2d24a5 : JRN17
1e420b6 : Add smoke tests to sdk build.
1cb4fa6 : JRN16C
600bd23 : JRN16B
dc790b0 : Default ro.carrier to unknown
4f613f8 : JRN16
55f3f85 : Fix problem with audio policy configuration file.
a6b2505 : JRN12D
1c9ee24 : JRN12C
dbff3f5 : Whitelist widevine
6577da0 : JRN12B
6c70362 : Allow packages to place manifest files in any directory
843bc2c : Add MDNS to the build.
dc8f8e4 : Merge event-log-tags from with local *.logtags
2dbae81 : JRN12
477e189 : JRN11B
a0d8a6a : Add rule for init.usb.rc
40937f0 : JRN11
d0c6327 : Fix audio broken for sdk builds.
7a2664d : JRN10C
303d876 : Revert "ARM: compile everything with relro / bind_now."
b3789be : Revert "ARM: compile everything with relro / bind_now."
b3700ab : Merge "SDK: Also read sdk/build/tools.OS.atree"
50e91ab : JRN10B
7d0ede7 : Update gdbclient for x86 target
4534d81 : Merge the NOTICE files when doing pdk fusion build.
64cd96c : Bump DX Java heap to 2GB.
2aa9536 : JRN10
f50f4c5 : More Clang tweaks to the build system.
df2056e : fix broken OTAs; format() is called with wrong # of args
c4625ab : Fix deps for notice generation.
020e491 : ARM: compile everything with relro / bind_now.
f5fe0d4 : JRN09
1bf173c : JRN05E
b9c8be9 : JRN05D
090b8d7 : JRN05C
56882bf : Support the setting of file security contexts in OTA and update packages.
5042392 : Pass the file_contexts configuration to mkyaffs2image and make_ext4fs.
277e68b : init.vbox_x86.rc: mount data & cache partitions from /dev/sdb
df49771 : Allow factory specific kernel commandline
11d3c44 : Add new camera system include path to pathmap.
7ade79a : JRN05B take two
2ec9320 : JRN05B
a2209e2 : JRN05
48dfc6f : JRN04C
8cf1c22 : JRN04B
ce7d34c : vbox_x86: update init.vbox_x86.rc, remove custom init.rc
7d3c9c9 : JRN04
b520df4 : target/product: have the sdk product pull in the apns
cc6766f : added audio_policy.conf file
edd5f70 : JRN03C
fde6632 : JRN03B
1048bd3 : docs: revert the change that made "new" tags stick on the first line and thus allow them to wrap.
8245810 : Revert "Update versions of the Eclipse prebuilt libraries"
6cc9c06 : Add support for building with AddressSanitizer.
a7095e9 : Include Clang headers from ".../include" directory.
ed26485 : JRN03
3f45b3c : Support to run DroidDoc in unbundled builds.
30960a2 : JRN02D
2109487 : Changes to C++ protocol buffer compilation.
5a101e7 : JRN02
9ad36ef : Remove base_intermediates from LOCAL_C_INCLUDES
82b836f : Support to build pdk and pdk fusion.
fb7d523 : JRM89D
4c289e5 : Generate for build goal "platform".
f5a97d7 : Moving notice file generation to a python script (it was getting fairly complicated in bash), update HTML output to have a table of contents, and fix typos/bugs in notice file CSS
06e758a : config: add documentation for managing kernel-headers
8e4042c : Revert "core: the device/board/product kernel headers will be auto-generated"
10a1e47 : JRM89C
f5172c7 : Switch default gcc toolchain from 4.4.3 to 4.6.
a996e0b : JRM89B
971c246 : Remove some dist targets from PDK builds
5eed15e : docs: Android Design: v3 update (CSS changes)
51cf729 : Include new raw audio decoder.
405acb8 : JRM89
3a7ede2 : install drm libraries and drmserver to the core product, which covers sdk build
0f22e8c : JRM88B
b877542 : don't build apicheck for PDK builds, removing dependency on doclava
0b7d3d6 : Moving libRS
bbd4998 : Add samsung_arm as an owner
b4e05b6 : JRM88
8f4c311 : telephony: remove default apns_conf.xml
3d0743f : JRM87B
4c45699 : Allow make 3.82 to be used under Cygwin 1.7
fe97fe9 : Multi-Project Commit: Move of filterfw out of system/media (3 of 7)
f396f56 : Fix build
10e0b15 : JRM87
d905491 : mv wilhelm
97e023c : move hardware feature definitions
33666ad : docs: re-add android design icon, which had been removed from original location
4fb621d : JRM86B
9bf081e : Add hardware API libs and SSL engines to gdb path
546e26f : JRM86
55daae9 : Skip host system directories in Clang include path.
e7b0dbb : audio configuration file path change because it is relocated
c49ee71 : Added /frameworks/av/include to the default include search path
7a59605 : Introduce TARGET_BUILD_PDK for selecting build tweaks for the PDK
ee6bddc : move ndk headers to frameworks/native
8f8f0d4 : Add build.prop to factory ramdisk
a3f122a : Fix build: Revert "SDK: Enable monitor in sdk product."
62304f1 : Make sure compiler flags also pick up correct toolchain.
f0813c2 : Fix missing xml configuration files for sdk builds
0bf8073 : build: move Zip* from libandroidfw to libutils
aef279d : JRM81C
dfbe79b : Don't expose the compiler dependency.
2245d17 : Point to new linux prebuilt toolchain for SDK build
b71e2df : Add LOCAL_CLANG variable to switch C/C++ build environment to Clang.
74160ed : SDK atree: support HOST_OUT location.
0022a03 : SDK: Enable monitor in sdk product.
da11f87 : JRM81B
d14d3b4 : Add a comment about publishing licenses for third-party code
8f3670b : fix build: make okay with no args
9296f09 : optional cross-check between OTA radio images and board-info.txt
d27e4f8 : JRM81
347e812 : JRM79C
7022c52 : JRM79C
e28ec41 : JRM79B
94c8504 : Update versions of the Eclipse prebuilt libraries
962b13d : JRM80
1319005 : Define a basic llvm-link + clang environment
e25a519 : Added media_codecs.xml file to generic_x86 and vbox_x86 configuration files
992a529 : core: the device/board/product kernel headers will be auto-generated
f926990 : core: allow product to provide kernel headers as well
9101918 : JRM79
15deb24 : JRM75F
3316544 : Revert "Swicth to toolchain gcc-4.6"
1d737c5 : JRM75E
e5129bd : Swicth to toolchain gcc-4.6
e3e4b7a : JRM75D
f2a98a3 : Revert "Swicth to toolchain gcc-4.6"
c914cc9 : Swicth to toolchain gcc-4.6
9b9d3d9 : JRM75C
0bc277c : JRM75B
4e16f96 : core: allow devices to provide their own device specific kernel headers
9ec15ec : rename pdk builds: pdk1 to pdk_eng, pdk2 to pdk_rel
9ea6952 : Move keystore from user_tags to core req
62fbd8b : JRM75
fefc17f : Use for system/media includes
6577f6f : JRM74
bf69aa3 : Fix tests build.
160b670 : Add build goal "tests".
aaf01f4 : Make adbs work again on Darwin x86.
02b59ac : JRM73C
468e449 : JRM73B
c5f0497 : Remove system partition files from the test zip file.
8fd1541 : Make sure to copy codec setup files to their proper filesystem location on the emulator
c778fda : JRM73
0e63fd3 : Point to new linux prebuilt toolchain for SDK build
49932f1 : Adding clean variables for some variables used in CTS.
c178ea6 : JRM72B
519316e : Fix build caused by 168380
7fc7aad : changes to add pdk1 / pdk2 build for PDK build - additional files will be added to pdk/build Bug: 6079146
ad0f850 : JRM72
43ba688 : Include the downmix effect in the platform
178a4a6 : JRM68D
b0ff345 : JRM68C
8c61c32 : JRM68B
086b11c : JRM68
a125a3b : Remove Camera package (it's merged into Gallery package).
1a5fc95 : Rename help function in to be hmm
5a4eb5f : Update llvm-rs-cc build to use unified headers in all cases.
b2fbb38 : JRM67B
975599a : JRM67
e204523 : JRM66
fb956ef : update include paths to new location
bd118e6 : add frameworks/native include paths
cdcea7a : add a name for opengl tests include paths
266ac7f : JRM65C
b9aa8d8 : JRM65B
082aa25 : JRM65
7314933 : Include CTS Build Rules
3ab307a : SDK: Also read sdk/build/tools.OS.atree
e1a5c43 : JRM61C
dfb025a : JRM61B
0090b0b : JRM61
13dff61 : JRM60B
495e585 : Revert "Remove unused notice_files target"
620a527 : Remove unused notice_files target
e1778dc : JRM60
1807e70 : don't generate retouch commands in OTA scripts
ed6b815 : BUILD_HOST_64bit=1 to build host tools in 64-bit
55fe8ee : JRM59
9849041 : JRM58B
276053b : Use %zd instead of %d for variables of type ssize_t
a06a560 : JRM58
e4425ad : JRM53D
7bed58d : JRM53C
acf01ec : Issue warning when "make snod" with dexpreopt enabled.
92ca609 : Fix bug with the HOST_AR.
852575c : JRM54
e69fbdf : JRM53B
756b530 : JRM53
0f9aec8 : releasetools: Fix image size checking
87f4d5a : Enable TLS register by default for ARMv7a arch
ed3550c : JRM52
9f763be : frameworks/base refactoring
6125b52 : JRM51
6b0a355 : frameworks/base refactoring: build fix
548f646 : build: goldfish: add emulator Power HAL
1d27da7 : Attempt to fix the emulator.
66ec6c8 : build: Add default/legacy Power HAL
7295780 : Add the default local_time HAL to the base product.
013a18d : JRM47
9986e1a : Remove simg2img from
6056432 : Move AOSP to another fake version number
fe8d791 : JRM46
d9fc5d6 : Remove generic_armv5 board config and product.
eaa3ba4 : Make sure the emulator system image define the features it supports.
c04b56c : Merge "Move Windows SDK whitelist out of"
ca85b44 : JRM45
f84ed93 : JRM44
67772b8 : Linker script support for constructor priorities.
34eddf6 : JRM40
cd2150b : JRM39B
33f2dd8 : JRM39
b9d5682 : Adding shell commands for manipulating content via content providers.
5f1c9ba : Add extra environment info to build output
49214a2 : JRM38
b7fc154 : Add gcc_demangle to BUILD_TINY_ANDROID projects
80af599 : JRM37
77816b8 : Add lint to all builds.
d79f950 : Add annotations to the sdk build.
c3e73d3 : JRM33
df6a14f : Add requestsync package
5dea692 : Use @rpath and @loader_path to avoid absolute path
d8b5bb3 : Include the amr wb encoder shared library in all builds.
80469e4 : Delete unused var.
715686d : Include the amr encoder shared library in all builds.
8d71d6c : JRM32
b4c2a64 : Set install name with absolute path for Mac host shared libraries.
68eb22a : JRM31
756eda8 : Add build.prop to factory ramdisk
29b3afa : Increase java heap size.
7a93b48 : Added libstagefright_soft_aacenc to all builds of all products
707328a : Build should fail if any proto file fails compiling
3228210 : JRM30
160711d : Add missing tools jar to the sdk product modules.
65f706a : Add annotations to the sdk build.
5c97da7 : Fix for "dexopt: No such file or directory" error
347f305 : Move Windows SDK whitelist out of
7daf30d : JRM26
1e1c4d7 : JRM25B
6bdc7a8 : JRM25
4bd8ead : You know back when I said this thing about Ice Cream Sandwich MR2?
d25045b : reset version to jb value
512ce9c : You know back when I said this thing about Ice Cream Sandwich MR2?
4a9580a : IRM25
d146e49 : IRM24
c3dbeb5 : Remove non-existent AlarmProvider to fix SDK build.
10622d0 : IRM23
fcf246c : Workaround for lack of "-Wl,--whole-archive" in MacOS's linker.
545b799 : prefer an explicitly-set TARGET_BOARD_INFO_FILE
20694df : IRM19
91332cb : IRM18
e5ff590 : add device-specific hooks at start of OTA phases
16209aa : IRM17
81b4e62 : IRM12
1022e27 : Fix build warning
4b5e4ba : Remove mention of layoutopt/uix as they are gone.
e6f127d : IRM11
d75dbec : Revert "Reference new location of SDK toolchain"
cb8f663 : Revert "Point arm toolchain to the new gcc-4.6 one."
8e0f712 : Add a module_path_check for vendor files
c726b8e : IRM10
1b834c6 : Reference new location of SDK toolchain
ea91f0a : Reference x86 toolchain in its new location
71b5cc1 : Reference the new prebuilt ccache location.
9a11ad5 : IRM09
ca1df5a : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
5ea72ef : Use the new location of the emulator kernel
a230c4d : Reference kernel notice in the new location
1f87795 : Point arm toolchain to the new gcc-4.6 one.
c7a10dd : Include toolchain makefile based on the current config.
c0a6924 : Avoid Rebuilding Core and VMTest Descriptions
c0b74df : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
3203891 : Add hm/hmm/hmmm command.
fdf014d : IRM05
80cfc37 : Partial fix for emulator under Lion.
934443b : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
d21af13 : IRM04
15fab1a : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
7d2ba7c : Add default kernel and base for factory ramdisk.
13f4853 : IRM03
83785c7 : IRM02
5a46406 : IRL90
89fbc54 : Add CSR to the list of known vendors
c0328b4 : IRL89
204c2b4 : IRL88
8f4ff3f : IRL87
29b6918 : Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES
a66c512 : Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES
d38c870 : Get build system to work with Make 3.82
d7a1a9b : Get build system to work with Make 3.82
e91918b : IRL83
4c54b9f : We should include factory ramdisk if one shot makefile is NOT defined.
14eeea6 : We should include factory ramdisk if one shot makefile is NOT defined.
9f0e3c9 : Disable factory ramdisk if build with mm/mmm
9d5e83d : Disable factory ramdisk if build with mm/mmm
931a099 : Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES
9ce06f1 : Don't run ranlib on MacOS 10.7
c16dbcd : Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES
60fe963 : build: explicitly define dependency files
93a3241 : IRL82
0d75a0a : Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES
fc444cf : Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES
61db865 : IRL81
76bf62d : Allow make 3.82 to be used under Cygwin 1.7
0ae6d29 : Add 2 SDK directories that can build under Cygwin/Mingw
b056d71 : If setupwizard is disabled, don't force it to optional
c23c446 : IRL80
d1ee208 : Add libaudioutils
8968653 : Support to build factory ramdisk image.
5fc0057 : Stop Building CTS VM Tests
193010c : Print out ignored PRODUCT_COPY_FILES
0a099d9 : Support to build factory ramdisk image.
5758b8e : Remove the R/Manifest classes when building the static Java library
bf6c611 : Don't remove R class to fix the build.
a8c9594 : Unset HAVE_TLS_REGISTER for ARMv5
d497a1d : Add several module owners to the whitelist
a176f57 : IRL76
20e2083 : Support to build static Java library with Android resource
6371da1 : x86: Refine the way we configure the x86 build.
411616e : IRL75
e6b969f : Add boot property enabling ADBD over QEMU
6da9ef6 : Make create its output directory if it does not exist.
f5e9037 : IRL74
e109a1d : Allow to build Java module from mere static Java libraries.
a2c1261 : Set version numbers for AOSP - do not merge
dbb31be : Restrict vendor modules to help AOSP product distribution.
fd626f2 : Collect the GPL source files.
3a32946 : IRL73
3343b27 : x86: The default ATOM BSP flags need to be in sync with the NDK ABI
ab4fbff : Use ARM TLS register for emulator
f849c99 : IRL69
914f7a2 : Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
b5542d3 : IRL68
8af0efd : Improve handling of absolute paths in out directory
ffe03c9 : Set OUT_DIR based on a common base path
4f2d7de : IRL67
59075b8 : Make asm-3.1 an optional module, remove from grandfathered list
9bd0f4a : IRL66
0276d18 : check entire recovery partition on startup
99bcbeb : Print more info of the image size stats.
80866c9 : IRL62
68895a9 : Add support for building specific modules with mmm using the following syntax: Build all modules: mmm dir Build a single module: mmm dir:module Build multiple modules: mmm dir:module1,module2 Or in other words:
4ca3807 : IRL61
37db6cf : English must be the first language specified
b50bd7f : Move the prebuilt NDKs to their own git project prebuilts/ndk/.
9978faf : Move prebuilt SDKs to their own git project.
1b174cd : IRL60
dc2450c : Build fix - include sdk/lint in build.
057fde1 : Point OPROFILE_EVENTS_DIR to oprofile dir in source tree.
254ca70 : IRL59
d2cbcb4 : Restore AOSP-specific pseudo-version-numbers.
293f939 : Bypass alias for grep in the tapas command.
7bf82e0 : Workaround for a gcc-4.6 bug on -fstrict-volatile-bitfields.
5f07480 : Build system support to export include paths
8325af0 : IRL48
c486967 : Remove BUILT_TESTS_ZIP_PACKAGE's dependency on the image files
c6e952f : Don't build userdata.img for tests build.
c4a32d1 : IRL47
2a53317 : SDK: pass $HOST_OUT variable to atree.
79a7a26 : IRL46
0fb3e79 : IRL45
5a967ac : IRL44
f9b556c : Add a hash-bang as the first line of a shell script
0ab21d3 : make gdbclient work on x86
6e4e1bb : Dev branch for ICS MR2.
9f8e8db : Build cache.img on demand
cb48497 : HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE
e915ab4 : Place linker arguments after objects for gcc
d9e7d25 : Place linker arguments after objects for gcc
598288e : IRL41
1bc444e : IRL40
aaea5c1 : IRL39
653a7e7 : IRL38
cf191b7 : IRL37
d9d2e7a : x86: enable PIE for dynamically linked executables
e030aac : IRL34
d4495e9 : Allow to set ANDROID_BUILDSPEC as path of
ad2c1b4 : Allow to set ANDROID_BUILDSPEC as path of
c0debb9 : Revert "Build cache.img."
12d232a : IRL33
4185447 : stop using a custom linker script for static executables.
531bdb5 : Build cache.img.
aaa0840 : IRL32
178ef92 : Fix build.
bd93d42 : Unify the user image building code
be60152 : IRL31
c72b140 : Add a tool to let you enforce layering between packages in a java module.
478012e : IRL30
2b6aaa3 : Add TARGET_COPY_OUT_* variables.
2d50524 : Allow overriding subdirs via make variable TARGET_SUBDIRS
a09c24d : Add the default local_time hal implementation to builds.
090d360 : IRL27
5a86600 : Remove last reference to layoutopt.
3282e9b : Remove references to layoutopt from the build.
65216a2 : Revert "Remove layoutopt; replaced by the more generic "lint" tool."
7a23d45 : Remove layoutopt; replaced by the more generic "lint" tool.
c37f082 : IRL26
2da72c6 : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE
489b6f1 : IRL25
04b4701 : IRL24B
026a85b : enable PIE for dynamically linked executables
59d2966 : HOST_linux-x86: Avoid doubly define macro _FORTIFY_SOURCE
2b40757 : Fix build problems with gcc-4.6.x.
b55a633 : Allow overriding subdirs via make variable TARGET_SUBDIRS
2e3ae1b : Add the default local_time hal implementation to builds.

Project: platform/cts

34e8c0f : fix ValueAnimatorTest.testGetAnimatedFraction
9085d9c : fix ContextWrapperTest#testSendOrderedBroadcast1
8f6e76b : add debugging message to fix MediaRecorderTest.testOnErrorListener
4ceaa3c : reduce possible delay from 1 to 6 secs to 1 to 2.5 secs
dd778ec : More threading issues fixed in audio effect tests
32788fc : fix android.text.format.cts.TimeTest#testSetToNow0
cd5fd05 : fix wrong time comparison
f3d6f5c : add missing assets for StreamingMediaPlayerTest
904d406 : Fix AudioEffect.test4_3EnableStatusListener()
260e3ab : fix missing rename from cts.stub to
ab4c456 : AudioManagerTest: fix testVolume.
7751e0f : Fix pattern issue in MonkeyTest
e351eb0 : move activities for media to media package
6798264 : Fix window focus change timing issue
d3e9461 : Improvements for IntentServiceTest
0973bb5 : Fix ValueAnimatorTest#testCancel
f4409dc : Add wifi & p2p Concurrency test
a678d61 : Fix WifiInfoTest flakiness
0756bbb : work-around AudioTrack bug
15fc136 : Add some error messages to ValueAnimatorTest
98a2e57 : Fix more SlidingDrawer flakiness
fda4cc8 : merge AOSP changes: media and graphics
5d04ecb : testAllFilesInSysAreNotWritable: Add trace_marker exception
1562ac6 : fix MediaRecorderTest.testOnErrorListener step 2.
00e35e7 : DO NOT MERGE Update Test Expectations
dca99e6 : DO NOT MERGE Update Test Expectations
cf2171c : Fix SlidingDrawerTest flakiness
c5e6546 : trial fix for MediaRecorderTest.testOnErrorListener
04d1280 : Fix TextViewTest#testIsInputMethodTarget
67f748f : fix wrong override
6a16e58 : Disabled broken tests in StaticLayoutLineBreakingTest
2504acc : Remove setMaximumTimeToLock Test
a0ebda8 : DO NOT MERGE merge mediastress from master: skip test code
2c6d380 : merge from ICS
0f6a860 : DO NOT MERGE Fix flakiness in WebChromeClientTest#testWindows
8afc998 : New StaticLayout line break tests
4be56f8 : DO NOT MERGE Close hole in synchronize-protected member variable.
da429d7 : Remove CTS Verifier welcome screen
cf1d115 : Revert "Fix AudioManager.testRouting()."
8819e08 : updating faces.jpg again
395214c : More wifi direct CTS tests
37bf373 : fix flaky opengl test
e217625 : Increase timeout for IntentServiceTest
4c9583c : FileSystemPermissionTest: add /data/data/com.redbend.vdmc/lib
2a1e521 : fix AudioTrack testPlaybackHeadPositionAfterStop()
fa99801 : fix wekelock issue
523f646 : Enable AccessibilityService tests
d1e1b18 : Updated Holo ProgressBar Test Assets
815af42 : Remove CtsRootDeviceSetup accessibility steps
062adbb : DO NOT MERGE Update Test Expectations
d6898df : replace face detection image with better quality one
88274df : Remove bad assert from a test.
09fa236 : Flip condition in ApacheHttpClientTest
84d1b98 : Check if accessibility is enabled in test
5c20d13 : Disable AccessibilityService tests temporarily
0d47218 : Increase time out for CTS
8d4e9ad : Increase Bluetooth test timeout
1d89002 : Poll for isTouchExplorationEnabled
f721464 : Increase CTS test recents panel timeout
511f187 : Increase Holo long timeout to 6 seconds
3b5d4ff : Fixing a regression in the CTS tests due to a framework change.
537e918 : chage activity to handle layout change
3cce4c8 : DO NOT MERGE Update Test Expectations
cff25f5 : Update Holo CTS calendar assets
e5a2b4d : Camera: Add cancelAutofocus test case.
0aec054 : Improve ValueAnimatorTest Reliability
20cd621 : Fix AnimationTest#testSetAnimationListener
b4bca5b : Remove flakey ObjectAnimatorTest
7ec2c07 : AccessibilityEndToEndTest#testTypeViewFocusedAccessibilityEvent fails.
6f1d52d : Improve OpenGL test reliability
ba43cd2 : DO NOT MERGE Update Test Expectations
c2f6fd7 : Fix Holo CalendarView (Feb) Assets
ea73a85 : DO NOT MERGE Add libcore test expectations
ab362eb : Fix PermissionInfoTest#testPermissionInfo
f6328f6 : DO NOT MERGE Set CTS and CtsVerifier to 4.1_r1
5b7fa18 : Rewrite VelocityTracker tests.
64e22d7 : Fix AudioManager.testRouting().
b209dd7 : Fix copy/paste error
1ca738e : Release MediaFrameworkTest wakelock in onPause
bdc0b2c : Fix BasicAdapterTest flakiness
1bde4c6 : temporarily nuke RTSP tests until fixed DO NOT MERGE
1ea506e : Remove flaky GestureDetectorTest
82b8e07 : Try to improve ViewTest#testInputMethodConnection
25b8034 : Retry flaky tests
8354f8d : Increase MediaScanner test timeouts
60a2044 : DO NOT MERGE Add shader tests to known failures
7fa4f52 : JB Holo Assets
dadf5cf : Updating the behaviour of accessibility text iterators - CTS
ff0de96 : Add camera autofocus move callback CTS.
cae69bb : Add a camera face detection test.
59069a7 : New CTS tests for unstable content provider references.
becf878 : Test case sensitivity behavior
2a58af7 : Fix ViewTest#testWindowFocusChanged
3960f94 : Add media provider/scanner tests
d9b9ff2 : Fix InputMethodManagerTest flakiness
235639c : FileSystemPermissionTest: add /data/install
008ffcf : add playback THD / spectrum tests
e7afa6d : Fixing the other half of the accessibility CTS tests.
6a3ac6d : Fixing the accessibility CTS tests.
4810641 : Add tests for frame callbacks.
af28273 : Fix ViewDebug tests
2a44d12 : change Gl error code checked
1dd1c68 : DO NOT MERGE Disable webkitsecurity package
e081aa8 : Force the favicon to be loaded before testing getLastRequestUrl().
d096bce : Fix testGetCurrentItem by fixing setUp and tearDown methods.
31ea7e1 : Improve GPS test.
319bfa1 : Fix NPE in android.webkit.cts.WebViewTest#testSetScrollBarStyle
49d5fd9 : Discount previous title when checking newly-loaded title.
c14b13c : Fix time-out in testOnFormResubmission
ce3e6c2 : Adding a CTS test for the new global accessibility action.
813da65 : change debugging message to print mode
1fe0897 : Add CTS Verifier test for GPS.
1ff1e29 : Fixing the build.
f00f897 : change THD pass criteria to be in line with CDD
1ffdbd3 : Fix AudioManager tests.
38983bf : Fix BuildVersionTest#testReleaseVersion
cf00930 : Improve spectrum testing for recording
3e031d9 : CtsTestServer: Don't always use one port
5eba08f : cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone. - build is enabled only for linux host except the client code
34d6427 : Revert "cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recordi"
fa0420d : KernelSettingsTest: make sure suid_dumpable is 0
9236145 : Disable Keyguard in OpenGL Tests
4bbb5d7 : cts_audio work: initial code - volume calibration and THD test case work tuned. - 59 unit tests pass - local audio playback / recording works : uses tinyalsa - host to device ptorocol in host side implemented / tested (with loopback) - device side recording / playback works for test cases / test_io.xml - python processing baseline added. - spectrum algorithm implementated: calculate Transfer Function of device over host and check if amplitudes are within margain. Needs parameter tuning - spectrum test needs some improvements due to the non-flat response from ref microphone.
edae19a : Test clamp in CTS (full and relaxed precision).
c3fe017 : BannedFilesTest: Add "sync_agent"
0b4aba1 : Track rename of Uri.normalize() to Uri.normalizeScheme().
67fbdc4 : Fix DateUtilsTest#testFormatMethods
4a76540 : CertificateTest Update
64baab3 : Fix AssetFileDescriptorTest#testMiscMethod
40d5b6e : DO NOT MERGE Fix NDEF testcase.
fabfb51 : Adding a missing change to fix the build.
2f2ac94 : Fix CTS test for updated API
a133c6c : DO NOT MERGE Some Holo Test Improvements
75e1987 : Fix AudioManagerTest.testVolume()
a76e8dc : Now that MediaCodec marks buffers as having host endianness remove obsolete code.
7dddfd1 : Fix bug #6293659 android.view.cts.ViewGroupTest#testSetPadding fails - DO NOT MERGE
d4c3a6d : Fix ContentWrapperTest#testAccessDatabase
252c1be : Make Baboons Extend Monkeys
bc1e126 : MediaCodec now submits codec specific data automatically
1599c8d : FileSystemPermissionTest: add more dirs.
6ce2ef1 : Fixing a falure in AccessibilityFocusAndInputFocusSyncTest.
0a7facc : Updated accessibility node info tests due to newly added members.
362948e : Move CancellationSignal to android.os package.
b5a88dd : Tests for READ_EXTERNAL permission.
b56d30c : Fix WebHistoryItemTest
53f88f9 : check for presence of camera before testing
f34f06e : Fix AnimationTest#testRunAccelerateAlpha
2ebcb4f : Get rid of zergrush reflection test
0fd4b3a : Text traversal at various granularities.
c420132 : Fixing the build.
f5efdc3 : Fix Flakey Widget Tests
35eeb19 : DO NOT MERGE Fix AutoCompleteTextViewTest Flakiness
e2fbd91 : Fix Flakey View Tests
8b12675 : API REVIEW: android.view.accessibility
5d871c9 : Fix path-permission tests.
b4762a3 : Fix EXCLUSIVE spans removal condition in unit test
6b8b6db : Hide Paint textLocale APIs - DO NOT MERGE
e56ae2a : Add manual camera preview format tests to CtsVerifier.
c7b1d2e : Hide RTL related APIs - DO NOT MERGE
6ea50eb : Making the test fail more gracefully.
ea34ca0 : Making sure bitmap is not rescaled.
0eb4d6b : Adjust to API changes requested by the api-council.
4ab9590 : Ensure test works on silenced device
7b17574 : Fix bug #6293328 android.view.cts.ViewTest#testLayoutDirection fails on JRN04 soju-userdebug
f9053ac : Fix StreamingMediaPlayerTest
a3811b6 : Holo Test Assets I
b7107a9 : Tests for FieldPacker fix.
ec85873 : Freeze ProgressBar
07a80d1 : Updated SpannableStringBuilderSpanTest for correct MARK/POINT
88c0f66 : CTS test for java codec APIs
8c96240 : Updated an accessibility event test due to new event properties.
0e5b07a : Updating CTS tests that fail due to small screen size.
10d131f : Update the CTS tests to avoid failure on narrow screen.
961d1f2 : fix MediaPlayerTest.testVideoSurfaceResetting()
d9d6b60 : FileSystemPermissionTest: check pn544 and ttyO3
673cc33 : FileSystemPermissionTest: Don't stop early
5306fa4 : Fix/expand gapless test
40beeca : Make sure the EGLConfig is ES2-compatible
91b820c : Remove ImageViewTest#testOnSetAlpha
04e5d78 : DO NOT MERGE Update Test Expectations
f875688 : Fix SweepGradientTest#testMultiColor
f2bfc97 : Add wifi direct service discovery test to CtsVerifier.
0a5fd59 : FileSystemPermissionTest: more directories.
da34b0e : Removing hierarchical accessibility focus directions.
311dd42 : Fix bug #6305010 PaintTest broken for setTextSize()
3273b82 : Fix AnimationDrawableTest
380b385 : FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM
5dfea06 : Make sure default camera autofocus mode is auto.
a09eb53 : Add camera exif image width and height tests.
8f54ce5 : FileSystemPermissionTest: add /data/data/recovery/HTCFOTA add /data/data/recovery/OMADM
715840a : Cts tests for webview file origin policy changes
e470100 : Remove TimeUtilsTest#testWorld
5947eef : Revert "Cts tests for webview file origin policy changes"
b75e6c7 : Cts tests for webview file origin policy changes
272498f : Bypassed two test cases for 4.0.3 builds
378f30e : remove font from test
7e0eacb : Fixed AnimationDrawable isRunning() logic
daebf14 : Fix flakiness in testCacheResult
c56d87d : DO NOT MERGE Fix cts build
2791bdf : use front camera if rear isn't defined.
8593a36 : Add test for album art
bfdf2a4 : added cts tests for audio preprocessing
0649840 : Removed removeAllIcons from tests.
c8925b3 : Fixed SpannableStringBuilderSpanTest
3cb44ac : Fix for MediaPlayerTest#testGapless
5a93d38 : Adding CTS test for some actions for accessibility.
02161c3 : Fix MediaPlayerTest#testPlayNullSource
fb51a2f : Update column blacklist
f381563 : Add a trivial test that exercises the LegacySensorManager.
08a6717 : Used recent time for the last visit time in BrowserTest
d96d4e9 : Have testAccessCacheMode wait for favicons to load.
7bc0320 : Accessibility focus - CTS
1941c64 : Fix SimpleSignatureTest to use getDeclaredClasses when checking API.
c0b150c : Clean up Camera Analyzer UI a little bit.
d89e2c3 : Add CTS unit test for Paint.setTextLocale()
bfa0da6 : Fix alphabetical ordering.
b9ae909 : Fix alphabetical ordering.
d59cd76 : Added world writable dirs from Pantech Element
c1d2e7f : Added world writable dirs from Pantech Element
8448c0c : DO NOT MERGE Fix MediaStubActivity Layout
c1d6bd5 : Updated SpannableStringBuilderSpanTest
84746ad : Fix MediaStubActivity Layout
7a51d0e : Tests for Element.FONT() + updated element count.
9202360 : Fix AsyncTaskTest#testCancelTooLate
7da50e8 : Fixed Bugs BugId: 6293426, 6292673
ddb2192 : Fix AvoidXfermodeTest
45b5750 : Fix ContactsTest and ProviderPermissionTest
9e1bec7 : Six Test cases for AttachShader - Written in opengl es c apis
5d51435 : Fix wrong a static variable for output path name.
54e18c6 : Fix GestureStrokeTest
7c1d125 : Landscape Holo Test Resources
56bf023 : Fix flaky testRequestImageRef and testRequestFocusNodeHref
e262927 : Add tests for data access issue.
dd81428 : DO NOT MERGE Update the NO_DELIVERY_REPORTS lists Add additional carriers that don’t support sms delivery support. CTS Bug Fix : This parameter("311230" // C SPire Wireless + Celluar South) adds in CTS source code This parameter("310600" // Cellcom) adds in CTS source code
fcae24c : Remove Audio Quality Verifier
246a116 : DO NOT MERGE Remove Audio Quality Verifier
ba89df3 : Add missing provider for CTS tests.
6474786 : Add directories.
073d547 : Refactor, fix and expand CTS test for playlists
addef57 : Fix Permission Tests
8f46ea7 : NoReadLogsPermissionTest: Fix false positives.
b8ae506 : Fix expected output of testIndexOf with start == Integer.MAX_VALUE.
dad1e96 : NoExecutePermissionTest: Don't assume a heap is present
e1233df : Minor naming refactoring
5cdea8d : New CTS test for Span handling in SpannableStringBuilder
0c516ad : Fix FilterTest#testFilterX Tests
f43c32d : Fix AbsListViewTest#testGetFocusedRect
3836021 : Relax WebView UA string check to ease transition to ChromeView.
730b62f : Update the NO_DELIVERY_REPORTS lists Add additional carriers that don’t support sms delivery support. CTS Bug Fix : This parameter("311230" // C SPire Wireless + Celluar South) adds in CTS source code This parameter("310600" // Cellcom) adds in CTS source code
ec1dec2 : Fix NetworkInfo_DetailedStateTest
2e0a6bb : Turn up volume before running gapless test
e1cafc0 : PIILogTest: remove
a81bcd6 : Fix MediaPlayerFlakyNetworkTest NPE
d7e06ad : Fix testVideoSurfaceResetting for Landscape
4fdb5de : DO NOT MERGE Loop doesn't compare the whole bitmap image
ddbee9d : Fix failing RTL unit tests
dd7e30e : Add CTS unit tests for View textAlignment
c165b56 : Add forgotten copyright statement
547712c : DO NOT MERGE fix CTS issue for case testSetOnScrollListener
da69bc5 : DO NOT MERGE Fix CTS case testScrollTo.
8cf1ead : Loop doesn't compare the whole bitmap image
bf365d0 : Test cases for OpenGL ES 2.0 compliance Ported from Khoronos Test Framework Attach Shader tests
bc4b869 : Enable Mock Locations via ADB Content Command
827d671 : Fix bug #4770292 Update CTS tests for ViewGroup margin
7e08e09 : Fix bug #6222864 android.text.cts.HtmlTest#testUtf8 fails on JRM73B soju-userdebug
81bf43f : Add CTS test for
fc46353 : Update CTS for READ_LOGS permission change.
c05d681 : Update tests for new Choreographer implementation.
a5e07f7 : Add tests for yield transaction that actually yield.
2cae904 : Add CTS test for TextureView.getBitmap().
6d4ce28 : Rename private methods in CameraTest to not start with 'test'.
1820d45 : Added test for CVE-2011-3901, sqlite journal files being world readable.
e79bef3 : Fix build
1f7a292 : Fix build
6edd2ea : Add CTS test for gapless playback
5daf323 : InstrumentationCtsTestRunner Static Library
ef86a1b : DO NOT MERGE increase frame rate check margin as there is no guarantee that the specified frame rate can be achieved.
3f40dc0 : Add tests for setting foreign key constraint mode.
7268214 : Add tests for new WAL mode flag.
c5c2488 : CertificateTest Update
f40c91f : Add test for MediaPlayer.setNextMediaPlayer
096195d : increase frame rate check margin as there is no guarantee that the specified frame rate can be achieved.
3891b85 : Run WebView methods on correct thread.
8369b87 : Add /data/amit
b97bc58 : fix CTS issue for case testSetOnScrollListener
3ee9b2e : Fix CTS case testScrollTo.
94f2e43 : Add more tests for enabling/disabling WAL.
c957189 : Added security tests for webkit crashes.
a5c2c8a : FileSystemPermissionTest: Add /data/internal-device
c249943 : Fixed CTS TextViewTest didTouchFocusSelect
e3ef9ca : Fix Broken PreferenceWithHeadersTest
fc19db6 : Add more CTS unit tests for View layoutDirection
49fde7b : First set of sampling tests.
3387617 : Rename MediaPlayerStreamingTest
e22aa42 : Fixed an incorrect test case where MediaPlayer.start() was called right after MediaPlayer.stop() was called.
f88df2f : Test cases for PreferenceGroup, Preference, PreferenceFragment
259aa4b : Verify asset files can receive query and fragments.
eefc5fd : Move LocalUtil unit tests from Frameworks to CTS
082f61c : Test <path-permissions> on unprotected providers.
b803f80 : Automated accessibility CTS tests and added more tests.
8f11484 : Move some Gravity unit tests to CTS
63d85b5 : Add resource tests for configs that are the same.
d33633f : Add CTS tests for new ClipData Intent feature.
c9352b6 : Refresh RS CTS tests (updated headers + optmization level metadata).
7c157f9 : Fix bug #4768303 Update CTS tests for View padding
b6d00d3 : Add tests for new Choreographer callback token feature.
94c9437 : Fix bug #4972463 Update CTS tests for TextView textDirection
26c57ed : Add CTS tests for View layoutDirection
471beda : Static Libs for Popular CTS Stub Components
f6dcf60 : Rename remove callback methods.
28ae149 : Add tests for new Choreographer behavior.
bd8d1f4 : Initial test cases for DrmSupportInfo class
e89e974 : Move CTS Build Definitions for mmm
59da788 : Added more test cases to DrmEvent classes, DrmInfoRequest, and DrmInfo
5a26599 : Add CTS test for SQLiteDatabase.deleteDatabase API.
88c2dcc : Initial test cases for DrmInfoStatus class
501331c : Test versioned RS bitcode in CTS.
490dc16 : CTS Holo: Add +/- tolerance to bitmap comparison
2d5d043 : Remove manual steps from the accessibility CTS tests.
01ae1e7 : Fix testHtmlEncode
59a0205 : Initial test cases for DrmInfo class
a504eb1 : Initial test cases for DrmInfoRequest
dffdaca : Add initial tests for DrmEvent, DrmInfoEvent and DrmErrorEvent
e3ad638 : Remove yet another prebuilt junit jar from cts.
5401a9e : Combine RS kernels in a single Script.
eeca343 : Support testing non-root ForEach kernels.
6e6f1d2 : Improved test cases in
e763711 : Add ability to read symbols for ReadElf
4ace4ab : Add a CTS test for the header map populated by CacheManager.getCacheFile()
af31fd0 : Implement tests regarding loading of network resources and data url images.
8d81e8d : Tests for android.preference.Preference
f5cfb71 : Modification of testSetHorizontalSpacing()
39f5f92 : Add a CTS test for android.webkit.WebView.getVisibleTitleHeight.
84e9860 : Add stub method for ViewParent
3620919 : Update MessageQueue barrier API tests.
98439bb : Fix a bad Looper test.
659a8e6 : Fix resource leaks for Audio Quality Verifier
e9386c7 : Update RS CTS to check API level 16.
2f33419 : Check we get SecurityException from DNS lookups without INTERNET permission.
c0fa86b : Make sure that creating a vector of non-primitive type throws an exception.
d5f0489 : Simplify Choreographer API.
0e16c03 : Account for Element.DataType.NONE in ElementTest.
e7fbfee : Add tests for the Choreographer class.
b7349b9 : Add tests for MessageQueue barriers.
ef231f9 : fix build
75476e0 : Bump invalid Usage type for new SurfaceTexture functionality.
c399486 : Revert "Revert "Add proper CTS tests for array initialization.""
bc9b467 : Revert "Add proper CTS tests for array initialization."
2105f75 : Add proper CTS tests for array initialization.
a249242 : Add more media provider tests
c17394e : added a test case for time-lapse video recording
12f55d2 : Added more test coverage and a test case for
2f102b5 : Fix CTS Proguard Build Issues
9fd1fdd : add a new cts test for MediaRecorder.setOrientationHint()
b5eddba : Move test to a different CTS test and expand it.
a78e3ec : Monkeying Around
e8894cf : Test video file is deleted when db entry is deleted
29c0350 : Move AppSecurity Tests to hostsidetests
a77b408 : Tests for ActionBar#addTab
6409c18 : Add some cts tests for raw audio file formats: AMR_NB, AMR_WB and AAC_ADTS
3b32805 : More image thumbnail tests
22ba1bc : Remove Most of dx-tests
90d4504 : Revert "Disable GL tests until we finish FIFO rewrite."
18a0e2a : Refactor error checking on script/control side.
5982b42 : Check that thumbnail is removed when db entry is deleted
678cdd6 : Rename CancellationSignal using preferred spelling.
1b15fd3 : Tests for ActivityManager#isUserAMonkey
4ac85cf : Disable GL tests until we finish FIFO rewrite.
ef48a49 : Test for array field setter.
c29ede0 : Verify that RS compilation failures don't crash the runtime.
f78a333 : More mediascanner tests
5dc8ba1 : Committer: Rajdeep Dua <> Test cases for android.preference
242ed91 : Some Tests for ContactsContract.StatusUpdates
6f48426 : Remove unnecessary copy of media resource.
7c9f67a : Close files after reading them
349b8fe : Fix typos
b6ebeb8 : Fix testSetToNow0 test
0925bc0 : Some android.database CTS Cleanup
38edd6a : Use ContentProviderClient Instead
1f0afdf : Add test to verify that adding and removing a nomedia file is handled correctly.
98acba0 : Test versioned RS bitcode in CTS.
8597c02 : Fix UserDictionary Test
37ef3df : Fix a silly bug.
10ed073 : Add tests for query cancelation.
c5268b5 : Improve structure setting tests for RS.
e86ece2 : Remove Test Annotations
f059cb2 : Fix testFindNext flakiness.
4338156 : Missing an explicit termination before return
a7176fb : Update CTS tests for NDEF API changes.
f590a15 : Fix Build
e1c1c47 : CTS tests for Intent.normalize...() API's
5ec668d : Fixing two issues in the accessibility CTS tests.
5f6d88e : Add tests for new content observer API with change Uri.
229c2a8 : Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"
27a7185 : FileCopyHelper Refactoring
91da497 : Add stress test for native media player - Uses SurfaceTexture / OpenGl to display the rendered contents - repeat creating / destroying native instances for different resolutions
278962c : Missing Commits from ICS MR1
df9378a : Don't Report Installed Apps and Properties
cb8e9c5 : Some Tests for ContactsContract_StreamItemPhotos
1d67e19 : Report Installed Apps and Properties
2018501 : Add a MediaPlayerFlakyNetworkTest
87091b6 : Fix CommonDataKinds IM Typo
066fb28 : Option for Running Known Failures
f95948e : Fix CTS WebViewTest#testFindAddress
e9b95a8 : DeviceDefault ActionBar Tests
4682982 : Remove ref to non-existent dir in xml-generator's
63c5983 : Update screen size and dpi in device info
6a7c5d5 : Remove WebViewTest.testAddJavascriptInterfaceOddName()
81687a3 : integrate media stress test : MediaPlay and MediaRecord only - media files are copied manually before test - one test class per each resolution and format - support of format is checked for each test case, and not-supported format will be just passed.
868438a : Added test cases for android.animation Committer: Rajdeep Dua <>
96fdfb7 : Fix Missing VM Tests
be775f5 : Some CTS Makefile Cleaning
2425d5c : Test Update Ops for Stream Items
ad70404 : Test for MediaStore_Video_Thumbnails
6069507 : Support Older XML Formats
1cc3c4a : Fix malformed CtsTestStubs manifest entries.
1a2a505 : Exercise Contacts#openContactPhotoInputStream
780179c : Tests for Contact Lookup Uri Methods
4771c9e : Add GlAppSwitchTest - switches between two Gl-using apps and forces recreating GlContext - replica island is used for one GL app. - if something goes wrong and rendering is blocked, watchdog timer in each app will fire - fixed a bug in GlPlanetsActivity as the original code freed vertex / index buffer and did not create after pause resume : Buffers are just kept to reduce resume time for this test
4c64897 : StreamItems CONTENT_DIRECTORY Insert Test
cdfaaa7 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
144a0c9 : Fix CTS tests for setting AppCache path
656df69 : Delete More Old CTS Test Runner Files
29d3478 : Delete RefAppTest
2b1069b : Disable spectrum test temporarily
8fb7136 : /data/drm directories
d9423e0 : Mark Deprecated Classes and Methods
8b0a3cf : Tests for MediaStore.Files
57c35c3 : Create helper script for running cts-tradefed-tests
11cd606 : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
1cfcdc4 : Fix Build
5df641c : Move Test XML Generation from
aad26c3 : Test ContactsContract_StreamItems Insert
c710283 : Some MediaStore Tests
7eed6e3 : Add non regression unit test for Paint.measureText() and long strings
2b763f6 : Clean Up SearchRecentSuggestionsTest
33d9526 : Tests for WRITE_SOCIAL_STREAM
81b693d : Label and Resources Tests for CommonDataKinds
ef17ac9 : Introduce CTS_SRC_ROOT classpath variable for cts-tradefed.
4824ba9 : Tests for READ_SOCIAL_STREAM
ffdee92 : Fixed a broken rtsp test case
37e7341 : Some Coverage Tweaks
e409dce : Remove PhoneNumberFormattingTextWatcherTest
bb7869a : add OpelGl performance test as a separate package Currently runs two types of tests 1. rendering performance comparison with VBO vs without VBO This can also work as a stress test due to the amount of triangles used.
d12e7ab : Terminate Looper if Video Snapshot Not Supported
89ae08c : Add CTS-TF Plan Again
e3e4d7b : Add camera test to ensure Datetime EXIF is localtime.
78970d0 : Merge WaitForLoadUrl into WebViewOnUiThread.
937cf8a : Define TAG in LoopbackExperiment
c1eacbb : Remove onCreateDialog from private interface
6b77aa6 : CTS test for voicemail content provider.
c0f0bd2 : Define TAG in LoopbackExperiment
6960639 : Create Dir in Makefile Instead
ad20737 : Support Native Test Expectations
b287ea0 : Add CtsEffectTestCases to
94747b0 : Remove Duplicate CTS-TF Plan
35d1307 : Remove onCreateDialog from private interface
68babe4 : Flesh out NDEF cts tests.
9349ccb : Remove VM Tests
f1e72cc : EnvironmentTest: make sure TMPDIR isn't set.
1b9681d : Enable and fix testAccessAllowFileAccess test.
87ff4df : Make CTS and CTS-TF Plans Same
354ed32 : Cleanup / fixes for CTS DebugTest.
92bed2d : Fix Rezzz Warning
adb0f64 : Added PII logging tests.
841a1e3 : Release version only checked in release builds.
0c8a8bc : Change tests to run WebView calls on the UI thread.
68ecbe7 : Change tests to use WaitForLoadUrl.
ac8f864 : Don't catch IllegalStateException
9c292f9 : Fix Native Exes List
5a722c7 : Add /data/data/recovery
0821639 : add /data/local/tmp
f3044f3 : Make zergrush test more reliable.
98caf9a : Fix IssueReporter Bugs
7ca5743 : Add CTS tests for getRemoteDevice(byte[])
f859ea6 : Track removal of JUnit from dx.
c1ca42f : Report Test Failures to Remote Server
37993b2 : add testMmapMinAddr
476a26a : CTS Tests for the Media Effects API.
7499c18 : waitForLoadComplete now uses callbacks instead of sleep.
8f955a9 : Fix flaky WebViewTest.testFindNext
b04f7fe : Delete More Old Test Runner Files
ccc0edf : Fix flaky WebChromeClientTest.testOnJsBeforeUnload.
f0b5636 : Fix flaky testCacheResult test.
66e57a3 : Revert "integrate media stress test : MediaPlay and MediaRecord only"
ca06be8 : Fixed timing issue with testRequestFocusNodeHref.
2720338 : two more dirs
525855d : integrate media stress test : MediaPlay and MediaRecord only MediaPlay test changed to use assets/video directory due to the limitation of 10 min time-out, video play test is separated to run one clip per each test case. MediaStressTestRunner simply puts multile MediaPlayerStressTest cases, and each invokation will play different clips.
a60dfed : Updated the color checker detection code.
8a5fb5e : one more dir
fa16077 : add more directories.
bdcfc7c : Couple Improvements
662a3cb : Updated the exposure compensation patch.
501de53 : Added tests for the camera's white balance modes.
c720407 : Added the quality test for exposure compensation.
806b8ec : Added quality test for camera's metering function.
527cfcd : Added image quality test for the AE lock.
ad0d2e5 : Added tests to look for a MacBeth color checker.
0ed3f71 : Added test handler class and the main activity.
3e826a8 : Included new base classes for Camera Analyzer.
523d04c : Updated Cts Camera Verifier properties.
aa98071 : Fix FD leak
030d60c : Ensure /data/data isn't writable.
79c3156 : Add Finish() calls after every ForEach().
ee46436 : Verify /proc/sys/kernel/kptr_restrict = 2
00056a9 : Small fix to PollingCheck
a224673 : Texture compresison format test.
05a8fe2 : Fixing up constants in CTS tests
b683513 : Fix 4970300 OpenMAX AL and OpenSL ES libs checked in CTS
8ed5601 : Move file, change loopback handling, docs.
0162547 : Renaming DelayedCheck to PollingCheck
b32cc21 : Better explain why writable dirs are bad.
204cf3d : CTS sanity checks for ASLR.
0953b3b : Fix build: remove CtsSetupTest.
f3af4df : Manual merge cts-tradefed changes into master.
8e88654 : Fix Build 2
db579c6 : Fix Build
91ef773 : Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
116f46f : Adjust test start date
60b284a : test for uri parsing

Project: platform/dalvik

89cf125 : Report GC pause times more accurately.
6fb6f30 : Update test 089 expectations
0cea134 : Fix: Issue 26627: Dalvik Heap Trim timer value after GC
259298d : Make sure we have room for future Maps builds.
2b02fef : Lose libnativehelper to its own project for the PDK.
e3b03b3 : apps forked from zygote run in default cgroup
3897bab : Fix a leak in the JIT.
7e2f0ea : Fix a small memory leak.
6ad3f10 : Output number of bytes used by LinearAlloc during dexopt.
5136911 : Fix an array out-of-bound read in the JIT compiler.
7222596 : Add a -XX:mainThreadStackSize= option.
ce6603b : Add a -XX:mainThreadStackSize= option.
3ca3a08 : Make sure we rethrow the same exception we started with.
95b0899 : Support building Dalvik with AddressSanitizer.
51bb1c0 : Make sure we rethrow the same exception we started with.
deb0790 : Make indexOfCommon clamp start to count when start > count.
66a6e44 : Throw ArrayStoreException instead of corrupting the heap.
c628d17 : Dump the native stacks of threads in VmWait as well Native.
fa76cb5 : Obvious mix of = and ==
fa3b293 : Transform static values eagerly rather than on use.
231611a : Always call the native exit hook, even for halt().
5094108 : Compact merged dexes on their byte aligned size
b74e719 : Replace malloc() followed by memset() to zero with calloc()
5bac60a : Replace large calloc() with ashmem-backed anonymous mmap
9a05976 : Fix verifier typing for null float arrays.
13c9f04 : Add a test for a dalvikvm 'switch' bug.
aec9c8f : Updates to the VM tests.
3185a41 : x86 mterp debug/profile fix (issue 5938080)
5da4362 : Fix assert
0a6a598 : Tweak Dalvik tests
5cc7450 : Tweak UnsatisfiedLinkError
a5a1848 : Update and extend Dalvik tests
f36ff04 : Bug fix for control-flow construction involving nested loops.
3560a2d : Remove stale assert
2a249c5 : Fix to dex verifier to handle float types that look like Boolean.
5c80d7d : Fix log macro name
d8a81cf : cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
4dfe64e : Provide detail when methods or fields exceed the limit.
069df3c : fix dvmDbgOutputAllInterfaces to include only direct super-interfaces
6d1a1df : Fix a small memory leak.
c1a4ab9 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
e8e1ddc : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
c6284c2 : Remove misleading and outdated documentation.
57dd2d5 : Remove documentation that's now in docs/
4308417 : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
ab35b50 : Remove unsupported experimental opcodes.
1609c0c : Remove dexmaker code from dx.
062bf50 : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
26f9572 : Introduces ProxyBuilder and tests.
7adb0bf : DexGenerator: allow specifying dex cache dir.
95f4f01 : DexOptions should default targetApiLevel to API_NO_EXTENDED_OPCODES
2cdb0f9 : Don't throw an AssertionError on invalid input.
4cd7b39 : Remove dx's copy of JUnit.
541a4c1 : Admit to not supporting over 65,536 methods.
69c4756 : Use libcorkscrew to format the stack trace.
0083c42 : Fix DexMerger to emit dex files without extended op codes.
9f0f8b6 : Be humane when there are more methods or fields than Dalvik can handle.
1375a15 : Can't set variable to null with loadConstant.
517db3e : This test fails with a class not found error.
c0a1885 : Further refinement of card table clear
955c3a0 : Fix reporting of initial pause time
668a92a : Slight change to unwinder API.
4e12055 : hprof-conv: Better error message when run on a 1.0.2 file.
fabd018 : Disable dumping native stacks of non-Dalvik threads. Bug: 5544153
b121230 : Dump stacks for all native threads, not just those in JNI.
0c0624b : Fix single-stepping resume mode in the interpreter.
5552e62 : Optimize IndirectRefTable.
476157d : Add a simple performance test for IndirectRefTable.
34987b4 : Fix reference to non-existent function in debug code.
92c1f6f : Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
1663a6c : Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE
b78eab0 : Dump native stack of JNI methods when handling SIGQUIT.

Project: platform/development

2eb9e37 : docs: fix markup error in redirects
d8557b0 : docs: add redirects for faq and notepad docs
6b78d89 : docs: more redirects
e1ec055 : docs: a bunch of new reidrects; for search, videos, hello views, and a bunch of easter eggs
14c3608 : docs: submit latest set of redirects
672fa25 : WiFi Direct Service Discovery sample
7fa6b8d : Update SDK Windows USB driver definition.
8189fcf : merge redirects file from ics and add redirects for tutorials
e8f7f5f : Fix WXGA800-7in to be portrait by default.
1e49320 : Update the API 16 files used by the SDK.
0c3d438 : Fix NPE in BeamDemo if NFC not present. do not merge.
ddb532d : Support lib is now in rev 9
f5d811e : Add Platform.CodeName to
8a8046a : Initial commit of NsdChat application
35c48dc : Update SDK revision files.
80df91c : New API demos for retained fragments with loaders.
50d5736 : Fix libutils test package path.
6cc9755 : Update device for new location provider configs.
1e284c1 : Remove outdated PDK.
2476301 : Fix up .classpath for Email/Exchange/emailcommon
928c7d6 : Add API 16 to the SDK API file.
9649bee : Update API file with proper content.
58ce6f0 : A few little tweaks to system ui flag demos.
5e20670 : Remove the WaitEvent added in Tap and Drag.
7947d9f : Updating the accessibility sample due to a security fix.
c26d421 : Fix .classpath for eclipse. DO NOT MERGE
8cb9623 : Put the compute samples back in the SDK.
cf39011 : SDK: don't generate empty codename line in DO NOT MERGE.
f2bc2a0 : Work on issue #6475693 OnSystemUiVisibilityChangeListener reporting...
cb62e8b : Add FLAC encoder to the list of media codecs.
6bd1ae5 : Fix skin.
f5d3a23 : Improvements to system UI demos.
77dc0d2 : more fixes to monkey motion event timing
a8863a9 : Eclipse classpath cleanup
ffb145c : Follow framework API change in TaskStackBuilder
237448b : fix how monkey adjust timestamps for motion events
8749a29 : fix how monkey adjust timestamps for motion events
9089c7d : Submit fixed script.
9cd1654 : Add API demo for Activity.finishAffinity().
0b28341 : Fix Monkey key events.
f63ed9b : Fix Monkey key events.
d71b64f : Added software mpeg4 and h263 video encoder to sdk/emulator build
1632bc6 : Added software h264 video encoder for emulator/sdk build
d5296c8 : No longer using bindAppWidgetId
faa031a : Fix GridLayout in support library. do not merge.
3c3cb46 : Fix GridLayout copy into the SDK.
805b169 : Move support library to r8. do not merge.
3fb225f : Support for Windows SDK pre-requisite module list.
8957faa : Add .classpath/.project/readme to gridlayout support package.
a185bad : Fixing the build
01d30e1 : Split build/targets/product/
d0e6543 : Fixed compilation error #include <android/*h>
1583b7c : Delete the fragment-UI sample in favor of the FragmentBasics sample for the 101 training class on fragments
d573ba5 : Rename the activity lifecycle sample's directory
ba1636e : Add new sample for 101 class on fragments.
4c5f2d2 : Renderscript is deprecated. Removing from the sdk.
262cb24 : Add skin for 1280x800@213dpi devices.
968c2e4 : Fixed the XMLAdapters example
80d4ba7 : Move emulator GLES from development.git to sdk.git
0819e42 : Add skeleton implementation of a fake v2 camera device.
ee16c83 : Revert "Revert "Multi-project commit, other commits weren't ready after all. (Revert)""
16266ff : Updated "Making your App Location Aware" class to include information on location provider enable check.
d187140 : Add demo for new custom animation.
b62e28d : Move emulator GLES from development.git to sdk.git
affcdfd : adding media effects sample to sdk
32d9069 : Get rid of isSentenceSpellCheckSupported corresponding to I0e931b7248f8c65268b60af599c07
e6c0176 : Fixed compilation error #include <android/*h>
eb1b7a6 : Use new InputDevice.getVibrator() API.
6c5e9eb : Update API demo to show new clip data types and conversions.
a4920b7 : Improve GameControllerInput demo with input device listeners.
7dd80c2 : Ensure Monkey uses sane timestamps for key events.
2af3f30 : Ensure Monkey uses sane timestamps for key events.
1b9744a : Update to follow API change.
99e94c0 : Use new InputManager API.
800fbe1 : change the way we fetch the test result file.
6ec6d98 : Update libandroidfw test package.
f6c3400 : Fix use of fitsSystemWindows, so padding doesn't conflict.
dab6072 : Refresh development/ndk/platforms/android-9/arch-x86/include/machine
001a30f : Use new input manager API.
a1e84ac : Revert "Multi-project commit, other commits weren't ready after all. (Revert)"
e331666 : Move AppNavigation samples around
f3785f1 : Multi-project commit, other commits weren't ready after all.
5a35e72 : Add skeleton implementation of a fake v2 camera device.
5318919 : Camera emulator: Add timestamps to PreviewWindow output.
cd68d40 : Support sentence level spell check in sample code of the spell checker
92abb63 : Convert fp constants from double -> float.
a539e4e : Update activity-lifecycle sample: Use unique package name
6ad1018 : Use fitsSystemWindows for better demoing.
137dce1 : Sample app for Android Training lesson: Making your app location aware.
87a714c : uploading sample code for AU class on Activity Lifecycle
2bab013 : Sample app for Android U class: Displaying Bitmaps Efficiently
d2d0d4f : first draft of sample code for AU basic training class on fragments
202b652 : docs: add GP Licensing redirect
40525ef : Move stuff from prebuilt to prebuilts/tools
16c0f25 : ndk: ANativeActivity: Fix 'clazz' member documentation.
f7541b8 : Change video demo theme to dark.
2edb02a : SDK: generate repo in xsd v6. DO NOT MERGE.
02b5347 : Add new way to calculate FPS to monkey.
3f59495 : Remove auto-gen
b2f2036 : ndk: <dlfcn.h>: dladdr() takes a 'const void*' parameter, not 'void*'
00038de : Native media sample app for NDK API level 14
e43487b : ndk: android-9: Add missing <sys/eventfd.h> header
ef0d31e : ndk: <signal.h>: Increase _NSIG definition to 64
015d054 : ndk: <pthread.h>: formatting + updates
002d536 : ndk: <unistd.h>: minor cleanup
3da072d : ndk: <sys/cdefs.h> minor update
1fe0de6 : ndk: minor header update
f4e62ff : ndk: Fix ipv6 related headers
6c32dac : ndk: Fix <sys/atomics.h> declarations.
5704b40 : ndk: minor update to <netinet/...> headers.
554c5ec : ndk: libc: Add RLIM_RTTIME to <asm-generic/resource.h>
34c6c85 : ndk: arm: Update <asm/ptrace.h> and <asm/user.h>
e938d97 : ndk: disable logs in release builds of native_app_glue library.
a79e56e : Fixed inconsistent minSdkVersion and target= in NDK samples
0523af7 : Fixed to #include correct 32-bit headers
93036ac : Relax FP requirements
22d3d88 : [MIPS] crt* Object files generated from .S files. The object files are generated with the assembler built from binutils-2.21
718e73c : MIPS platform files for building the NDK
adee1fd : Update Full Screen Modes to demostrate more modes.
1a2ddb4 : sdk doc change: Added KeyChain API Demo
c94da69 : Refresh development/ndk/platforms/android-9/arch-x86/include/machine
8d83be9 : Fixed win_sdk build due to rs relocation
697914d : Docs: Fixing broken link in TtsEngine/_index.html
e46673a : Multiple webviews could be a bad model for developers to follow.
a2a4669 : Moving libRS
d6a3832 : Update emulated camera to support HAL v2.0 modules and devices.
a8a0638 : ndk: Add MIPS Platform files which contain C runtime headers and sources of crt* assembler files
f413515 : Merge SDK support for templates.
a85a93f : SDK: correctly zip package.
46b6741 : Support to generate screen rotation events.
64cd8f3 : EmuGL: use custom egl.cfg in Google APIs add-on
29539e9 : Fixed to #include correct 32-bit headers
a71d47a : Add API demo for thumbnail animations.
75112fa : add missing include
9c7b559 : SDK source pkg: exclude all /tools/ and /tests/ directories.
d588246 : EmuGL: Deliver every frame to a callback
e35ac78 : Fix build - configure for schema-v4 output
8a33c36 : Revert "EmuGL: Deliver every frame to a callback"
08d643e : EmuGL: Deliver every frame to a callback
7678066 : Added rules to build 64-bit libraries for 64-bit emulator
8aafafe : Fixed crash and 64-bit porting issues
8f7e1f7 : SDK: generate repo using latest schemas when available.
8c12262 : Add flag indicating gpu support in emulator system image.
37bae21 : Add flag indicating gpu support in emulator system image.
206ea39 : Refactor with ToTargetCompatibleHandle()
a277cee : Package control per user
f9e6097 : Fixed inconsistent minSdkVersion and target= in NDK samples
967d1e6 : Update animation sample to use new activity options API.
c9d6ede : Change camera HAL to catch up with changes in emulator.
c06e37e : ndk: Include limits.h in wchar.h as it contains the definitions for INT_MAX and INT_MIN. Without this fix, the following lines will fail when configuring gnu stdlibc++ library. (INT_MAX and INT_MIN are undefined.)
51cb3a4 : Update to follow IActivityManager change.
a3f456f : Added rules to build 64-bit libraries for 64-bit emulator
c65cfeb : ndk: <signal.h>: include <asm/sigcontext.h>
27b71c7 : Switched to use header files in /frameworks/native
913d903 : Support lib: use /samples directory.
fd4a739 : Fix # of arguments to startActivity
06f3f54 : Add framework/native to fix build.
d069948 : update Eclipse include paths
cc3332a : remove dependency on apparently uneeded libs. might fix sdk build
e35bfe5 : Minor makefile tweak to compile with elfutils-0.138
83f4573 : Fixes for runtest
f4a20e5 : Add/fix copyright notices
2478dfd : Work around a y-invert bug on Macs w/ Intel GPU
54934b0 : Delete dead code.
7942a69 : Add the new v7 support library project to the SDK.
94548b6 : Add missing includes for threads.h
d3ed045 : Rename resource drawable to drawable-nodpi for RsStates.
c7f0d89 : remove HAL_MODULE_INFO_SYM const
eb611a2 : SDK repo: fix to handle new and old xsd for support lib
e01feb2 : We're configuring media codecs dynamically now.
9516dc5 : SDK: generate repo using latest schemas when available.
b100b6f : Fixed crash and 64-bit porting issues
bea50d3 : SDK repo: use a template for samples/
73421de : Update the intent that monkey uses to launch application
9789239 : Android native include paths and symbols for Eclipse IDE
a3b1c78 : remove dependency on android_natives_priv.h
9ba4eff : Add the camera functional continuous test.
9ada0ac : Fix version metadata for java.lang.reflect.Field
88a2bd6 : glesv2debugger: Remove obsolete files.
25dfd79 : Fix runtest local.prop handling.
3c4c9f8 : Remove the GlobalTime sample app.
b4ce1c0 : SDK: Support generating XML with new name/vendor attributes.
b707698 : Adding the mock camera activity test to continuous test.
3d3d642 : Fix UNKNOWN keycode parsing in monkey.
97e2d1b : Use IO stream
2753baa : Add volley target to runtest.
3619336 : Remove old development settings.
f06c958 : Merge "Projects whitelisted for Windows SDK compilation."
baa8e96 : egl.cfg can now only have a single entry
770fc91 : Update SharingSupport demo for support lib API change
de48b21 : Fix isolated process demo to work with new restrictions.
37f02d8 : New API demo for isolated processes.
8f3f77f : Add cleaned-up filter framework, camera, gallery back to .classpath
432b5a2 : Fix app bug, where some memory could remain uninitialized due to early exit.
0a94feb : Win SDK: add ext4_utils to project whitelist.
d174a02 : Put Email back into eclipse .classpath
936e648 : Fix findunusedresources to handle package name different from path
3f733fd : Classpath cleanup
6dd4b91 : Make sure __u64 is defined even for strict ansi or -std=c99
2b53ba5 : Projects whitelisted for Windows SDK compilation.
8e78aab : Organize imports to resolve ambiguous type errors.
a983c2a : Update NFC samples.
e42979c : ndk: Remove obsolete header and library files.
4ce026b : Updating the monkey to use a dedicated UI test bridge.
0da366d : Use Map.Entry, not LinkedHashMap.Entry
12db436 : Increase default runtest -j to 16.
a39865a : Update create_test to new android_mk API.
70c13b1 : fix the layout oddness that occurrs in portrait mode
af4519e : ndk: Fix ipv6 related headers
e56aece : ndk: API level 14: Add C library symbol files
c835796 : ndk: API level 12: Add ARM libc symbol files
7d8f5ae : ndk: API level 11: Add + symbol files
485ea2e : ndk: <sys/stat.h>: Add utimensat() to API level 12
a58e760 : ndk: arm: Update <asm/ptrace.h> and <asm/user.h>
21fc12d : ndk: libc: Add RLIM_RTTIME to <asm-generic/resource.h>
fe012f5 : ndk: <dlfcn.h>: dladdr() takes a 'const void*' parameter, not 'void*'
8e28627 : ndk: <wchar.h>: Add wcscasecmp and wcsncasecmp for API level 11
47c55f4 : ndk: <unistd.h>: Update for API level 11 + minor cleanup
bca6402 : ndk: <time.h>: Add new time functions to API level 11
3970aef : ndk: <stdlib.h>: Add mkdtemp() for API level 11
fed3dfb : ndk: <signal.h>: Increase _NSIG definition to 64
aa566ea : ndk: <sched.h>: Add cpu_set_t and related functions to API level 11
bea0525 : ndk: <sys/cdefs.h> minor update
e4f2528 : ndk: <pthread.h>: formatting + updates
42dddab : ndk: minor header update
15af16f : ndk: minor update to <netinet/...> headers.
e0ff988 : ndk: android-9: Add missing <sys/eventfd.h> header
e882d4c : Catch IOException for close
95cbc9e : Fix runtest for CTS Tests
e4ee58f : Reference kernels in new location
07ffdd5 : Reference kernels in new location
5a622cb : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
6aff44c : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
98f56b1 : ndk: disable logs in release builds of native_app_glue library.
fc2aded : Fix headers
cad4194 : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
40b0530 : Stripping out geometry data, but keeping names and references instead of removing all geometric data.
112bc5e : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
8787983 : Fix build on MacOS 10.7 / XCode 4
a64f05b : Allow d.a.c. to serve SVG files
714e516 : Update default project icons, and add an xhdpi version
1bc7aaf : Add code sample for ShareCompat
a98b9f2 : Revert "Revert "Update the media_profiles.xml file to include...""
7fb8be5 : Update mkstubs from ASM 3.1 to ASM 4.0
031b92f : Pass white balance and exposure compensation to webcam emulator
15ee96f : Fising the build
31ef1de : Revert "Add missing -lX11 on the link line."
6f00e7f : Update supported frame sizes for fake camera
904f692 : ndk: Fix <sys/atomics.h> declarations.
f347e62 : New compute sample for simple image processing.
8dca56b : Add missing -lX11 on the link line.
d79eab5 : SDK: templates.
e27055b : Fixing vector element alignment issues.
b3f32a8 : Fix build
50ab613 : Fix temperature sensor
25e3c21 : ndk: ANativeActivity: Fix 'clazz' member documentation.
4216f99 : Bug 5560527 Inject the keycode_0 to the wakeupscreen test activity to trun off the screen.
76bd108 : SDK: update SDK to API 15
e14b1a2 : Native media sample app for NDK API level 14
acf9553 : Change the test to user the listener mechanism
0ece08b : Import revised translations.
fb5178a : SDK: updating android Windows USB Driver.
629719e : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE
7d95585 : Adding a code sample for using AccessibilityNodeProvider to report virtual Views.
94a55dd : SDK: package fastboot in platform-tools on 3 OSes.
12c0b21 : Added white balance settings to the camera Emulator.
f87d80f : Updated the Monkey runner to reflect changes to some private APIs it uses.

Project: device/asus/grouper

3e1006a : Revert "audio: add watchdog on buffer full condition"
88475d6 : grouper: update prebuilt kernel
8e94790 : audio: add watchdog on buffer full condition
9650ee7 : grouper: update prebuilt kernel
b701742 : Remove camera.grouper - there's no such module
46f7aa2 : Remove dangling packages.
d0807c6 : Remove references to proprietary modules
d5d5d8f : grouper: update prebuilt kernel
f26da36 : grouper: update prebuilt kernel
81aa55f : grouper: update prebuilt kernel
723d635 : grouper: update prebuilt kernel
fd576fa : grouper: update prebuilt kernel
512fa56 : grouper: update prebuilt kernel
39297e3 : auto-generated blob list
8e638fe : Increase backlight from 15 to 20
732a0a4 : grouper: update prebuilt kernel
4621135 : grouper: update prebuilt kernel
994d776 : audio: add 24000 Hz and 32000 Hz capture rates
c4ef35d : nakasi: kernel prebuilt
146ffa1 : audio: fix latency reported when screen is on
3d5376b : Revert "keymaster for nakasi."
47fe46b : grouper: update prebuilt kernel
7ec9bfb : keymaster for nakasi.
0f12907 : bootloader: nakasi: subject bootloader version to 3.34
c2dda24 : grouper: update prebuilt kernel
2d06e8f : bootloader: nakasi: subject bootloader version to 3.34
03e5ddf : Add the RF setting and enable the hybrid polling mode.
fa29d00 : grouper: update prebuilt kernel
8938759 : Add gps.conf.
b19caff : Add the RF setting and enable the hybrid polling mode.
26bffd3 : grouper: update prebuilt kernel
a3a7c9e : Add gps.conf.
c427c42 : Increase lock / unlock sound levels
5adb9a7 : Even more brightness tweaks
863432c : Even more brightness tweaks
fbb4e4b : audio: implement variable buffer size.
33f029f : Switch over to new Dalvik memory limit definition.
3df9355 : Modify gps permission in init.rc
2b48072 : grouper: use default params for interactive governor
817d4b1 : grouper: do not boost speeds on power hints
7d307be : Modify gps permission in init.rc
98cc495 : grouper: use default params for interactive governor
f1d457d : grouper: do not boost speeds on power hints
8154a1f : More Brightness Adjustments
2717b39 : auto-generated blob list
85be63f : Fix build error:
b91d6ae : grouper: update prebuilt kernel
9fcf061 : Sensors: Change the authorities for Invensense ver. 5.1.
42c3d05 : Remove BOARD_HAVE_GPS
5a31c79 : setup_fs is Open Source
08ff2a5 : Removing old LiveWallpapers (Bug 6592404)
ef7172e : grouper: Kernel prebuilt
c9cc6bb : audio: swap L/R channels of speaker when only that is active
2d07ab3 : grouper: set perms of sysfs nodes of interactive governor
3161312 : grouper: switch to interactive governor on early-boot
8929702 : grouper: update prebuilt kernel
9013d64 : grouper: update prebuilt kernel
1dd2ce7 : bootloader: nakasi: subject bootloader version to 3.32.
c6a154c : grouper: update prebuilt kernel
ad46858 : Brightness tweaks for low light situations
f860ff2 : [grouper] disable latency governor when setinteractive is off for power
c9ab381 : auto-generated blob list
06c12ac : Revert "grouper: update prebuilt kernel"
3d95d14 : grouper: disable input_boost when screen is off
955a721 : grouper: update prebuilt kernel
c2d71a4 : Update device for new location provider configs.
409aeab : grouper: update prebuilt kernel
671476b : Initial commit of grouper files.
150e057 : Initial commit

Project: device/common

8ffd5f8 : Restore crespo4g
0f62f63 : Build libdrmdecrypt in a different environment - DO NOT MERGE
1dedf14 : Generate output even in case of error
01bbc97 : Remove unsupported devices
d06dd40 : Allow packaging factory images from a separate bootloader file
d1b8c70 : Clean up device list - do not merge
9cb1b4a : Fine-tune the generation of factory images
7e33db5 : Add grouper
6d820c3 : Remove unused NTP_SERVER.
28b6c52 : Ooops, override the right variable
36cbd9a : Common part of the factory-image-generator
7e2521e : Add manta
411fad5 : Use parallel syncs.
b55ae8e : Switch to blob lists.
1c4179c : Add torospr
602a4b1 : Move to plain file lists instead of complex scripts
9e47372 : Restore parts that had been deleted by accident
4b57212 : Improve self-extractor-generation scripts.
7837661 : Force sort order to 'C'
51c5207 : Revert "Cut support for crespo / stingray - do not merge"

Project: device/generic/armv7-a

499f7e2 : fix PDK build: use WPA_SUPPLICANT v8 instead of v6
7131708 : mini_armv7a configuration for PDK
13cbad8 : Initial empty repository

Project: device/generic/armv7-a-neon

a1bfdaa : fix PDK build: use WPA_SUPPLICANT v8 instead of v6
c97e6d0 : mini_armv7a_neon configuration for PDK
62e685f : Initial empty repository

Project: device/generic/goldfish

f0397b6 : copy files from development/data/etc to device/generic/goldfish/data/etc
985594c : Remove obsolete dependency on libmedia
89845e0 : emulator: Power HAL
eb15335 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
a450221 : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE

Project: device/moto/stingray

cdb6b46 : organize scripts with per-version sections to avoid merge conflicts
62d8f69 : Update self-extractors for IMM76D
9586e8b : Remove Camera package (it's merged into Gallery package).
44d8452 : remove HAL_MODULE_INFO_SYM const
e7db86a : auto-generated blob list
510dafd : Remove old-style blobs handlers
109c006 : auto-generated blob list
a141e38 : auto-generated blob-handling scripts
456bad2 : Self-extractors for IMM30D
c5efbc1 : Simplify lunch menu
22da8cc : add sideload-from-adb command to recovery menu
97ec2a4 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
de5d7ca : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
c909fa4 : auto-generated blob list
56da0dd : Remove old-style blob-handling scripts
c3b1680 : Self-extractors for IML74K
b336720 : Self-extractors for IML74G
6f94773 : Self-extractors for IML74E
f9850da : Self-extractors for IML74B
31ac44e : Self-extractors for IML73
c113dc3 : Self-extractors for IML70C
567af05 : convert stingray recovery UI to C++ model
52f5308 : convert stingray recovery UI to C++ model
3ad07ed : comment out references to ui_print
5e9abda : MM/LTE Ril v6.5B

Project: device/moto/wingray

9bfb004 : libaudio: add 12000 Hz capture sampling rate
3d459d1 : Stingray: kernel prebuilt
b13767a : fix for wingray PDK build
45af6f3 : stingray: kernel prebuilt
5ede125 : Update device for new location provider configs.
63b2db1 : Only power-off option when long-pressing power button.
d7181aa : stingray: kernel prebuilt
ebcf6f5 : stingray: kernel prebuilt
600eac1 : Remove background scanning
8d2cf3f : Set sensible bitrate.
886ed23 : Add FLAC encoder to the list of media codecs.
854a5b5 : stingray: kernel prebuilt (netfilter, wifi,...)
26c2d42 : Use the filesystem manager to mount and check filesystems
57ccb5e : Updated media_profiles to standard bit-rates, added HE-AAC.
6f41842 : Add USB audio HAL to the build
38301ec : Update profiles for new AAC library / AAC-ELD
80c6fa6 : Reduce /storage permissions to 0050.
46c1910 : rename audio policy output flags
ee5fe4b : audio: added usb audio hw module
e27cf1f : Set ro.carrier=wifi-only
1a85e9a : Organize external storage to enforce sdcard_r.
a8c2f0d : stingray: kernel prebuilt
4d61699 : stingray: kernel prebuilt
80937f8 : stingray: kernel prebuilt
24cb787 : stingray: kernel prebuilt
afc2371 : organize scripts with per-version sections to avoid merge conflicts
fbe280c : Update self-extractors for IMM76D
89f21de : Allow user management on wing/stingray Settings
7072fc6 : move hardware feature definitions
aa1cfaf : wingray: update dalvik heap config location
7c1ce9e : audio policy: added configuration file
701b4fb : wingray: set density override to 160
dc47516 : wingray: set density override to 160
af493c7 : stingray: update kernel
729c92f : Remove false references to frameworks/base
3f86360 : fix the build
aaef81b : stingray: kernel prebuilt
e8554db : Prepare to move system/media
36ce859 : audio policy manager refactoring.
a37d7bf : stingray: update prebuilt kernel
b815680 : Remove Camera package (it's merged into Gallery package).
18f0fb5 : stingray: update kernel prebuilt
f71ba00 : fix build.
ceb320b : Media codecs are now dynamically configured.
916b3a2 : stingray: update prebuilt kernel
0af3c16 : stingray: update prebuilt kernel
8430267 : Remove route setup from dhcp
da13957 : stingray: update prebuilt kernel
bfffc47 : auto-generated blob list
669bfc3 : Add cleanspec entry
a282c73 : Remove old-style blobs handlers
c323a8f : Disable wi-fi direct
6d7a15b : Fix support for USB ethernet adapters on Xoom
845dc77 : Fix support for USB ethernet adapters on Xoom
d45af18 : egl.cfg can now only have a single entry
47e9127 : auto-generated blob list
a06872a : auto-generated blob-handling scripts
0590381 : Self-extractors for IMM30D
3515c42 : stingray: Kernel prebuilt
7af1e29 : Self-extractors for imm30b
6fc66bc : Fix supplicant start
6c25462 : split board-info.txt into AOSP and non-AOSP versions
bcdc1d6 : stingray: wifi: Remove obsolete wifi.supplicant_scan_interval
7e468ef : wingray: convert all usages of $prop to ${prop}
6ce04a0 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
12012f4 : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
a94e75d : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
ca81990 : auto-generated blob list
e26c4cf : Remove old-style blob-handling scripts
8ecdc59 : Self-extractors for IML74K
1560bdb : Remove unnecessary config overlay settings.
9ca1d16 : Self-extractors for IML74G
37da03a : Self-extractors for IML74E
09ad89b : Self-extractors for IML74B
152c106 : Self-extractors for IML73
aee5be4 : Self-extractors for IML70C
872f5f4 : Revert "Disable wi-fi direct"
5c118cb : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE

Project: device/sample

f5fd423 : Reorder Rogers/Chatr to prefer Rogers
72fa8fd : disable java build for PDK case
efd95e1 : remove false dependency on libandroid_runtime for PDK
e7365b8 : Remove mifare feature from device/sample.
703dc05 : [sample] change apns-full-conf.xml
beb7cfd : Update Orange apns
ee4e8b0 : Update Vodafone IT APN names.
4ae8c09 : change apn
92cfc7b : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
6a65737 : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
9fdbd11 : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

Project: device/samsung/crespo

afdc44a : Update board-info.txt
c19dd36 : prebuilt kernel (GPU, flush CPU cache workaround)
f7625e5 : Revert "Add missing top level dependency for crespo libdrmdecrypt DO NOT MERGE"
f9abc11 : auto-generated blob list
f08bab5 : Add missing top level dependency for crespo libdrmdecrypt DO NOT MERGE
da0d2b9 : Remap SEARCH key to ASSIST.
907fa55 : libaudio: add 32000 Hz capture sampling rate
d3cffa5 : prebuilt kernel (ext4 fix, wifi fixes)
e3fb64c : prebuilt kernel (reduce unused FIMC1 buffers)
ff0da21 : Decrease UI sound levels
97495d4 : prebuilt kernel (ddk version number change only)
2084d15 : Camera: Fix crash when cancelling autofocus outside of preview.
5bf3edc : prebuilt kernel (USB audio fixes, rild perf workaround)
0326aaa : prebuilt kernel (USB audio fixes, rild perf workaround)
2d76a06 : Camera: Fix crash when cancelling autofocus outside of preview.
78897c5 : Update device for new location provider configs.
ad917f1 : crespo: kernel prebuilt
2372657 : Set sensible bitrate.
fc3477b : libhwcomposer: VSYNC_ACTIVE ioctl -> VSYNC_INT
73c3d77 : prebuilt kernel (s3cfb VSYNC_INT ioctl fix)
c41743a : Enable EGL hibernation on crespo
7527363 : prebuilt kernel (DDK 1.8@905891)
0ed63d6 : prebuilt kernel: wimax fix, ipv6 crash fix
5a5aa8e : prebuilt kernel: wimax fix, ipv6 crash fix
3d779cc : Adjust output to 2 buffers of 880 frames each
8fa0377 : Add FLAC encoder to the list of media codecs.
2b749a4 : prebuilt kernel update (mergedowns 3.0.31, netfilter, cpufreq, ...)
2db43af : prebuilt kernel (DDK1.8@900138, merge from common up to 3.0.28)
db6230d : Use the filesystem manager to mount and check filesystems
ab79c91 : Updated media_profiles to standard bit-rates, added HE-AAC.
8c72ced : enable triple buffering on crespos
1e50ab9 : Add USB audio HAL to the build
58346d8 : Update profiles for new AAC library / AAC-ELD
848f271 : crespo libhwcomposer: handle vsync uevents
cb3eb57 : crespo libhwcomposer: keep window 2 open
e63af0a : prebuild kernel update (vsync, sched_trace)
f50a346 : add a board config variable to disable 3x buffering
fe3ccce : Reduce /storage permissions to 0050.
e26771a : prebuilt kernel update (DDK 1.8@873556, netfilter, wifi)
d526098 : rename audio policy output flags
c90b74d : Simplify board-info for 4.0.4
0ca5e27 : Move Mifare feature to frameworks/native.
16af72a : crespo: kernel prebuilt
d057d9d : crespo: kernel prebuilt
b97b5bd : update nfc path
cbd6918 : kernel prebuild update (wifi, wimax, ...)
53c66bd : Remove unused NTP_SERVER.
f8f5a19 : Organize external storage to enforce sdcard_r.
0ef2975 : libcamera: remove unused fimc_v4l2_s_ext_ctrl function
eda76f2 : kernel prebuild (gpu: enable MMU pagetable write-protection)
acd7250 : kernel perbuild update (DDK 1.8@869593)
ed5609f : kernel prebuild update (enable XFRM for userland)
d6ba9f3 : kernel prebuild update (mostly wifi and fimc fixes)
30a4fe1 : Generate sojua and sojuk factory images in addition to soju
8834bb5 : crespo: kernel prebuilt
fea11b2 : crespo: kernel prebuilt
6ddbd8e : kernel prebuild update (disable oprofile, enable perf)
cef7c03 : crespo: Kernel prebuilt
5cd7e86 : organize scripts with per-version sections to avoid merge conflicts
308dbe9 : Distributables for IMM76D
ccc62ab : move hardware feature definitions
b815eee : crespo: prebuilt kernel
c7db296 : crespo: update dalvik heap config location
7cd5cbe : audio policy: added configuration file
cf8b12b : kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot)
0c32ada : kernel update (mostly: KSM, wifi, gpu:pvr:disable MMU write-prot)
b3e372f : Remove obsolete dependency on libmedia
5795042 : crespo: start KSM on boot
f49a0a4 : Kernel prebuild update (mostly DDK 1.8@840215 and wifi)
89d216e : Prepare to move system/media
8174ff4 : Switched to use header files from /frameworks/native
6804c66 : audio policy manager refactoring.
c9316f0 : Remove Camera package (it's merged into Gallery package).
fa61d0e : prebuilt kernel update
aed5c95 : crespo: prebuilt kernel
0c323f3 : remove HAL_MODULE_INFO_SYM const
21a850d : We now dynamically configure available media codecs.
81e7367 : crespo: prebuilt kernel
7ae3620 : crespo: prebuilt kernel
594566c : remove uneeded dependency on libsurfaceflinger_client and libbinder
c249ff9 : remove dependency on android_native_buffer.h
78f17c0 : Remove ANAVMID EEPROM values.
6b99e6a : crespo: prebuilt kernel
77800b3 : Remove route setup from dhcp
4cdeceb : auto-generated blob list
f48c08f : Remove old-style blobs handlers
eb85be2 : Fix supplicant start
dfc9a97 : egl.cfg can now only have a single entry
8addb43 : Do not use MediaDebug in libstagefrighthw.
dbdc778 : Reduce NFC-DEP target timeout in ATR_RES to 8.
2c4616c : Self-extractors for IMM30D
ea648a2 : kernel prebuild update (mostly bcmdhd)
da87da6 : Fixed some race condition in OMX_Init and OMX_Deinit calls
1232ac7 : new kernel + wifi prebuilt
9c9480f : Self-extractors for imm30b
942f348 : crespo: Kernel prebuilt
b61fc77 : Fix misspelled symbol name.
1171489 : wlan: Fix tethering interface name
db0763d : Fix the incorrect min bit rate setting for AMR NB.
14d7e18 : wlan: Switch to CFG80211
ca7d879 : Fix build warning on uninitialized field avail_min
dee850c : split board-info.txt into AOSP and non-AOSP versions
148c245 : Fix SEC-OMX, for resolve two bugs.
17e987e : crespo: wifi: Remove obsolete wifi.supplicant_scan_interval
e06d496 : crespo: convert all usages of $prop to ${prop}
982fc24 : add sideload-from-adb command to recovery menu
b1fef0d : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
21d2b1e : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
0edef62 : Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
4493042 : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
9ba8664 : auto-generated blob list
06e019b : Remove old-style blob-handling scripts
96a318f : kernel + wifi prebuild update
f77f6df : Remove libaudioutils, now in core
787a346 : Self-extractors for IML74K
3c69a92 : Self-extractors for IML74G
9f357c0 : Self-extractors for IML74E
96ec529 : Self-extractors for IML74B
aacb238 : Self-extractors for IML73
bc38bf8 : Self-extractors for IML70C
f9b9570 : Remove explicit desk dock orientation.
bcf3729 : Fix broken build due to transition to ALOGV instead of LOGV
affccc0 : convert crespo recovery UI to C++ model
eee3aab : convert crespo recovery UI to C++ model
fc4d704 : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE
4539e6b : kernel + wifi prebuild update (DDK 1.8@300406)

Project: device/samsung/crespo4g

b0301b2 : Update board-info.txt
4d8f81a : auto-generated blob list
05312df : Add "config_cellBroadcastAppLinks" to Crespo 4G overlay.
acb481a : Revert "Turn Wimax off for the weekend build"
3840606 : Revert "Turn Wimax off for the weekend build"
4387612 : Use the filesystem manager to mount and check filesystems
fbe7d94 : Reduce /storage permissions to 0050.
4a666bb : Only list the 4.0.4 versions.
e73ead8 : Remove unused NTP_SERVER.
1c47e25 : Organize external storage to enforce sdcard_r.
a638a56 : Package 4.0.4 images
1bfa550 : Use the common implementation of the factory-image-generator
ec8c138 : Generate factory-image package for sojus. 2.3.7 for now.
c35ffb8 : organize scripts with per-version sections to avoid merge conflicts
0422104 : Update self-extractors for IMM76D
d3bccde : move hardware feature definitions
1652979 : Turn Wimax off for the weekend build
bed58e2 : Turn Wimax off for the weekend build
c948783 : crespo4g: start KSM on boot
a081117 : Update for new sprint radio
7c8b4c8 : Remove Camera package (it's merged into Gallery package).
b498991 : auto-generated blob list
49fa6f4 : Remove old-style blobs handlers
e04eaaa : Self-extractors for IMM30D
6bb4553 : Simplify lunch menu
dff48fe : wlan: Switch to CFG80211
c0fbddf : split board-info.txt into AOSP and non-AOSP versions
42ba798 : auto-generated blob list
eb6ab69 : Remove old-style blob-handling scripts
ef1feec : Self-extractors for IML74K
fa08cfa : Self-extractors for IML74G
36650ca : Self-extractors for IML74E
8c03f7a : Self-extractors for IML74B
725a456 : Self-extractors for IML73
f1270e6 : Self-extractors for IML70C.

Project: device/samsung/maguro

33c5f33 : Update board-info.txt
2730dc9 : We should not auto convert multiple SMS to MMS messages
5eb91bb : Only list the exact 4.0.4 versions
abf5a1a : Add takju
8d3fceb : organize scripts with per-version sections to avoid merge conflicts
4555fd1 : Updated copyright/license for broadcom
0c5d1eb : Update extractor scripts to IMM76D
2311cb2 : require bootloader PRIMELC03
89a35e7 : move hardware feature definitions
9c33a4c : Add broadcom license. Go back to IML74K.
0d26d4a : Remove Camera package (it's merged into Gallery package).
fcaf8ef : require bootloader PRIMELB02
748cf6e : auto-generated blob list
cec5432 : Remove old-style blobs handlers
423cd87 : Self-extractors for IMM30D
15bdcae : Restrict the list of acceptable prerequisites
b2fba58 : Self-extractors for imm30b
820a131 : require bootloader LA03
7126957 : pvrsrvinit -> pvrsrvctl
19c62c3 : auto-generated blob list
5e7e03f : split board-info.txt into AOSP and non-AOSP versions
4351ff1 : Move installation of fRom to /system/vendor
9e31844 : Require bootloader PRIMELA01
bbb0a0c : Rename the makefiles used in self-extractors.
a10d8c2 : Improve makefiles of distributable packages
4d9b9c4 : auto-generated blob list
7550dcc : Remove old-style blob-handling scripts
f898086 : Self-extractors for IML74K
078a0b0 : PRODUCT_RESTRICT_VENDOR_FILES=true for full_maguro
7c3e113 : Self-extractors for IML74G
6587fbc : Self-extractors for IML74E
a56f053 : Add a CleanSpec
487230b : Self-extractors for IML74B
e6bdcd4 : Self-extractors for IML73
ca58ed8 : Self-extractors for IML70C
e5b8445 : Generate downloads for icl53f
87048e3 : Use the right sequence number for ITL41F
9ffd74a : Generate factory images for itl41f
72aa63e : Generate self-extractors for ITL41F
5afdd84 : Package factory images for distribution
b3bc352 : Also allow the MR0 baseband in AOSP - do not merge

Project: device/samsung/toro

e6b22a1 : Update board-info.txt
3f4cf90 : Add "config_cellBroadcastAppLinks" to Toro overlay.
d25b64b : toro: overlay: fix Ethernet support
14f42c5 : Only list the latest version (toro is unsupported in AOSP)
72919ab : We should not auto convert multiple SMS to MMS messages
c34c9f5 : Update for CDMA version FC04
240700a : DO NOT MERGE: Update for CDMA version FC04
e045bf4 : Update board-info.txt for new lte and cdma radios.
a085c4f : DO NOT MERGE - Update board-info.txt for new lte and cdma radios.
94d72b9 : Update for radio-cdma.I515.FC02
90bd587 : Update for radio-cdma.I515.FC02
e62f03e : DO NOT MERGE - Update for CDMA FC02
f504ab3 : organize scripts with per-version sections to avoid merge conflicts
1d7e931 : Add proprietary blob to the distributable packages
080c9d1 : Updated copyright/license for broadcom
243a9b2 : Update distributable packages for IMM76D
ab12389 : require bootloader PRIMELC03
d7e6f64 : move hardware feature definitions
ec28d99 : Add broadcom license. Go back to IML74K.
855a5f9 : auto-generated blob list
ae245eb : Remove Camera package (it's merged into Gallery package).
407a55a : require bootloader PRIMELB02
8c1afe4 : auto-generated blob list
e7156eb : Remove old-style blobs handlers
58b1808 : Self-extractors for IMM30D
3982c25 : Simplify lunch menu
58d4b28 : require bootloader LA03
213fa4b : pvrsrvinit -> pvrsrvctl
0b04795 : auto-generated blob list
63d5f7e : split board-info.txt into AOSP and non-AOSP versions
3f87a66 : Prepare self-extractors to deal with two toro variants
3c615aa : Move installation of fRom to /system/vendor
cabcac3 : Require bootloader PRIMELA01
70093fc : Update toro self-extractors to new style
91acdf7 : auto-generated blob list
cf60a3e : Remove old-style blob-handling scripts
7752139 : PRODUCT_RESTRICT_VENDOR_FILES:=true for full_toro
3d92021 : Self-extractors for IML74K
a35ed79 : Self-extractors for IML74G
9fa6834 : Self-extractors for IML74E
fc33e80 : Self-extractors for IML74B
37c59c4 : Self-extractors for IML73
0c1a5ae : Self-extractors for IML70C
43613c4 : wifi: Add calibration parameter to avoid 5GHz FEM Damage
a72cb82 : Generate factory package for icl53c
f0fb3ee : wlan: Update calibration file
5cf7945 : Package factory images for toro

Project: device/samsung/torospr

aeba866 : move hardware feature definitions
9564ba1 : auto-generated blob list
b0ef3af : Remove Camera package (it's merged into Gallery package).
306fd7f : auto-generated blob list
f48ed3a : Remove old-style blobs handlers
029811e : Simplify lunch menu
5d3f101 : auto-generated blob list

Project: device/samsung/tuna

cc170b7 : tuna: kernel prebuilt
d0bb949 : tuna: prebuilt kernel
2cbfd06 : audio: fix in call audio path switch issue
67fde1a : tuna: prebuilt kernel
25003bb : tuna: prebuilt kernel
8b30685 : audio: add 24000 Hz capture sampling rate
0b2b471 : restrict /dev/dsscomp permissions
78081e5 : tuna: kernel prebuilt
d84a8f8 : audio: workaround for hdmi multi channel swap
3cbd1d4 : tuna: prebuilt kernel
5e57291 : tuna: prebuilt kernel
f8db617 : New kernel prebuilt
4bf3d14 : audio: add support for multichannel HDMI
8a1d4ed : enable maguro PDK build
7724be5 : tuna: kernel prebuilt
857594c : tuna: prebuilt kernel
e7cc5bd : tuna: specify key behavior for sii9234 numeric keypad
370d0c3 : Update device for new location provider configs.
7cd304e : Enable 5.1 AAC for tuna.
dc85a71 : tuna: prebuilt kernel
007efa2 : tuna: prebuilt kernel
51b2bc4 : new kernel prebuilt
e804033 : tuna: prebuilt kernel
219848f : tuna: kernel prebuilt
7a44825 : tuna: kernel prebuilt
5e2d6ee : tuna: prebuilt kernel
359a416 : audio: variable deep buffer size
69c1b18 : new kernel prebuilt
8343e2f : tuna: prebuilt kernel
a04bead : tuna: Power HAL: Boost pulse CPU speeds on POWER_HINT_INTERACTION
4a1d1b0 : tuna: prebuilt kernel
589b709 : new kernel prebuilt
d6cc09e : audio: fix media volume issues.
6366a3f : Add FLAC encoder to the list of media codecs.
b694faf : tuna: prebuilt kernel
54d7ec5 : tuna: init.rc: add dhcpcd_eth0 service
f941dd2 : tuna: overlay: fix ethernet support
6db83b3 : tuna: prebuilt kernel
d99f286 : tuna: prebuilt kernel
d27d66a : tuna: remove triggering suspend from power hal
e5c8369 : new kernel prebuilt
51f0e9c : tuna: prebuilt kernel
97f3dcc : tuna: kernel prebuilt
079bd66 : audio: fix memory leak.
9e45c29 : tuna: kernel prebuilt
a2dc21a : tuna: prebuilt kernel
98fb2f5 : Use the filesystem mounter to mount and check filesystems
4e7a573 : audio: add support for deep PCM buffering
d0a7e7a : tuna: prebuilt kernel
90d9cc5 : keymaster: set delete_all to NULL
8acb868 : Updated media_profiles to standard bit-rates, added HE-AAC.
ecc13f4 : tuna: Power HAL: min sample time to 60ms, go hispeed load to 50%
c059339 : tuna: Power HAL: Enable touchscreen input boost
221c3d1 : tuna: Power HAL: turn off VSYNC power hint
47623d4 : Adjust output buffer size and sample rate
3f762e3 : tuna: prebuilt kernel
6930c8e : tuna: Power HAL: Add version 0.2
e834192 : Add USB audio HAL to the build
d27e136 : Update profiles for new AAC library / AAC-ELD
ef7439f : tuna: Power HAL: Add VSYNC power hint -- DO NOT MERGE
aae0bb3 : tuna: prebuilt kernel
6a79c6c : Only use QVGA for mms in timelapse.
2e65359 : Reduce /storage permissions to 0050.
33b692c : tuna: prebuilt kernel
a783372 : tuna: Power HAL: Set 100ms delay for moving above CPU 700MHz
d5b9786 : tuna: prebuilt kernel
cdfaf83 : rename audio policy output flags
7233787 : new audio device API version.
cb8ba82 : tuna: prebuilt kernel (locally built)
baa3585 : tuna: prebuilt kernel
be67b67 : Revert "tuna: prebuilt kernel (locally built)"
9dea725 : tuna: prebuilt kernel (locally built)
2ec60c6 : tuna: kernel prebuilt -- DO NOT MERGE
3505f7c : Move Mifare feature to frameworks/native.
6bd5949 : tuna: prebuilt kernel
ae0717d : update nfc xml path
095e19a : tuna: Add Power HAL
139959c : audio: add dual mic support for pre processing
c3c9892 : Remove tracing setup from init.tuna.rc.
415a179 : Remove unused NTP_SERVER.
6ad18b6 : Organize external storage to enforce sdcard_r.
2c80c7e : tuna: prebuilt kernel
8cd0e4b : new kernel
a18f3a2 : tuna: kernel prebuilt
4af56bf : Add sii9234 rcp keymap
b74801d : Remove from product build
792edf5 : Remove from product build
3dbd45a : audio policy: added configuration file
915f5d0 : audio: fix audio drop when speaker is selected 2.
2e879fc : tuna: kernel prebuilt
22ab522 : audio: fix error in capture path delay calculation
d08cb98 : [Tuna] Add product specific definition to HDCP symlink
764ea44 : tuna: kernel prebuilt
20ed985 : tuna: kernel prebuilt
e862c9d : tuna: prebuilt kernel
ae8408a : tuna: prebuilt kernel
a5e1f12 : tuna: kernel prebuilt
7d863c7 : Add implementation of keymaster for tuna
01a2041 : require bootloader PRIMELC03
13dbe6c : Allow user management in Settings for this device
4284270 : move hardware feature definitions
1a7f789 : Change dumpstate.h include path from frameworks/base to frameworks/native
24cabba : tuna: prebuilt kernel
2e2b60b : tuna: update dalvik heap config location
5b9819c : tuna: kernel prebuilt
db6fb53 : tuna: prebuilt kernel
9063d5e : audio_channel_in_mask_from_count
b45f8eb : tuna: kernel prebuilt
9168291 : Prepare to move system/media
f64ebfa : tuna: prebuilt kernel
9de9cad : new kernel prebuilt
c9f1f56 : new kernel prebuilt
2e1364e : Remove Camera package (it's merged into Gallery package).
14a155c : tuna: prebuilt kernel
0a84285 : require bootloader PRIMELB02
56222bf : tuna: prebuilt kernel
8e50e80 : lights: remove HAL_MODULE_INFO_SYM const
d8edac6 : Codec components are now dynamically configured.
a699b9e : tuna: prebuilt kernel
44e164b : Remove route setup from dhcp
db654ff : Remove ANAVMID EEPROM values.
18b7ded : new kernel prebuilt
2848155 : tuna: prebuilt kernel
600c52d : tuna: prebuilt kernel
040efa4 : init.rc: set things up for tracing
d175d9b : new kernel prebuilt
d64d297 : tuna: new kernel prebuilt
7baaa86 : Fix memory leaks
46c7365 : Add support for concurrent operation
b74f97a : egl.cfg can now only have a single entry
599cf9c : Reduce NFC-DEP target timeout in ATR_RES to 8.
ea632a6 : tuna: Kernel prebuilt
6fa3e04 : enable WAITFORVSYNC
1944c3f : new kernel prebuilt
7afa32c : Import translations. DO NOT MERGE
8a3262c : Mark locale-neutral configuration strings translatable="false"
9de99f3 : Fix incorrect min bit rate setting for AMR NB audio recording
465056c : require bootloader LA03
4ccf272 : require bootloader LA02
b963756 : Use audio_format_t consistently
c8bb333 : new kernel prebuilt
4a43539 : split board-info.txt into AOSP and non-AOSP versions
10e3032 : tuna: prebuilt kernel
e58be4e : Turn off execute bit
cc703a6 : tuna: convert all usages of $prop to ${prop}
d9733c4 : Use audio_mode_t consistently
b66d968 : Create /data/radio directory in post-fs-data section
9dc151a : tuna: wifi: Remove obsolete wifi.supplicant_scan_interval
e3e7ab3 : new kernel prebuilt
995ab74 : add sideload-from-adb command to recovery menu
de11e11 : Require bootloader PRIMELA01
87efd3f : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
c0212a2 : Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
16d7059 : Remove libaudioutils, now in core
1d6ed5a : Clean up lunch menu
9f9c31b : Get the kernel from ITF41F - do not merge
d3bf1fb : Import revised translations.
247155b : Revert AOSP to the MR0 kernel - do not merge
5e49422 : Clean up lunch menu
5d52b35 : audio: delete unused ril-client API.
8e912e3 : new kernel prebuilt
466f531 : Import revised translations.
418447e : convert tuna recovery UI to the new C++ model
c946e8d : convert tuna recovery UI to the new C++ model
6bf5009 : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE
40489ac : Import revised translations.

Project: device/ti/panda

9cd9cd2 : Set sensible bitrate.
f39713c : Use the filesystem manager to mount and check filesystems
8fceda2 : Reduce /storage permissions to 0050.
b1bd16d : rename audio policy output flags
c639b12 : audio: update to new audio HAL device API.
b9cab25 : Organize external storage to enforce sdcard_r.
0e75057 : audio policy: added configuration file
cbe92e6 : move hardware feature definitions
a7e22f9 : panda: update dalvik heap config location
67bc508 : Prepare to move system/media
005d3db : Panda: Clean up the readme for Panda
66a3a11 : Update documentation: audio is now working
6512433 : Panda: Add a lunch option for userdebug
c752589 : New PandaBoard bootloader
793defd : PandaBoard prebuilt kernel
c74d0c7 : auto-generated blob list
015b1b5 : Remove old-style blobs handlers
2694781 : egl.cfg can now only have a single entry
e532a40 : Panda: Bluetooth: Add TI bluetooth firmware to panda
f7ff7b4 : PandaBoard prebuilt kernel
3b160d0 : Enable DHCP on eth0 during init.
f0ee15a : [Panda] Make bluetooth available for Panda
a42c412 : [Panda] Add boot initialization for Bluetooth components
3bc554a : [Panda] Add device specific overrides for bluetooth
d842aec : [Panda] Add bluetooth permission file
3744626 : PandaBoard prebuilt kernel
cbd4fae : Use new logging macro names
a6b213b : LOG -> ALOG
ca19166 : [Panda] Enable board specific audio HAL
a09009f : [Panda] Add OMAP4 audio support for Panda
92996ed : PandaBoard kernel prebuilt
3e6cfe6 : panda: convert all usages of $prop to ${prop}
b93702f : auto-generated blob list
fa804b2 : Remove old-style blob-handling scripts
63b6b67 : Updated usbboot that recognizes PandaBoard ES
83c631f : PandaBoard kernel prebuilt
d5e4b51 : Updated bootloaders that work on PandaBoard ES.
ccb1ba2 : Panda kernel prebuilt
a38e069 : Panda kernel prebuilt
5c8fc62 : Remove libaudioutils, now in core
871cc85 : Updated panda kernel
bc5ee76 : Updated kernel
7a72ed1 : Add a flag to use panda-specific gfx libs
2e0d124 : update documentation
3caf3cb : Point to the proper wifi makefile
c9f833a : Enable wifi-related build config flags
b62237f : Update README with notes on getting proprietary binaries.
a901e68 : Temporarily disable WPA-related options
59ff61e : Update for copying in WiFi firmware files
a57759f : Add frimware files for wl1271 Wi-Fi chip
ba3238e : Changes for enabling Wi-Fi on panda board
58ab99e : New panda kernel prebuilt.
b851c91 : Set size of cache partition
7ded373 : New panda kernel prebuilt
7ce388c : Add the proper license for binary packaging
1b4349e : Add audio libraries to panda
94dd5b3 : Panda: Fix the model and the manufacturer
c3908e8 : Panda: Update the USB rc file for the VID/PID
52d454a : Add permissions for video components
5b36f6c : Remove kernel cmdline
929fb99 : Add hwcomposer HAL to the device make

Project: platform/docs/

c3cee19 : fix version number for older security features
be8b5b2 : security: update Memory Management Security section
358da47 : security: update docs
2b32638 : Update the SHA-1 for repo.
f7fd0e8 : Mention takju along with yakju
66426b3 : Link to the new locations for Nexus binaries
f1694d3 : Document known issues with TCP/IP settings
6c032a9 : Document DNS issues
c97e885 : Document VirtualBox network settings
50fc5ad : Document build issues related to uncommon tool behaviors
51489a6 : Document build issues related non-default compilers
b176fae : Document that Galaxy Nexus doesn't have support for all the hardware
993d0b8 : Document how to build the master branch for devices.
7d2ff82 : Document known issue with false antivirus positives.
8eef6f4 : Document the workaround for make snod on emulator builds
dfce7fc : Document workaround for network issues
60c8141 : Switch to https for most links
6ec0d89 : Restrict possible radio versions.
2a179c3 : Refine lists of version numbers
822f529 : Mention Google Play instead of Android Market
c173c70 : Add links to Gerrit
f6bacdc : Remove notes about fixing a kernel header
0318a19 : Clarify the list of factory images that are available
015de9c : Document the emulator issue on MacOS 10.7 / XCode 4.
aa73c4f : Add 4.0.4 to the list of builds
3aec3f4 : Assume the location of the out directory
18dea52 : Remove support for building with 32-bit Ubuntu
26ff704 : Mention a few other projects where we basically only ever take upstream patches.
1cbb5ed : Adding a PDF version of the Corporate CLA. Pretty much every submitter prints and faxes/emails this, so we might as well make life a little easier for them.
fc3d3c1 : Make 3.82 is ok for ICS and beyond
e0cec46 : Data Usage Docs in Android 4.0 for Systems Integrators.
8aae4f4 : Recommend full_panda-userdebug for PandaBoard
4d4bd3a : using-eclipse: fix typo
7553981 : Remove references to gitweb from `submit-patches`
0190249 : Fix branch creation example
c2680b7 : Documentation: add JDK configuration note
8b4db15 : Add usbboot rule for panda in 51-android.rules
7929ddf : Add notes about building kernels
eef0004 : Add notes about building on Ubuntu 12.04
00e60e1 : fix bullet point
9b6c876 : update user manual revision to r2
035b076 : CDD update for Android 4.0.3
9aaa52a : Add instructions for fastboot on pandaboard
26d7fd0 : fix broken format
388b7af : Clarify that the CDMA situation is AOSP-specific
482fc88 : updated version name missed
5003420 : version update for downloads
0fc4d1d : document update for media files.
cb33af6 : Updated Android 4.0 CDD. Changes include updates for SDK level-15, optional NFC-V requirement and PAR ration in range of 0.9-1.1.
ee6360b : Link to new privacy policy.
eca69c0 : Remove mentions of CDMA devices
543b03f : Add new key mappings from ICS MR1.
0ac7115 : Revert "Merge "Known issue: can't repo upload""
df3931c : Known issue: can't repo upload
fd5f79e : link to security faq page.
0e3ee32 : Point to new Gerrit location
9171436 : Use a better fix for 32bit x11 libraries on 11.10
8d77794 : Update the docs for ICS.
76adec6 : Add instructions for creating mirrors
cb81c79 : Add IML77
2e2de67 : Add section about using authentication to access AOSP
57a7910 : Document some known workarounds for network issues
9d600e6 : Clean up table of version numbers.
dc6e9ca : Add known issue about cts-native-xml-generator
4c07af9 : Add a section for known issues
93afea9 : Clarify the process to manage devices with AOSP.
8bb9cf3 : Add note about allowed versions of Make
42064a9 : Gingerbread CTS r11 and update to the current branch on development page
a842527 : Add CTS 4.0.3 Links
1a408da : Increase max HD requirement to 90GB.
61142cb : Add versions 4.0.1_r1.1 and 4.0.2_r1
c95d7e6 : IML74G -> IML74K
31cabc2 : Add mention of toro
e6149c4 : USB VIDs/PIDs for Xoom
70c6fbc : 4.0.3 is now IML74G
f34289f : 4.0.3 is IML74E
35f5101 : Update for 4.0.3, Xoom, etc...
bdac766 : Add support for, and do general cleanups
91b9bab : Provide `git clone` commands for kernel sources
34e9812 : Add notes on using ccache
93b7626 : Fixed links and the current CTS version
5f2afb1 : Tweaks: new repo checksum, python version
59de1c2 : Updated user manual and overview to point to 4.0 CDD
80fe839 : New versions
56c7e22 : add ASLR.
590a9d6 : Add section on input devices.
6881b2c : ICS CDD changes - Current, download and Nav link for sidebar
ec62033 : Add USB IDs for PandaBoard.
49e1d83 : Add libGL fix for Ubuntu 10.10
f259650 : Add alt attributes
7ecc607 : Allow reuse of port 8080
69835fd : Update info for building on Ubuntu
3e466b0 : Prepare ICS release.
b086324 : Make note about .dmg.sparsefile extension
8b20337 : Mention 2.3.6/2.3.7 as preferred versions for GB AOSP work.
64175aa : Repo init must be on a case-sensitive filesystem.
c46da01 : refine language around XCode and gcc versions
e68d2e4 : Add packages to install for Ubuntu 11.10
933c854 : Remove instruction to add deb-src... lucid partner
9682628 : Document that XCode 3.1.4 is required.
aeac48d : Add mention of 2.2.3

Project: platform/external/aac

2bda038 : Add NOTICE file. Rework make file so it appears in settings.
18a4af0 : Added license boilerplate to all source files.
698b536 : Update to 2012_05_11 version.
9bf37cc : Fraunhofer AAC codec.
a37315f : Initial empty repository

Project: platform/external/antlr

324c464 : Add full source for antlr project (version 3.4)

Project: platform/external/apache-http

b975b95 : Advertise HttpURLConnection in DefaultHttpClient.
719e149 : Remove incorrect doc comments. The scheme registry may not be null.

Project: platform/external/astl

0a397b4 : Remove libs from static library modules.

Project: platform/external/bluetooth/bluez

e73c02b : Don't return a fallback value for Alias property of BT device.
635699a : fix gpl build
99226bc : audio: update to new audio HAL device API.
6c25fc5 : send extra UUID property change notifications to help the upper layers change state
d6ae61e : fix GPL build
3cd3a11 : audio: use common string for A2DP sink address
141398b : send extra UUID property change notifications to help the upper layers change state
62215e2 : audio: fix wrong latency reported by audio HAL
d0cbf94 : Use audio_mode_t consistently
80e611b : Use audio_format_t consistently
6934b76 : Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
ae2da65 : Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
6ad49c1 : Add missing LOCAL_MODULE_TAGS
999d00b : Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGE

Project: platform/external/bouncycastle

89b880f : Added CertBlacklister.
c3ca927 : Restore AuthorityKeyIdentifierStructure and SubjectKeyIdentifierStructure for Polo
e8ed366 : Blacklist Digicert Malaysia intermediate CA
8dfe782 : Blacklist two additional DigiNotar intermediate CAs
d1f1330 : Add Chrome-style public key blacklist to CertPathValidator

Project: platform/external/bzip2

c1e644e : [MIPS] Only use prebuilt NDK libraries for ARM

Project: platform/external/checkpolicy

cd88c5c : checkpolicy 2.1.8
3fab9cd : Support for building on MacOS X as part of Android.
8c48de1 : Import checkpolicy 2.1.0 (Release 2011-07-27).

Project: platform/external/chromium

4534048 : DO NOT MERGE Work around for use-after-free cert bug
86e0fcf : DO NOT MERGE Convert exit calls to abort for Android
4f83513 : Properly clean an exception to prevent a crash
d473d7a : Disable TLSv1.2 and TLSv1.1.
fb29283 : Disable TLSv1.2 and TLSv1.1.
7311583 : Make SSL_CIPHER_get_id definition conditional on OpenSSL version
b2197ca : Tracking openssl-1.0.1 upgrade
a7dee89 : Import content and address detector support
4f3a742 : Append client parameter to AutoFill server requests.
940e47a : Fix for bug 5152544, remove warning from chromium port
6aec04f : Part of fix for bug 5584571 Add HTTP request header with app name
ae2796c : Part of fix for bug 5523834, backporting cache fixes
ea38098 : Part of fix for bug 5523834, backporting cache fixes
d129b9e : Part of fix for bug 5523834, backporting cache fixes
0a9239c : Part of fix for bug 5523834, backporting cache fixes
7d2c383 : fix for bug 5454586, fix up getDbThread()

Project: platform/external/chromium-trace

1f5d4e9 : systrace: handle user builds more gracefully
156c2a7 : Use async slices for filesystem and block device operations.
50dfd06 : systrace: check for errors when compiling JS
a2e0cfb : systrace: fix a bug with userland thread states
a4d8b28 : Add disk I/O tracing.
595ae1e : Clean up systrace a bit.
c4056ef : chromium-trace: support D|W task state
b7f480d : systrace: add a tracing tag for video
81e9aa7 : systrace: rename the tags property
b96b1d0 : chromium-trace: update for newer kernels
e524f4e : systrace: move init code into a js file
415e5d8 : support for CPU idle event tracing
b4fa51e : Add audio tag to systrace
f8a2a51 : remove old forked Chromium source
d1270ce : update minified code and generator script
7ee0e87 : apply patch to avoid scrolling the track
0887a70 : apply Android tracing importer patch
0105835 : pull the latest source from chromium
5bd161f : Add System Tracing capability to Sync Manager
bf3e616 : systrace: add support for compressed downloads
7e3783f : systrace: add the --set-tags option
4b56a2b : systrace: embed js & css when generating html
1bf4a49 : fix a few bugs
98ef97d : systrace: add a couple new tracing options
9279147 : systrace: add the systrace tool
13e4634 : auto import from //branches/cupcake_rel/...@138607

Project: platform/external/cibu-fonts

0d40970 : Updated AnjaliNewLipi release.
a69be55 : Add Anjali New Lipi font to full font builds
d0c8128 : Add a Malayalam font
e5943be : Initial empty repository

Project: platform/external/clang

094004c : Update
28c9e57 : Migrate external/clang to CLANG-155088-20120419.
ab8f4da : Changed title.
f7736ea : Changed wording of availability.
b75f8de : modern objective-c translator: Fix writing a spurious 'static' into the wrong place when rewriting a static function which declares block literals. // rdar://11275241
eb382ec : Implements boxed expressions for Objective-C. <rdar://problem/10194391>
13bffc5 : PR 12586: Fix assert while running libc++ testsuite: deal with exception specifications on member function templates of class templates and other such nested beasties. Store the function template from which we are to instantiate an exception specification rather than trying to deduce it. Plus some additional test cases.
103f41d : Revert some Hexagon builtin commits to match reverts done to LLVM in r155047. See the LLVM log for the primary motivation:
a2c91e7 : objective-c: Issue diagnostic when an implicit property accessor (getter) missing, instead of crashing. // rdar://11273060
0ddb097 : Suppress -Wunused-variable warning in -Asserts build
d448ce0 : VerifyICE: Pass PartialDiagnostics by reference.
8b2a5d2 : MIPS: Followup to r154606. Expand list of accepted MIPS target features in the MipsTargetInfoBase::setFeatureEnabled() routine.
241cbe4 : fix GCC version comparison wrt. equal patch suffices (and squash two typos)
30318e6 : Adds a FixedCompilationDatabase to be able to specify tool parameters at the command line.
6403683 : Fix bad typo reported by I-Jui Sung.
2d01f2c : As per John McCall comment: Follow up to r154924: check that we are in a static CMethodDecl to enable the Microsoft bug emulation regarding access to protected member during PTM creation. Not just any static function.
3acf764 : fix display of source lines with null characters
6749dd5 : Nicer display of unprintable source, and fix caret display for non-ascii text
074c191 : Calling setVisibility directly only makes (some) sense when the visibility is explicit.
87162c2 : PR12569: Instantiate exception specifications of explicit instantiations and explicit specializations of function templates appropriately.
9591697 : Revert "Nicer display of unprintable source, and fix caret display for non-ascii text"
e1a6eac : add missing parameter index to diag
70712b2 : fix display of source lines with null characters
e9a3b76 : Nicer display of unprintable source, and fix caret display for non-ascii text
54881cb : Simplify calls to mergeVisibility* by passing in the LinkageInfo. No functionality change.
76a98be : objective-c modern translation. Correct rewriting of block meta-data of block literals declared inside of extern "C" functions. // rdar://1131490
e1430e9 : Typo fix.
c661f14 : Switches the JSONCompilationDatabase to use the YAML parser. This will allow us to delete the JSON parser from llvm.
82a9478 : Fix to avoid warning. Also add header, and lincense information.
b2d899e : Emulate a MSVC bug where the creation of pointer-to-member to protected member of base class is allowed but only from a static function.
0407a04 : fix a typo
49a110d : Convert vperm2f128 and vperm2i128 intrinsics back to using llvm intrinsics. Unfortunately, these instructions have behavior that can't be modeled with shuffle vector.
7d6c8a1 : Attempt to fix test.
01561d1 : Change ExprEngine::shouldInlineDecl() to be defensive in checking if the CFG of the callee is valid. Fixes <rdar://problem/11257631>.
26397ed : Fix case where the alignment is overaligned, per Eli's suggestion. rdar://11220251
07d2f56 : Link to a tiny patch to libstdc++-4.7 to work around the <chrono> issues from the C++ status page.
e6975e9 : Implement DR1330 in C++11 mode, to support libstdc++4.7 which uses it.
7fea7c8 : Make sure EmitMoveFromReturnSlot is passing the correct alignment to EmitFinalDestCopy (and thus pass EmitAggregateCopy the correct alignment). rdar://11220251
0ff258b : Typo.
0e97681 : Modern objective-c translator:'self' used inside block literal is imported. // rdar://11259664
a9d45a3 : [libclang] Make sure that when we have multiple @class references in the same line, that later ones do not override the previous ones.
43aa1c3 : modern objective-c translator: translation of implicit cast to/from block pointer types. // rdar://11202764 Also, many more modern translator tests.
9a70cdd : [analyzer] Fix a false alarm in SelfInitChecker (radar://11235991). Along with it, fix a couple of other corner cases and add more tests.
ffce11b : [analyzer] +comments
5a389f1 : [analyzer] Fixup for a test case.
93a4994 : objective-c modern translator: buildit objc bool type for rewriter project will be BoolTy. // rdar://11231426.
9482a18 : [libclang] Spelling range for a objc category should the category name range, not the class one.
3c6ed1b : Remove support for -fast-math metadata for the moment.
2850376 : Per Richard's comments on r154794, add the checks necessary to handle constant-folding relational comparisons safely in case the user is using -fwrapv or equivalent.
e9836a2 : Revert r154749 for now at John McCall's request.
74e2fc3 : Implement the last part of C++ [class.mem]p2, delaying the parsing of exception specifications on member functions until after the closing '}' for the containing class. This allows, for example, a member function to throw an instance of its own class. Fixes PR12564 and a fairly embarassing oversight in our C++98/03 support.
0f90590 : Use ordering and the explicit visibility bit instead of modifying ConsiderGlobalVisibility. No functionality change.
2b5949e : Readd lost "undef BUILTIN" to fix the build.
10e675d : Generate fpmath metadata when -ffast-math. Note that no optimizations are hooked up to this yet.
7ac715f : Hexagon V5(Floating Point) support.
48c2407 : Remove unused method.
60c7707 : Adjust for LLVM name tweaks requested by Chandler.
62d9f11 : Add another constructor to LVFlags and use it to simplify the code a bit.
cefc3af : Implement C++11 [expr.prim.general]p3, which permits the use of 'this' in the declaration of a non-static member function after the (optional) cv-qualifier-seq, which in practice means in the exception specification and late-specified return type.
275a850 : Add note to hacking.html that running the test harness directly from the command-line requires making sure the relevant files are generated first. Patch by Matt Fowles, with some minor modifications.
a316988 : Make constant evaluation for pointer comparisons work correctly for some uncommon cases. <rdar://problem/10962435>.
4762a2d : use DEFAULT_SYSROOT
e275a18 : The result of the Microsoft __uuidof operator must be considered a global lvalue during constant expression evaluation. Otherwise we would get this error in C++11 mode (because of a recent change): error: non-type template argument of type 'const _GUID *' is not a constant expression
377ecc7 : Propagate alignment on lvalues through EmitLValueForField. PR12395.
c5086f0 : Add 'env' in hopes of making this test pass on Windows.
b346d2f : Implement the all_lookups_iterator for PCH as a follow-up to r153970. This includes a patch from Matthias Kleine with a regression testcase!
0740a25 : Like for LLVM / shlib, we also provide a SONAME to
b5491f3 : Change _mm256_permute4x64_epi64 and _mm256_permute4x64_pd to use builtin_shufflevector instead of specific builtins. Old builtins will be removed from llvm now that vpermq/vpermpd are supported by shuffle lowering code.
030c7e9 : Fix tests that weren't actually verifying anything.
6c22939 : Correct indentation
6e67eed : [] Implement TypeKind.spelling
2d7cb06 : Use MDBuilder to help with metadata creation.
b1758c6 : Use forward declarations for ASTDeclContextNameLookupTable and add a missing delete.
a9ab209 : Actually, this tree isn't necessarily binary.
398a498 : Recursively delete rewrite rope nodes when tearing down the tree.
5d2d046 : %clang -cc1 -> %clang_cc1
fe58720 : PR12226: don't generate wrong code if a braced string literal is used to initialize an array of unsigned char. Outside C++11 mode, this bug was benign, and just resulted in us emitting a constant which was double the required length, padded with 0s. In C++11, it resulted in us generating an array whose first element was something like i8 ptrtoint ([n x i8]* @str to i8).
8590d86 : objective-c modern translator: Make metadata definition for protocols static. // rdar://11248048
f4dd858 : [analyzer] Add .cxx and .txx as known file extensions to ccc-analyzer.
767f7c7 : Consider visibility attributes last, so that they take precedence. I am working on a cleaner fix, but this gets the case in PR12552 passing.
8fb9fb6 : Replace manual delete[] with OwningArrayPtr.
a2189d7 : Don't leak vtable thunks.
d306cf7 : Delete late parsed attributes instead of leaking them.
9bb1d34 : Rename "fpaccuracy" metadata to the more generic "fpmath". That's because I'm thinking of generalizing it to be able to specify other freedoms beyond accuracy (such as that NaN's don't have to be respected). I'd like the 3.1 release (the first one with this metadata) to have the more generic name already rather than having to auto-upgrade it in 3.2.
13bb701 : Parser: Don't manage TemplateAnnotationIds in a delayed cleanup pool.
bcadf96 : ASTUnit: Don't clone the new DiagnosticConsumer, causing it to get leaked.
342742a : c-index-test: dispose spelling string after use.
34f9dc4 : Directly store TypoResultsMaps in the TypoEditDistanceMap, getting rid of manual deletion.
534986f : Add an AttributedStmt type to represent a statement with C++11 attributes attached. Since we do not support any attributes which appertain to a statement (yet), testing of this is necessarily quite minimal.
9cdd1e3 : Delete the TypoResultsMap when erasing the pointer to it.
38baeab : Don't enter cleanups for unreachable variables. It's impossible to jump into these scopes, and the cleanup-entering code sometimes wants to do some operations first (e.g. a GEP), which can leave us with unparented IR.
653b7cf : modern objective-c translator: Fixes translation of __typeof which is a regression by reverting r154360. // rdar://11233924
c6b468e : Avoid string thrashing when we can concatenate them in the final buffer.
b889614 : Serialize and deserialize some missing bits from BlockDecl.
ba8be8c : Kill the last vestiges of clangIndex
3082846 : Remove clangIndex reference from clang-interpreter CMake build
87e154c : Remove the unused, unmaintained, incomplete 'Index' library.
b20c46e : modern objective-c translator: When translating call to 'super' use __rw_objc_super as type of the 'super' meta-data instead of objc_super. // rdar://11239894
88507dd : Make control flow more explicit for rebuilding property reference expressions without their OpaqueValueExprs
1050471 : Remove the -cc1-level option "-pubnames-dump". Such things should stay out of the tree and use the tooling infrastructure.
f53bc31 : super and class property reference expressions don't need to be rebuilt. Fixes <rdar://problem/11052352>.
00000b0 : First set of tests for ARM homogenous aggregates. C only. C++ will follow.
eaf856d : Step forward with supporting of ARM homogenous aggregates: - Handle unions - Handle C++ classes
51b9240 : Implement __atomic_fetch_nand and __atomic_nand_fetch to complete our set of GNU __atomic builtins.
a1c4f7c : PR12500: Improve the wording of the diagnostic for a redefinition of a name in the wrong namespace scope. Patch by Jonathan Sauer!
5e6c3f0 : Support -Wc++98-compat-pedantic as requested:
b3440f5 : all-std-headers.cpp: Include the C++11 headers when building with clang in -std=gnu++11 mode.
7444639 : Fix a trivial oversight with apple-kext static local destructors and add a test case.
95e7aaf : Mention atomics support in the release notes. Thanks to Nico Weber for the suggestion.
97b57a2 : When we're flagging a protected scope to prevent jumps into the shadow of a block expression with non-trivial destructed cleanups, we should flag that in the enclosing function, not in the block that we're about to pop.
9d4e87e : Now that we provide sufficient support for three C11/C++11 atomics implementations, mark the atomics-related parts of the C++11 status page as done. I've not marked 'Strong Compare and Exchange' done, since although we implement supporting builtins, we don't yet produce different code for the weak and strong forms.
d555222 : C++11 no longer requires files to end with a newline
2c39d71 : Implement the missing pieces needed to support libstdc++4.7's <atomic>: __atomic_test_and_set, __atomic_clear, plus a pile of undocumented __GCC_* predefined macros.
e2d87bc : objective-c modern translator: beautify rewrite of struct __rw_objc_super; no functionality change.
f7728dc : Config.h: Add another definition which the Darwin build (sometimes) uses.
3705084 : Warn on 64-to-32 for source value of x bits where 64 >= x > 32.
6a86082 : [analyzer] PCH deserialization optimization.
273ed98 : [analyzer] Test case for r154451 (redefining system functions).
262acda : objective-c literals: Issue warning and ignore when BOOL is not of an intergal type when boolean literals are used. // rdar://11231426
7d00065 : s/isAtomicConversion/tryAtomicConversion/g, per Jordy's suggestion.
47bfcca : Fix some i1/i8 confusion within _Atomic(bool) in IR generation, both in general (such an atomic has boolean representation) and specifically for IR generation of __c11_atomic_init. The latter also means actually using initialization semantics for this initialization, rather than just creating a store.
83748e2 : Include lambda capture init expressions in CFG.
c02af35 : Add -Wuninitialized test for C++11 lambdas.
55331da : Fix CFGBuilder to not include the body of a LambdaExpr in the CFG of the enclosing function.
10e1629d : MIPS: Initialize MIPS CPU's name by default value. Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid features set with an empty feature name.
f7ecc30 : Compute standard conversion sequences for conversions to atomic types. The second and third conversions in the sequence are based on the conversion for the underlying type, so that we get sensible overloading behavior for, e.g., _Atomic(int) vs. _Atomic(float).
9985038 : objective-c numeric literal: type of boolean is that of typedef BOOL if found. // rdar://11231426
5ce2827 : modern objective-c translator. ifdef'out __weak and __block when rewriting. // rdar://11236342
41a7e89 : Fix the signatures for the _mm256_storeu2_* intrinsics. PR12532
9bc0c29 : Changed all direct calls to CompletionConsumer.reset(..) to go call CompilerInstance::setCodeCompletionConsumer instead, in order to change the SkipFunctionBodies flag accordingly. Also fixed setCodeCompletionConsumer to take a reset() to null into account.
6a91d38 : Added a flag to the parser to skip method bodies.
f33d549 : There's some code in the PCH reader that looks like it's needlessly complex, but turns out that it's actually needed for C++ modules support. Since simplifying it didn't cause any test failures, I'll add a test for it.
ff34d40 : Implement support for 18 of the GNU-compatible __atomic builtins.
b92bd4b : These functions too have no prototypes. Audited the rest of Sema for FunctionDecl::Create calls as well.
4f95f64 : Testcase for previous commit.
43443de : static functions have a need for mangled name debug information too. The mangler doesn't like non-prototyped functions so only use a mangled name for prototyped functions.
e5bbebb : The copy and destroy helper functions aren't prototyped, don't call them so.
78d5d3b : Implement clang_getDiagnosticCategoryText() to provide a way for a client of libclang to accurately get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file.
104dbf9 : modern objective-c translator. Fixes a mis-translation when of a __block struct object. // rdar://11230308
16aac6f : Add test for a construct we currently reject, constant-evaluating a load from a constant string. Given that gcc doesn't accept this, we should continue to not accept it, even though it was accidentally supported by clang for a brief period.
c3fa98f : [analyzer] Another dynamic_cast false positive/negative.
7ea1c56 : [analyzer] dynamic_cast Simplify null value generation.
06868aa : [analyzer] Better test cases for explaining where tracking types of symbolic regions would help.
acee1c9 : modern objective-c translator. Fixes a translation bug when first ivar in the list is a bitfield. // rdar://11229770
994d73f : Part of PR10101: after a parse error in a declaration, try harder to find the right place to pick up parsing. In C++, this had a tendency to skip everything declared within headers if the TU starts with garbage.
47f1165 : [libclang] Apparently it's important to build in C89, sigh..
d98ef9a : [libclang] Introduce a couple of functions to make it convenient to get at the parameters (and their types) of a function or objc method cursor.
eba8cd5 : [libclang] In cxloc::translateSourceRange make sure to handle locations in macro arguments correctly. clang diagnostics can provide fixits inside a macro argument now.
944b562 : Update recently-added test to use new __c11_ form of atomic builtins.
fafbf06 : Provide, and document, a set of __c11_atomic_* intrinsics to implement C11's <stdatomic.h> header.
5d70cfd : Make __atomic_init() (soon to be __c11_atomic_init()) work with non-scalar types.
adf7c85 : Clean up last commit as per dgregor's comments.
3a3c9b2 : Allow c++ initialisers to initialise _Atomic fields.
93848e0 : Add a triple to this test.
46853cb : Try to fix the windows buildbots by making this test a little less dependent upon metadata ordering.
be6c686 : Enable debug info for objective c implementations that may not have an explicit instance variable.
6ce48a7 : Support C++11 attributes at the start of a parameter-declaration.
9793428 : [libclang] Fix "error: conflicts with new declaration with ‘C’ linkage" that gcc emits but not clang.
e722ed6 : [libclang] If displayDiagnostics is set (when calling clang_createIndex), make sure to output the errors that occurred even if we did not get an AST (e.g. because the PCH failed to load).
259052d : [analyzer] Don't crash even when the system functions are redefined. (Applied changes to CStringAPI, Malloc, and Taint.)
e1b2abc : AtomicExpr: make ASTStmtReader a friend and remove setters. Also fix saving of an uninitialized Stmt* in serialization of __atomic_init and add a test of atomics serialization.
edec2ee : Fix quoting to allow shell expansion to occur for shell variables introduced by the test harness' expansion of %t.
88ec610 : modern objective-c translation: writing container subscripting. // rdar://11203853
a2c8d2e : [analyzer] dynamic_cast: Better model cast from a reference.
15f4c98 : [libclang] For clang_getOverriddenCursors make sure to report overridden objc methods for methods in categories of super classes. rdar://11220358
e19f86e : [analyzer] Add support for C++ dynamic_cast.
4335a48 : [analyzer] + comments
69a30b8 : When we determine that an initialization sequence failed due to an incomplete type, keep track of the actual type that was incomplete. Otherwise, we might fail to produce a diagnostic. Fixes PR12498.
abf65ce : Improve the printing of __PRETTY_FUNCTION__ more provide more information and more closely match GCC's, from Nikola Smiljanic!
316551f : Add a query macro for C++11 N3276, decltype does not require complete return types, from Michel Morin!
50fadd1 : Improve diagnostics in C++11 when a non-type template argument for a non-type template parameter of pointer type is not a constant expression.
b2561c7 : This test actually needs label names.
90f5f47 : Include the Objective-C parameter- and return-passing qualifiers when providing code completions for Objective-C method declarations. Fixes <rdar://problem/11164498>.
c078337 : For debug and coverage analysis if we're not optimizing go ahead and emit a relatively empty block for a plain break statement. This enables us to track where we went through a switch.
10ccf12 : Don't include the ':' following code-completion suggestions for 'public', 'private', or 'protected', unless code completion patterns are enabled. Fixes <rdar://problem/11189132>.
e7ea28a : objective-c: remove IsConstProperty as it does not seem to get called any more. Also add an assert in isModifiableLvalue.
0cc9fdb : Add a target triple to test/Index/complete-synthesized.m.
28a83f5 : [code-complete] Introduce CodeCompletionTUInfo which will be used for caching code-completion related strings specific to a translation unit (ASTContext and related data)
4296361 : Rework implementation of null non-type template arguments based on Richard's feedback, to properly catch non-constant expressions and type mismatches. Finishes <rdar://problem/11193097>.
5915561 : objective-c: add an assertion for property expression enterring IsConstProperty function.
2c6dbd7 : Fix GCC's pedantic return-type warning -- this enum is fully covered.
970b226 : Fix tautological FileCheck by moving the CHECK to an extra line.
e58e6f9 : Don't link lib[std]c++ when -nostdlib is specified (Solaris driver).
e9b4d98 : Pass -march, -mcpu, -mfpu to linuxtools assembler.
8250016 : Express the number of ULPs in fpaccuracy metadata as a real rather than a rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne.
2b124ea : EmitStopPoint already checks if we have debug info.
fc65ec8 : Tidy.
c56298d : Parsing of C++11 attributes: * Alternative tokens (such as 'compl') are treated as identifiers in attribute names. * An attribute-list can start with a comma. * An ellipsis may not be used with either of our currently-supported C++11 attributes.
6ee326a : Disambiguation of '[[': * In C++11, '[[' is ill-formed unless it starts an attribute-specifier. Reject array sizes and array indexes which begin with a lambda-expression. Recover by parsing the lambda as a lambda. * In Objective-C++11, either '[' could be the start of a message-send. Fully disambiguate this case: it turns out that the grammars of message-sends, lambdas and attributes do not actually overlap. Accept any occurrence of '[[' where either '[' starts a message send, but reject a lambda in an array index just like in C++11 mode.
0e9bf71 : Fix the testcase :-(
f1ee687 : objective-c modern translator: rewriting specific implicit casts which is needed to produce good c++ code. // rdar://11202764
c515154 : Fix an annoying little bug I found while debugging another LTO issue. Gold requires the -plugin to come before any -plugin-opt options, we were passing them the other way around. With this one can run (for example):
2ca35e6 : Remove -fobjc-default-synthesize-properties as the option to c-index-test.
63f5578 : My original patch missed the virtual-base case for destroying base-class subojects.
12d8d80 : Fix the access check performed as part of the determination of whether to define a special member function as deleted so that it properly establishes an object context for the accesses to the base subobject members.
ae7e939 : Author: Daniel Dunbar <> --- log message follows this test --- [tests] Fixup some tests to work in "CLANG_IS_PRODUCTION" mode.
16dc261 : Implementing a test for the use of PWD to base finding the correct compile commands on, based on an idea by Jordan Rose.
e51fe09 : objective-c: remove -fobjc-default-synthesize-properties from the driver. cc1 option remains though to invoke default property synthesis. // rdar://11209719
e52e2e6 : objective-c: Remove -fno-objc-default-synthesize-properties as the driver option. // rdar://11209719
4f5b3ac : Fixes a fix to finding the current directory: We currently want to look whether PWD is available - if PWD is available it will get us the non-resolved current path, while fs::current_path will resolve symlinks. The long term fix is to not rely on that behavior any more.
561d622 : Revert r154321, pending more discussion.
eb52f86 : Fix bugs found by -Wconstant-conversion improvements currently under review.
649ee3f : Add -fobjc-trace to emit a call before and after each Objective-C message send for hooking in code flow visualisation applications.
e257179 : Factor out ARM floating ABI determination to new routine
c3cb072 : Make a modern Objective-C runtime the default target for *BSD. Don't yet change this on GNU/Linux, where the GCC runtime still tends to be used.
5081de5 : Wire up -fpie and -fPIE to LLVM's newly added TargetOptions. No test case as we don't currently have any way of dumping target options or otherwise observing this. Another small step toward fixing PR12380. With this we generate TLS accesses using the static model instead of the dynamic model, but we're still generating suboptimal code under the mistaken assumption that the TLS offset might be greater than 2^32, and therefor not viable as an immediate offset of a segment register.
5e219cf : Teach Clang about PIE compilations. This is the first step of PR12380.
9579422 : Rephrase the preprocessor test to directly use CC1 and not bother testing any of the strange driver behavior. We already have some tiny tests for the driver behavior, and I'm going to expand them greatly in the next commit.
65ea45a : FileCheck-ize this test.
49149fe : Don't forget to evaluate the subexpression in a null pointer cast. If we're converting from std::nullptr_t, the subexpression might have side-effects.
b0afd5d : ext_reserved_user_defined_literal must not default to Error in MicrosoftMode. Hence create ext_ms_reserved_user_defined_literal that doesn't default to Error; otherwise MSVC headers won't parse.
073a780 : MIPS: Pass -mabi option to the assmbler when compile MIPS targets.
a2768be : MIPS: Move code calculates CPU and ABI names to the separate function to reuse this function later.
3be55cd : [Cygwin] Work around to flush stdout in a thread, or stdout in threads won't be flushed at exit.
b9abd872 : Fix several problems with protected access control: - The [class.protected] restriction is non-trivial for any instance member, even if the access lacks an object (for example, if it's a pointer-to-member constant). In this case, it is equivalent to requiring the naming class to equal the context class. - The [class.protected] restriction applies to accesses to constructors and destructors. A protected constructor or destructor can only be used to create or destroy a base subobject, as a direct result. - Several places were dropping or misapplying object information.
79c5f95 : test/lit.cfg: Please pass %INCLUDE% to clang.exe on Win32. MS-compatible clang may refer to %INCLUDE%. It fixes r154188.
a53ab5c : [driver] In general, the driver claims redundant args and uses the last arg. However, the '-x' option has special handling and wasn't following this paradigm. Fix it to do so by claiming the arg as we parse the '-x' option. rdar://11203340
b031eab : Remove "parse error" in favor of more descriptive diagnostics.
f7ef931 : more testing of objc's dictionary literal translation.
d2008e2 : Implement support for null non-type template arguments for non-type template parameters of pointer, pointer-to-member, or nullptr_t type in C++11. Fixes PR9700 / <rdar://problem/11193097>.
e35abe1 : modern objective-c translation: support for dictionary literals. This concludes // rdar://10803676
bd61313 : Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode we use the same Expr* as the one being currently visited. This is preparation for transitioning to having ProgramPoints refer to CFGStmts.
d2953ce : SourceManager: Vectorize ComputeLineNumbers for SSE2.
8491cb2 : MIPS: Provide a correct path to the dynamic linker when build for MIPS 64-bit targets.
83cad45 : Thread safety analysis: downgraded requirement that mutex expressions refer to a lockable type from error to warning.
b0f245c : modern objective-c translator: translate array literal expressions. // rdar://10803676
5f0a1c1 : MIPS: Pass -EB/-EL argument to the assembler according to selected endian when compile for MIPS targets.
f439e00 : [analyzer] Check that the arguments to NSOrderedSet creation methods are valid ObjC objects.
0121183 : Test for r154189/PR12481
30fa370 : Use atexit when __cxa_atexit isn't available instead of adding a global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that.
3f88f68 : Rename GenerateCXXGlobalDtorFunc to GenerateCXXGlobalDtorsFunc.
7f39d51 : Fix a Sema invariant bug that I recently introduced involving the template instantiation of statement-expressions.
40f45ee : Clear environment variables that might affect Clang before running tests.
b2f6820 : Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>
aba3f0f : MIPS: Move tests check float ABI macros definitions to the more appropriate place.
9f31437 : Fix using Clang as a cross compiler installed on a host machine and not inside of a sysroot targeting a system+sysroot which is "similar" or "compatible" with the host system. This shows up when trying to build system images on largely compatible hardware as-if fully cross compiled.
6614845 : zext ivar offsets if required (GNU runtimes).
cf2fa2f : Fixed scoping error for late parsed attributes in nested classes.
7a52180 : MIPS: Add tests for predefined macros for MIPS targets.
673720d : Fix diagnostic text for r154163.
9df1b96 : Restrict fixit for missing 'class' in template template parameters.
7947bb1 : [analyzer]Fix false positive: pointer might escape through CG*WithData.
bf9658c : Point the caret at the error for the 'expected namespace name' diagnostic in a namespace alias declaration.
bc1029b : Implement C90 pedantic warning for duplicate declaration specifiers which are duplicated via a typedef. Patch by Tim Northover.
ae916a1 : Properly implement the C rules for composite types for qualified pointers in conditionals. Patch by Tim Northover.
bf393be : objective-c: Don't warn when a category does not implement a method declared in its adopted protocol when another category declares it because that category will implement it. // rdar://11186449
856183c : Enhance testing a bit to make sure that we're omitting the getter and setter when they're synthesized with the default names.
78af8fd : Only emit the getter and setter names if they're not the default synthesized ones. Reasonable debug info size reduction for objc.
87b9c03 : Make the variant of __builtin_shufflevector that takes the shuffle indexes as a vector actually usable. Patch by David Neto. PR12465.
6fd4505 : Require that all static analyzer issues have a category. As part of this change, consolidate some commonly used category strings into global references (more of this can be done, I just did a few).
9091389 : Move some MIPS target macro definitions from class Mips32TargetInfoBase to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets.
e47029a : Temporary workaround for bug#12457: turn the 'constexpr function never produces a constant expression' error into a DefaultError ExtWarn, so that it can be disabled and is suppressed in system headers. libstdc++4.7 contains some such functions which we currently can't evaluate as constant expressions.
85ff969 : [Lex] Add support for 'user specified system frameworks' (see test case). - Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks.
9ee35f9 : [Lex] HeaderSearch: Introduce a FrameworkCacheEntry structure to hold the FrameworkMap items. - No functionality change.
f535a98 : Simplify.
a823545 : Improve & simplify diagnostic for missing 'class' in template template parameter.
b98b998 : Handle symbolicating a reference in an initializer expression that we don't understand.
04a18c9 : Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex might not be a symbolic value.
bb3d20f : Do not crash in the callgraph construction when encountering deleted function definitions. Fixes <rdar://problem/11178609>.
6b77ce8 : [analyzer] Move stats calculation out of AnalysisConsumer destructor. The ASTConsumer does not get deleted with clang --analyze (for performance reasons), we still want the diagnostics to work.
907344e : [analyzer] Change warding in a path diagnostic: "No method actually called because receiver is nil" -> "No method is called because receiver is nil"
cd86346 : [analyzer] Add a coverage calculation to FunctionSummaries.
4f4705f : [analyzer] Remove redundant if statement (pointed out by Ted).
a85cf39 : Improve diagnostics for invalid use of non-static members / this:
4fd05dc : Add triples to these tests to keep them working on Windows, where wchar_t is only 16 bits wide.
f76e7f7 : RelNote improvements made to -Wliteral-conversion by r141955.
69f50e7 : Fix assertions and wrong output from StmtPrinter's string literal printing. String literals (including unicode ones) can contain non-Unicode codepoints if they were written using \x or similar. Write those out using \x, but be careful that the following character can't be misinterpreted as part of the \x escape sequence. Convert UTF-16 surrogate pairs back to codepoints before rendering them.
e31b8fb : Enable warn_impcast_literal_float_to_integer by default.
371a0c8 : clang/test/Tooling/clang-check.cpp: Mark it as XFAIL also on cygwin.
5b4bf13 : Allow a conversion from the empty initializer list {} to an std::initializer_list<T> so long as <T> is known. This conversion has identity rank.
3953911 : Honor -fno-pic, -fno-PIC, -fno-pie, -fno-PIE.
30fe6ba : [driver] When using the -mfpmath= option, add an error message when trying to enable neonfp on a CPU that doesn't support NEON. rdar://11108618
397f327 : Hardcode a triple to prevent the test failing on targets which don't support __thread.
1209386 : Test commit to check commit access.
b4051e7 : Implement C++11 [temp.arg.nontype]'s permission to use the address of an object or function with internal linkage as a non-type template argument.
465a899 : Fix an oversight: don't run ARC optimization cleanup at -O0.
f80f2a5 : Whitespace.
9931727 : [driver] Add a static helper function for handling -mfpu= to remove some code duplication. No functional change intended.
d624a5b : Reduce variable scope.
7a938fa : [driver] Create a new -mfpmath= option, which is used to control whether clang uses Neon instructions for single-precision FP.
878f850 : objc-arc: provide a warning when 'receiver' of a message is 'weak' in arc mode and opted-in with -Wreceiver-is-weak flag. // rdar://10225276
bb811ca : Look through chains of 'x = y = z' when employing silencing heuristics in the DeadStoresChecker.
e982cc0 : modern objc translator. Add more rewriter specific option to cc1 with -rewrite-objc. // rdar://11143173
15b7731 : Remove unused argument.
0718952 : Include the "issue context" (e.g. function or method) where a static analyzer issue occurred in the plist output.
f54486a : Move the computation of the lambda mangling information (mangling number + context) to the point where we initially start defining the lambda, so that the linkage won't change when that information is made available. Fixes the assertion in <rdar://problem/11182962>.
2d4476d : Install arm_neon.h outside of the default include path.
8e86b2d : objective-c modern translation. Remove commenting out of extern "C". // rdar://11169733
e1fde1d : Simplify test a bit now that it's not actually running cc1plus.
e23d0b2 : clang/test/Tooling/clang-check.cpp: Mark it as XFAIL mingw,msvc for now.
01b8ca5 : Tooling.cpp: Reorder inclusions according to the conding standards.
b175d0f : Tooling.cpp: Don't refer to $ENV{PWD}. Use llvm::sys::fs instead.
9595dae : Don't crash (assert failure) when generating blocks for C++ types with a non-const copy constructor.
92f7409 : Updated release notes for tooling.
29b815c : clangFrontend depends on clangEdit.
43d5aac : Add the dependency on clang-check to clang-test, so clang-check can be integration tested.
cb971c6 : Adds a tooling library.
c9aa9c0 : Don't actually execute gcc during testing.
6fb522e : Add a testcase for svn r153854.
9033092 : Fix diagnostic typos: "non-template arguments" vs "non-type template arguments". No test updates: we don't appear to have any test coverage for these diagnostics!
5a5a971 : For PR11916: Add support for g++'s __int128 keyword. Unlike __int128_t, this is a type specifier and can be combined with unsigned. This allows libstdc++4.7 to be used with clang in c++98 mode.
d280389 : When performing template argument deduction for an initializer list, be sure to perform the argument type adjustments in []p2, e.g., array decay.
a9b55a4 : Dependent-sequence initialization of a single element can be direct list-initialization. Loosen an over-eager assertion to fix PR12453.
a06642a : [preprocessor] In Preprocessor::CachingLex() check whether there were more tokens cached during the non-cached lex, otherwise we are going to drop them.
e14ba2c : When computing the conversion sequence in overload resolution for converting an empty list to a scalar, be sure to initialize the source and destination types so that comparison of conversion sequences will work in case there are multiple viable candidates.
95e3872 : If something already instantiated is reinstantiated as an explicit definition, keep the latter.
beeb460 : ErrorUnsupported on array cookies in the MS C++ ABI code; patch by Timur Iskhodzhanov.
73f428c : Enter an expression evaluation context when parsing statement-expressions. Prevents cleanups and such from being claimed by the first full-expression in the block.
8e59838 : Fix dead store warning.
88fc181 : Change BugReporter's usage of IsCachedDiagnostic to only impact pruning diagnostics emitted to the console, and leave it up to PathDiagnosticConsumer to unique reports with the shortest path.
74a1a1f : Silence dead store warning, and fix indentation.
6c656c3 : Remove dead assignment to local variable.
7b156dd : Add feature check "cxx_local_type_template_args" describing support for templates with local template arguments, from Michel Morin! Fixes PR12337.
b0d06e2 : Eliminate obvious use-after-free. Fixes PR12433 / <rdar://problem/11168333>.
173a37a : Remove more redundant lookups. Add a new "all_lookups_iterator" which provides a view over the contents of a DeclContext without exposing the implementation details of the StoredDeclsMap. Use this in LookupVisibleDecls to find the visible declarations. Fixes PR12339!
893a6ea : Don't treat synthesized ivars as being in the base class for the purpose of looking up visible decls.
6d858d9 : Replace the workaround from r153445 with a proper fix.
b3f904f : modern objective-c translator: rewriter linkage spec. // rdar://11169733
14e6455 : Correct handling of _Pragma macro inside a macro argument.
c8443e5 : Rework ProgramPoint to bit-mangle the 'Kind' into both Data pointers and the LocationContext. After switching to PointerIntPair, it didn't look like a safe assumption to use the lower 3 bits of the LocationContext* field. Thanks to Jordy Rose and Benjamin Kramer for their feedback.
e62f048 : [analyzer] Record the basic blocks covered by the analyzes run.
0ea6164 : Add more constraint registers for mips.
ea32047 : Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration. Use the current scope location as a separate parameter so that we can match it up better in the line table with the beginning of the scope.
31b5762 : Fix another false positive in RegionStore involving doing loads from symbolic offsets. We still don't properly reason about such accesses, but we shouldn't emit bogus "uninitialized value" warnings either. Fixes <rdar://problem/11127008>.
d9b7955 : Fix potential null dereference in the static analyzer when inlining a call that has already been inlined. Unfortunately I have no test case.
f30c0a9 : Reduce static analyzer memory usage by about 4% by packing the ProgramPoing 'Kind' field into the spare bits of other fields.
e6af660 : PR10217 diagnostic fix: don't say 'copy constructor' when we mean 'copy assignment operator'.
219c2e2 : Remove windows line endings.
5bdaac5 : Finish PR10217: Ensure we say that a special member was implicitly, not explicitly, deleted in all relevant cases, and explain why.
460ef13 : Correct error recovery when missing 'class' in a template template parameter.
e7d0bbf : Silence -Wunused-variable in -Asserts build
0f6931a : PR12438: Profile a reference to a type template parameter by depth and index, not by canonical decl. This only matters for sizeof...(Pack) expressions; in all other cases, we'd profile it as a type instead.
1c931be : Implement DR1402: if a field or base class is not movable, the derived class's move constructor/move assignment operator are not declared, rather than being defined as deleted, so move operations on the derived class fall back to copying rather than moving.
582b395 : Use -rewrite-legacy-objc as clang argument for translating objective-c's fragile abi, Use -rewrite-objc for translating objective-c's modern abi. // rdar://11143173
99d43b4 : Fix build by passing in the needed variable after r153860.
c5a89a1 : Basic semantic analysis support for inheriting constructor declarations in dependent contexts.
651f3d4 : Ignore unused --serialize-diagnostics option when using llvm-gcc.
70e24fc : Properly handle explicit constructors in list-initialization. Fixes PR12120.
4a5f724 : Analyzer: Store BugReports directly in a ilist instead of adding another layer of inderection with std::list
e2e8768 : Fixed MacroInfo definition range for function like macros with empty body.
6c235bc : Remove unused but set variable.
d76e1cd : [arcmt] When fixing the "unassigned init call" ARC error, make sure to do a nil check for the result of the call.
d786f1a : [libclang] Fix use-after-free bug when handling attributes indexing info.
86cff60 : modern objective-c translator: writing container literals. wip. // rdar://10803676
34ebe1e : [libclang] Introduce clang_Cursor_getObjCSelectorIndex() function.
50651b9 : Fix a pair of invalidation bugs when emitting protocol definitions in the fragile and non-fragile Mac ObjC runtimes. No useful test case. Fixes rdar://problem/11072576.
355bba7 : Make sure we unique static-local decls across multiple emissions of the function body, but do so in a way that doesn't make any assumptions about the static local actually having a proper, unique mangling, since apparently we don't do that correctly at all.
ba1da14 : [libclang] Introduce clang_Cursor_getSpellingNameRange().
6c4c36c : PR10217: Provide diagnostics explaining why an implicitly-deleted special member function is deleted.
0f30a12 : Revert r153723, and its follow-ups r153728 and r153733.
40afb7d : [driver] Create a new L_Group for language options and add the -std= option to said group. Also classify the group as a CompileOnly_Group so that this option does not cause an unused argument warning when used with a link command. rdar://11153013
0f9b18e : modern objective-c translator: writing numeric literals. // rdar://10803676
8b0fa52 : If we encounter a friend class template for which we cannot resolve the nested-name-specifier (e.g., because it is dependent), do not error even though we can't represent it in the AST at this point.
d6d7582 : Fix Clang headers installation.
49d26d2 : Do the static-locals thing properly in the face of unions and other things which might mess with the variable's type.
5aeaca3 : Correctly check argument types for some vector macros in smmintrin.h. Put parentheses around uses of vector macro arguments.
62a5c34 : [analyzer]Malloc,RetainRelease: Allow pointer to escape via NSMapInsert.
3bbd8cd : [analyzer] Do not inline functions which previously reached max block count.
29bbd1a : Handle placeholder expressions in an ObjC for-collection loop. The way we handle this implicitly removes the ability to use property l-values in this position, but that's really okay.
26945ad : ItaniumCXXABI.cpp: Don't use nullptr. Clang source tree should be pre-c++11-compatible.
96579c4 : Revert previous commit changing location information to see if this is causing the gdb test failures on the bots.
5228982 : Add _mm_minpos_epu16 to smmintrin.h. Fixes PR12399.
100c649 : Forbid the block and lambda copy-capture of __autoreleasing variables in ARC, under the usual reasoning limiting the use of __autoreleasing.
5629646 : Fix shuffle vector calculation for mm_permute_ps. Fixes PR 12401.
9993cc7 : When emitting a static local variable in C++, handle the case that the variable already exists. Partly this is just protection against people making crazy declarations with custom asm labels or extern "C" names that intentionally collide with the manglings of such variables, but the main reason is that we can actually emit a static local variable twice with the requirement that it match up. There may be other cases with (e.g.) the various nested functions, but the main exemplar is with constructor variants, where we can be forced into double-emitting the function body under certain circumstances like (currently) the presence of virtual bases.
56ea377 : Add a note about a missing optimization in the case of virtual inheritance.
3754f96 : Missing piece of r153720: make sure the vtable pointer is handled correctly.
5fe61c6 : ConstStructBuilder: fix offset math for base classes so it works correctly in general. Found by inspection.
38ac243 : Make sure we perform the relevant implied conversions correctly for ObjC methods with related result types. PR12384.
9ee2002 : Testcase for the previous commit.
7435054 : Change location information for synthesized properties to be at the property file/line rather than the @synthesize file/line. Avoids some nasty confusing-ness with conflating the file from the scope and the line from the original declaration.
84392d0 : The UTF16 string referenced by a CFString should go into the __TEXT,__ustring section. A 'normal' string will go into the __TEXT,__const section, but this isn't good for UTF16 strings. The __ustring section allows for coalescing, among other niceties (such as allowing the linker to easily split up strings).
b085d89 : Add info to ObjCPropertyRefExpr to indicate whether the dot syntax property reference is going to message the setter, the getter, or both.
d046952 : [libclang] A MemberRefExpr cursor for a property dot syntax should have as its location the location of the property.
66373dd : [libclang] Have c-index-test output more information about a cursor with -cursor-at:
1ef28db : Extend -Wc++11-narrowing to cover converted constant expressions as well as braced-initializers. <rdar://problem/11121178>.
4b81e74 : [analyzer] Add a malloc cpp test file.
8322c23 : Fix whitespace.
6903313 : ARM backend knows about cortex-m4. The front end should too.
868e985 : modern objc translator: avoid some duplicate declarations.
df8dc86 : Refactor special member function deletion. No functionality change.
882784d : Relax the test slightly so that it should pass on other people's computers.
17c8caf : modern objc translator: additional test.
3a7d69b : Call out to GCC-compatible runtime functions for atomic ops that we can't use LLVM intrinsics for.
2ebb98a : Pass parameters in the correct order when assembling an AtomicExpr.
297976d : modern objective-c translator: fix up assortment of visibility directives for a variety of exported meta-data symbols. // rdar://11144048
649b4a1 : Revert r153613 as it's causing large compile-time regressions on the nightly testers.
ecae596 : Go back to using just the selector name for the getter and setter in the property debug info. Any more isn't necessary after all.
16098f3 : Tidy.
c0b6dbe : Make ModuleMapParser own its TargetInfo, so it doesn't get leaked.
51c0371 : Add support for objc property decls according to the page at:
be5ff2f : unwind.h fix for -fvisibility=hidden users. This fixes firefox build in a system with libunwind installed. Patch by Jeffrey Yasskin!
52f10d5 : Don't try to parse a malformed parameter list after a constructor or operator name as a direct initializer.
9988f28 : Reject 'template<typename...Ts> void f(Ts ...(x));'. Add a special-case diagnostic and a fix-it to explain to the user where the ellipsis is supposed to go.
0fd4a68 : [arcmt] Fix a bug where a property in a class extension, that did not exist in the interface, got its attribute rewritten twice, resulting in 'weakweak' or 'strongstrong'.
dde3bdb : Define __LITTLE_ENDIAN__ for le32, since "le" stands for little endian. Add a test for this too.
57cd1b8 : When we can't prove that the target of an aggregate copy is a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204.
b684a42 : Fix typo in my last patch.
e7ea4e5 : Install clang++ whenever clang gets installed.
f962eb4 : [libclang] Fix CIndexer::isOptEnabled(); not sure what I was thinking there.
b47dbcb : [analyzer] Enable retry exhausted without inlining by default.
fb02784 : Fix the type of wchar_t on Solaris.
a78eca2 : objective-c: Improve diagnostics and provide 'fixit' hint when dictionary index is not of proper type. // rdar://11062080
253955c : [analyser] Stats checker: do not mark a node as exhausted if we will retry without inlining.
64ee9d0 : [analyzer] Refactor: Use Decl when determining if the Block belongs to the root function.
a0786c9 : CodeGen/CGDeclCXX.cpp: Twine-ize CreateGlobalInitOrDestructFunction().
6960587 : Unify and fix our checking of C++ [dcl.meaning]p1's requirements concerning qualified declarator-ids. We now diagnose extraneous qualification at namespace scope (which we had previously missed) and diagnose these qualification errors for all kinds of declarations; it was rather uneven before. Fixes <rdar://problem/11135644>.
1e1e972 : When we form a new function/class template specialization, we first search for the specialization (in a folding set) and, if not found form a *Decl that is then inserted into that folding set. In rare cases, the folding set may be reallocated between the search and the insertion, causing a crash. No test case, because triggering rehashing consistently in a small test case is not feasible. Fixes <rdar://problem/11115071>.
6488dc3 : Fix suspicious comparison reported by PVS-Studio!
81b5ac3 : [libclang] Rename setBackGroundPriority -> setThreadBackgroundPriority.
8e7c48a : [libclang] Fix gcc error.
fdc1795 : [libclang] Introduce options to control the priority for the threads that libclang creates.
bbca564 : [libclang] Put the CIndexer class in the clang namespace instead of having it at global namespace.
142bcb5 : [libclang] For clang_saveTranslationUnit, if the AST to save has invalid nodes due to compiler errors, use a crash recovery thread to do the AST writing for protection.
82fe6ae : Move the emission of strict enum range metadata behind a flag (the same flag as GCC uses: -fstrict-enums). There is a *lot* of code making unwarranted assumptions about the underlying type of enums, and it doesn't seem entirely reasonable to eagerly break all of it.
ba10306 : Introduce a new libclang API to determine the parent context of a code completion item. For example, if the code completion itself represents a declaration in a namespace (say, std::vector), then this API retrieves the cursor kind and name of the namespace (std). Implements <rdar://problem/11121951>.
2259286 : If we see '(...' where we're expecting an abstract-declarator, that doesn't necessarily mean we've found a function declarator. If the next token is not a ')', this is actually a parenthesized pack expansion.
b49a29f : [libclang] Introduce indexing option CXIndexOpt_SuppressWarnings, which disables all compiler warnings.
5594704 : modern objective-c translator: writing objc boolean literals. // rdar://11124775
5903a37 : [analyzer] Add an option to re-analyze a dead-end path without inlining.
14d8381 : [analyzer] Fix a typo.
65552ca : [analyzer] Stats checker: minor interprocedural tweaks.
1f5171e : [analyzer] Stats: Only count the number of times we run path sensitive analyzes.
d1f853d : Add better support for $fp and $sp for mips inline asm support.
db81d38 : [preprocessor] Handle correctly inclusion directives that have macro expansions, e.g "#include MACRO(STUFF)".
e033578 : objective-c modern translator: move all inithooks into a single array // rdar://11124354
f78c0f9 : Even more careful consideration of C++11 Fixes PR12241.
978fc9c : Introduce a -cc1-level option -pubnames-dump, which simply dumps the list of identifiers that that 'public' names at the end of the translation unit, e.g., defined macros or identifiers with top-level names, in sorted order. Meant to support <rdar://problem/10921596>.
2610f90 : Remove few if-then-else when both branches are the same. pr12357.
3f162c3 : Commit patch reverted in r153454 with the modified test case that I forgot to check in.
9da31cb : Update the ARC specification for several changes made in the last N months. This required a brief soliloquy about change in an uncertainly-versioned world.
5d8388c : Add cross-referencing comments to ParseDirectDeclarator to note that isConstructorDeclaration also needs updating for any extension to the grammar of a direct-declarator.
de5b4fb : Change RetainCountChecker to eagerly "escape" retained objects when they are assigned to a struct. This is fallout from inlining results, which expose far more patterns where people stuff CF objects into structs and pass them around (and we can reason about it). The problem is that we don't have a general way to detect when values have escaped, so as an intermediate step we need to eagerly prune out such tracking.
412e0cc : When we see 'Class(X' or 'Class::Class(X' and we suspect that it names a constructor, but X is not a known typename, check whether the tokens could possibly match the syntax of a declarator before concluding that it isn't a constructor. If it's definitely ill-formed, assume it is a constructor.
3f71860 : [driver] Put -cpp-precomp and -no-cpp-precomp under the clang_ignored_f_group. We don't currently support these options. rdar://11120518
d3d7d4d : [driver] Testcase for r153469, r153470, and r153478.
afc4baa : [driver] Fix unused argument warnings.
ec09b3e : [driver] -mkernel implies -fno-common, so claim the arg to avoid an unused argument warning. Part of rdar://11120518
3d26550 : [driver] -mkernel implies -fno-builtin, so claim the arg to avoid an unused argument warning. Part of rdar://11120518
1f4c54d : Forward-declared enumerations are now complete, except for an interaction between unscoped enumerations and class template member specializations, whose behavior is currently under discussion in CWG (and for which there is a preference to not implement the currently-standardized wording).
0724b7c : Add a special-case diagnostic for one of the more obnoxious special cases of unscoped enumeration members: an enumerator name which is visible in the out-of-class definition of a member of a templated class might not actually exist in the instantiation of that class, if the enumeration is also lexically defined outside the class definition and is explicitly specialized.
5432ff2 : [tests] Fix test failure in release mode.
165ce3c : Simplify code, no functionality change.
ad11f1c : Revert r153443 "objective-c modern translator: extern "C" exported", it fails in testing.
4cd7edf : [analyzer] Malloc: Allow a pointer to escape through OSAtomicEnqueue.
54edd47 : Test case for r153348.
8cb4a07 : add tbaa metadata to vtable pointer loads/stores
1eb18af : Move CodeCompletionBuilder's chunk adding methods out of line.
0179868 : When diagnosing an invalid out-of-line redeclaration, don't permit typo correction to introduce a nested-name-specifier; we aren't prepared to handle it here. Fixes PR12297 / <rdar://problem/11075219>.
b12dc68 : objective-c modern translator: extern "C" exported symbols. // rdar://11103982
a8e0b97 : Canonicalize the declaration we write to a PCH file for an InjectedClassNameType; otherwise, it won't be properly wired to the original (canonical) declaration when it is deserialized. Fixes <rdar://problem/11112464>.
dccb9bb : Driver: Factor string vector push_back into a helper class and optimize it.
ecafd30 : ThreadSafetyReporter: Manage diagnostics in a std::list.
38f0df3 : Handle instantiations of redeclarations of forward-declared enumerations within templated functions. Build a redeclaration chain, and only instantiate the definition of the enum when visiting the defining declaration.
4ca93d9 : Delay checking of dependent underlying types for redeclarations of member enumerations in templates until the template is instantiated.
b3dcbbd : Since this change is generating a considerable amount of discussion (and possibly even a regression for known bad versions), I'm reverting it.
b3656d3 : No longer hard coding paths to the MinGW include directories; using a regular expression instead.
6955da2 : clang/lib/Analysis/CFG.cpp: Get rid of early insertion of placeholder to the map.
9260f61 : clang/lib/Analysis/CFG.cpp: Fix memory leak since r153297.
269dd01 : Bookkeeping.
b293f52 : test/Driver/cpath.c: Escape a few args that contain %{pathsep}.
1eff209 : Fix the tabs. Fix the spaces.
560ad31 : Migrate external/clang to CLANG-153220-20120321.
7e42392 : Simplify some users of DenseMap::erase.
790d295 : remove declaration of _objc_empty_vtable no longer used in modern objc translator. // rdar://11105680
74873c4 : Fix copy and pasto.
249cd10 : moderin objc translator: remove 'const' from remaining fields in _class_ro_t metadata. // rdar://11079898
c3f8955 : Add back r153360 with a fix for enums that cover all the 32 bit values. Thanks to NAKAMURA Takumi for finding it!
88a569a : Revert r153360 (and r153380), "Second part of PR12251. Produce the range metadata in clang for booleans and".
d961ea9 : Don't cast away constness.
539a230 : On i386 the alignment of i64 is 4, not 8.
1fcf4f1 : Bookkeeping in
b000fb5 : [analyzer] Tighten up the realloc() failure path note generation...make sure we get the right realloc()!
3bc75ca : [analyzer] Restart path diagnostic generation if any of the visitors change the report configuration while walking the path.
0115349 : [analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able to reset diagnostic generation.
5d5ed59 : [parser] If there are unmatched braces in a function definition, try to recover by returning the statements that we parsed so far, instead of dropping the whole function body.
e27af29 : Second part of PR12251. Produce the range metadata in clang for booleans and c++ enums.
f602806 : Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash.
e78ec3e : use EP_OptimizerLast instead of EP_ScalarOptimizerLate for ThreadSanitizer
fce79eb : Make sure we don't accept an @interface inside another objc container just because there was an attribute in front of it.
30a2805 : [libclang] Make sure we don't crash when trying to index code that managed to insert an @interface as top level decl contained by another @interface.
ec5a306 : Revert accidentally-committed www changes (and an unused diagnostic); forward-declared enums aren't /quite/ done yet.
3343fad : When defining a forward-declared enum, don't try to attach the definition to a previous declaration if the redeclaration is invalid. That way lies madness. Fixes a crash-on-invalid reported by Abramo.
ad8d8a3 : Add support for MIPS' floating ABIs (hard, soft and single) to clang driver.
2098c1c : Update checker build.
514f2c9 : Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases).
f102c45 : Remove the vestiges of the C backend.
1af83c4 : Support for definitions of member enumerations of class templates outside the class template's definition, and for explicit specializations of such enum members.
ccc6f36 : [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, return from clang_getCursorLocation the start location of the method name.
e8018f2 : corrected check::EndOfTranslationUnit checker name and added 'const' to declaration
8c6d360 : [CFG] Cache boolean evaluations of expressions to avoid multiple re-evaluations during construction of branches for chained logical operators.
7608a80 : Remove unused bits.
df474ec : modern objc translation of block literal expressions declared at file scope. // rdar://11006566
263e0a6 : Small cleanup.
8ff6059 : Use correct FileCheck regexp.
acb5310 : When an MMX output variable is tied to the input variable, we have to implicitly cast the value to x86_mmx. This gives the ASM string the correct call signature. <rdar://problem/10919182>
bce35a2 : line endings
e5a8aeb : Make sure we correctly set the alignment for vector loads and stores associated with vector element lvalues. Patch by Kevin Schoedel (with some minor modifications by me).
5aac0b6 : Fix static analyzer crash on code taking the address of a field. Fixes PR 11146.
638e2d3 : [analyzer] Add the stat for the number of successfully explored paths.
749bbe6 : [analyzer] Add stats useful for coverage investigations.
64394e2 : [analyzer] Add inlining awareness to the block coverage computation (Stats Checker).
d13c2c2 : modern objc rewriter: until we can translate block literals at global scope properly, issue diagnostics.
0d4cb85 : Fix a comment: kPropertyType = 'T' not 't'. <rdar://problem/11095729>
2df089d : modern objective-c rewriter: Fix up translation of property attributes. // rdar://11095151
643586f : [PCH] When we are replacing a decl in a chained PCH that is also a DeclContext, make sure to fully load its external lexical and visible declarations before re-writing it.
86029ea : Update front page to indicate that we do, in fact, support some of C++11.
06911d4 : "Teach" RetainCountChecker about dispatch_set_context, which can indirectly free its argument later. Fixes <rdar://problem/11059275>.
8bd37f1 : Relax the FileCheck assertions in this test a touch. Previously the test relied on an artifact of how the inliner and subsequent passes in clang's -O3 mode happen to treat basic blocks and the labels for the basic blocks. In my work on the inliner, and changed this fundamental assumption, and the label that was being checked on the entry basic block will no longer appear in opt builds. There was no reason to expect the label to always be present anyways, much to my regret.
550f223 : Fix broken CFG when an initializer is a statement expression that starts with a while loop (PR 12325).
564f4c5 : During the instantiation of a class template specialization, that specialization is known to be incomplete. If we're asked to try to complete it, don't attempt to instantiate it again -- that can lead to stack overflow, and to rejects-valids if the class being incomplete is not an error.
9293fff : Simplify DataRecursiveIntBinOpEvaluator::VisitBinOp() a bit and make sure we don't evaluate RHS if LHS could not be evaluated and keepEvaluatingAfterFailure() is false.
f5aa3f5 : [analyzer] Malloc: drop symbols captured by blocks.
5cf6b6c : modern objective-c translator: Change declaration of all objc_msgSend unctions to void parameters and void return. // rdar://11094890
b778305 : Change the binary operator data recursive evaluator to not stop at the first non-constant value encountered. This allows the evaluator to deduce that expressions like (x < 5 || true) is equal to true. Previously, it would visit x and determined that the entire expression is could not evaluated to a constant.
850f1b1 : Remove unused variable, fix indentation.
54faba4 : For enums with no tag name, display its location in the diagnostic instead of displaying ''. // rdar://11082110
9354f6a : fixes the diagnostic issued in // rdar://11069896
cde7a1d : Report the natural alignment of unsigned long long, not the preferred alignment. rdar://11054144
1e0c952 : Try to get cpath.c passing on windows, using lit's new ${pathsep} variable.
3d7c44e : [analyzer] Malloc: Utter the name of the leaked variable. Specifically, we use the last store of the leaked symbol in the leak diagnostic. (No support for struct fields since the malloc checker doesn't track those yet.)
27b867e : [analyser] Factor out FindUniqueBinding from RetainCount checker.
046c9e6 : [analyzer] Re-enable the test disabled by r152969. (The fix was committed in r152982.)
57f6d19 : Duplicated code is bad. At least make it consistent.
4e648e4 : Allow void blocks to return witn a void expression in c-mode to match behavior with void functions in c. Issue warning with -pedantic. // rdar://11069896
677a35b : For Darwin, do not let -mcpu override the -arch option. <rdar://11059238>
4e825df : modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898
1526f54 : Removed repeated word (of of).
3ef963b : Undo previous patch as I checked more than I intended.
7e725bc : modern objective-c rewriter: remove 'const' from pointer field declarations in several meta-data. // rdar://11079898
260a3e4 : For the annals of subtle but terrible bugs: fix a longstanding bug in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance.
247c719 : clang-interpreter/Makefile: [PR12313] Update USEDLIBS to add clangEdit.
20f8939 : RewriteModernObjC.cpp: Don't expose temporary std::string with StringRef. (StringRef)getName() can be used here.
4c7a6c6 : Test case for rdar://problem/11055105, a bug with the instantiation of references to function template parameters in noexcept clauses when the instantiation is forced from a point during parsing when a block is in scope.
fde05e1 : Close the paren. // rdar://11076938
451b441 : Update comment.
a62c380 : numberWithFloat -> numberWithDouble.
12d47cc : modern objective-c translator: insert couple of pragmas for optimization. // rdar://11079898
2498885 : Fixed typo.
62f1234 : Added summary section for Object Literals and Subscripting, which contains the external link.
4b2fe6e : modern objective-c translator: add static function to initialize the class pointer in the category structure. // rdar://11076938
1cd89c4 : More careful consideration of C++11 Fixes PR12257.
ca89371 : Fix the other place where C++98 work for initializer lists was necessary.
452eac1 : more modern objective-c meta-data stuff.
ca7f5bd : Fixed typos.
7f919c8 : Link to Objective-C literals documentation.
af39ba1 : Objective-C literals documentation.
3739b32 : Don't include FixIts with a null replacement range. Fixes <rdar://problem/11040133>.
fce8009 : Fix a use-after-free in thunk emission. EmitThunk may call RAUW on Init, invalidating the pointer.
a03e40c : modern objective-c translator: provide meta-data initialization via functions for certain pointer initialization fields. // rdar://11076938
6181e56 : Debug info: Tighten up uses of plain MDNode pointers which don't survive replaceOperandWith.
fd4ce2c : modern objective-c translator: couple of minor changes to how meta-data is declared. // rdar://11076938
c407f25 : Test commit.
7cb2a1b : objective-c modern translator: Refactor intername ivar names to one place and use it throughout. Also, change ivar name to avoid name collisions. // rdar://11079366
db163c8 : [avx] Define the _mm256_loadu2_xxx and _mm256_storeu2_xxx intrinsics.
acd76fe : Add missing bitcast that was breaking Objective-C++ exception typeinfo (GNUstep runtime).
d967c6a : Add test case for <rdar://problem/10553686>, which illustrates RetainCount checker working with inlined C++ template functions.
4cf2253 : Fix crash when querying the CFG reported when using the thread safety analysis on code using multi-dimensional arrays. Fix by DeLesley Hutchins, and reported in PR 12271.
0822c5f : [libclang] Have clang_getCursorExtent() return the range of the main file when the passed cursor is the translation unit cursor.
4bcf3d0 : removed unused code in the modern objc rewriter file.
b455686 : LanguageExtensions: Manually word wrap a line to reduce horizontal scrolling.
a7d66b5 : line endings
3538f74 : Use a simpler pluralization construct
55261af : modern objective-c translator: fix type of objc_exception_throw declaration and its siblings.
6d2b131 : test/Driver/cpath.c: Mark this as XFAIL:mingw32,win32 for now.
09c5c39 : Fix a regression where ':' in CPLUS_INCLUDE_PATH and friends would no longer separate paths.
3e280b5 : Add the missing compatibility warning for braced initializers as default arguments.
359487b : An error can't be in a warning group.
393f98b : [analyzer] Mark a failed-realloc's result as an interesting symbol between the realloc call and the null check, so we get nicer path notes. Fixes a regression introduced by the diagnostic pruning added in r152361.
4207eda : Turns #import in MS Mode into an error.
07b49a8 : Use character literals for vexing initialization fixit hints.
ef94588 : [analyzer] Use a FoldingSet to cache simple RetainSummary instances, rather than explicitly keeping DoNothing and StopTracking summaries and nothing else.
957ff27 : Replace a FIXME with a diagnostic when we can't resolve the nested-name-specifier for a class template declaration. Fixes PR12291.
42acead : Diagnose tag and class template declarations with qualified declarator-ids that occur at class scope. Fixes PR8019.
f3aae58 : [analyzer] Unify retain-count summary generation for class and instance methods. No functionality change.
44b8e46 : Kill cocoa::deriveNamingConvention and cocoa::followsFundamentalRule. They are now just simple wrappers around method families, and method decls can cache method family lookups. Also, no one is using them right now.
e921b1a : [analyzer] Remove duplicate work on deriving method behavior. No functionality change.
22e2f85 : modern objective-c rewriter: further improvement in writing @synchronized statement; do not call locking expression more than once and support early exits in @synchronized's statement block (such as return).
8fe4525 : StaticAnalyzer: Fix abuse of StringRef in r152962.
8e42f27 : When determining the availability of an enum constant, also consider the availability of the enumeration type itself. Fixes <rdar://problem/10996386>.
74b7b2b : [analyzer] Don't claim an object was returned with +1 retain count before counting autoreleases. Fixes PR10376.
7a4a9cd : [analyzer] Add test case from PR10794 for using 'new' with Obj-C objects.
9c20b75 : [analyzer] This test is breaking windows bots, make it darwin-specific.
2c085ed : Fix crash on invalid code. I've tried to produce a reduced test case, but when I do the specific crash is hidden. Fixes <rdar://problem/11063594>.
fbd5874 : [analyzer] Shorten the stack hint diagnostic.
2eb2729 : Make the storing variable's name generic.
56a938f : [analyzer] Create symbol-aware stack hints (building upon r152837).
076add6 : [analyzer] +Comments
131579f : [analyzer] Add a statistic for the number of times we reach the max number of steps in the work list.
c9b47f9 : Escape % in diagnostic message when compiling LLVM IR.
9ab511c : sink variable into assert
0821263 : When "low alignment" is specified, then set the alignment of the aggregate's store to 1. This allows code-gen to select a more appropriate alignment. If left to zero, an alignment greater than the alignment of the pointer may be selected, causing code-gen to use instructions which require an alignment greater than the pointer guarantees. <rdar://problem/11043589>
b655bf0 : Minor clean up of my last patch.
542125f : modern objective-c translator: write @synchronized. // rdar://11063663
b136049 : Suppress macro expansion of NULL in NULL warnings.
9c6fde5 : Skip through transparent contexts when deciding where to add a friend function. This fixes g++.dg/parse/friend5.C.
e052bda : After r150615, which tablegens the group of a diagnostic as an index into the *.inc file, all diagnostic *.inc files depend on all other diagnostic *.td files, because a diagnostic group can be introduced at any of the diagnostic *.td files.
4053946 : modern objective-c translator: writing @throw statement.
0961a01 : Warn on flexible array members when in C89 mode, with -pedantic. This fixes PR 4307.
e55329d : From Vassil Vassilev: Enable incremental parsing by the Preprocessor, where more code can be provided after an EOF. It mainly prevents the tearing down of the topmost lexer. To be used like this: PP.enableIncrementalProcessing(); while (getMoreSource()) { while (Parser.ParseTopLevelDecl(ADecl)) {...} } PP.enableIncrementalProcessing(false);
c5d3e80 : Fix Objective-C compilation-time performance regression introduced in r152608.
ce612f5 : Fix analyzer crash on analyzing 'catch' with no condition variable.
5214c7a : test/Driver/linker-opts.c: Mark as XFAIL:cygming, using gcc linker driver. It should be aware of LIBRARY_PATH.
2befa8c : Add test case for <rdar://problem/8808566>, which is now fixed by inlining support.
1425226 : Based on sage feedback, chang -W#import-pedantic to -Wimport-preprocessor-directive-pedantic.
ff99320 : Don't try to create "store atomic" instructions of non-integer types; they aren't supported at the moment. PR12040.
9ace587 : Add warning flag for '#import is a language extension', -W#import-pedantic.
19ebac1 : [arcmt] The hard-coded list of weak-incompatible classes is no longer necessary. rdar://10673816
2af504b : [arcmt] iOS is always safe to use 'weak'. rdar://10950825
220419a : modern objective-c translation: writing @try/@catch/@finally statements.
a43ef3e : When a variable has a specified asm name, but isn't using the register storage class, the asm name doesn't specify a register. PR12244.
64f678e : Fix help text.
0950ca0 : Update checker build.
8ec588e : [analyzer] If a metadata symbol is interesting, its region is interesting as well.
b122818 : modern objective-c translator: writing @try/@finally statement.
fc055f9 : [frontend] Fix how the frontend handles -fno-inline. AFAIK clang now matches the behavior of gcc with respect to the -fno-inline and -fno-inline-functions flags.
7b204d6 : Include full plist output in FileCheck test.
11e35b6 : Include full plist output in FileCheck test.
76b85ac : Do not truncate expected plist output in FileCheck test.
d7b8314 : [analyzer] Remove AggExprVisitor, a dead class that assisted in visiting C++ expressions with a "base object", because the CFG is now linearized.
4b911e6 : Support deducing template arguments from nested initializer lists. PR12119.
afcd195 : Support '%p' format specifier with block pointers.
aea3ece : It was pointed out that a checking version of strdup isn't needed. So much for late-night hacking. :)
368a0d5 : [analyzer] Allow checkers to supply call stack diagnostic hints for the BugVisitor DiagnosticPieces.
2b2bbee : Provide the specific target type in the -Wnull-conversion warning.
4c14881 : modern objective-c translator: rewriting of @catch-stmt.
0f5897b : Document RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate().
62d7fea : [c-index-test] Make it C90 compliant.
13c20a7 : [libclang] A couple of enhancements to c-index-test.
90226ac : Make RecursiveASTVisitor to traverse certain statements using data recursion to avoid a stack overflow with extreme cases.
cc2f77a : [Sema] Introduce a data recursive evaluator specific to binary operators.
649dfbc : Remove hacky temporary fix of r151585.
30650eb : modern objective-c translator: please symbols generated for @protocol expression into their own section.
cad313b : When laying out an Objective-C object, consult the external source to complete the Decl if it hasn't been completed already.
684944e : fix link
abc31ca : [asan] update asan docs: mention CMake problem and to explain the status of MacOS 10.7 and 32-bit Linux
e87e851 : Adding in newer MinGW header paths.
1ee9b0f : Add the object size checking support for a few other builtins.
bd86ad5 : Fix codegen for vld{3,4}_dup intrinsics.
1d23c42 : Unpluralize -Wfoo-conversions warnings for consistency.
5cfc7d8 : Unrevert r152761 (reverted in r152772) with a fix for the issue which was breaking bootstrap. No test yet: it's quite hard to tickle the failure case. The specific testcase for this wouldn't be useful for testing anything more general than a reintroduction of this precise bug in any case.
95187bd : Reapply r152745 (reverted in 152765) now that compiler-rt is fixed.
7267839 : Revert r152761 "Minor optimization to constant evaluation: don't bother computing expr source...", it breaks bootstrap.
6d96d3a : Small cleanup: move trailing-return-type special-casing into getDeclSpecContextFromDeclaratorContext.
9ca33fd : Revert r152745 as it's breaking the internal buildbots.
d75fb49 : Minor optimization to constant evaluation: don't bother computing expr source locations for diagnostics we're not going to emit, and don't track the subobject designator outside C++11 (since we're not going to use it anyway).
878416d : Remove a variable rendered unused by r152750.
0e3c989 : Adding some more specific tests for enum declspec parsing, to prove that it really works.
8fbe385 : [frontend] Add support for disabling the "inline" keyword using -fno-inline-functions.
88f7f75 : modern objective-c translator: section info. and metadata for "non-lazy" class and categories.
f1c66b4 : Instantiating a class template should not instantiate the definition of any scoped enumeration members. Later uses of an enumeration temploid as a nested name specifier should cause its instantiation. Plus some groundwork for explicit specialization of member enumerations of class templates.
59e7f4e : '#if 0' out a variable that's only used in other preprocessor-disabled code.
47bfaf1 : Provide -Wnull-conversion separately from -Wconversion.
10cde2f : objective-c modern tranaltor. More section info. for misc. objc meta-data.
3183075 : [analyzer] A fixup to r152734. Always initialize the flag.
c0765a0 : No longer defining LP64 in 64-bit builds on platforms which are not LP64.
5a7120c : When emitting a diagnostic about two-phase name lookup, don't do useless qualified name lookups into transparent contexts.
d53e877 : Fix dereference of end iterator. Spotted by ASan.
9373937 : [analyzer] Diagnostics: Supply Caller information even if the bug occurs in the callee.
de5d946 : objective-c modern translator. Add the _class_ro_t.reserved field for 64bit targets. // rdar://11040024
e711d7e : [Analyser] Remove unnecessary recursive visits for ExprWithCleanups and MaterializeTemporaryExpr.
72ff6bb : Remove clang-wpa example, which has been unmaintained for quite a while.
f6b8b58 : Minor cleanup in attribute-related diagnostics, from Alexander Kornienko!
84407ba : Parse brace initializers as default arguments. PR12236.
e5049d2 : [Analyser] Removes more recursive visitations in ExprEngine that are no longer needed as the CFG is fully linearized.
7059a1c : [Basic] Change DiagnosticBuilder to use a separate status variable to track whether the builder is active. - This may seem superflous, but actually this allows the optimizer to more easily eliminate the isActive() checks needed by the SemaDiagnosticBuilder and DiagnosticBuilder dtors. And by more easily, I mean the current LLVM is actually able to do one and not the other. :)
393eed7 : [Sema] Fix SemaDiagnosticBuilder to be inline. - As with DiagnosticBuilder, it is very important that SemaDiagnosticBuilder be completely inline to ensure that the compiler can rip it apart and sink it to registers.
4ccf737 : Remove trailing whitespace (especially after a \ which should be trailing)
5aed86c : -arch is a darwin-only feature, use -target instead to make the linux buildbots happy again.
1671745 : Add support to mangle templated member function names with template args.
1cdbfd3 : Typo.
9648a9e : objective-c modern rewriter. Do not add _class_ro_t.reserved field. // rdar://11040024
4574c3d : [driver] Clang should report an error for -faltivec on non-ppc. rdar://10963572
3b10cfe : When adding member functions to a class add any specializations of function templates as well.
e7591c5 : Add a test case for PR8385.
6cc0969 : [analyser] Refactor shouldInline logic into a helper.
fc544e3 : [analyzer] Call enter/exit diagnostic should refer to caller/callee, respectively.
3054f09 : [Basic] Fix up DiagnosticBuilder::{FlushCounts,Emit} to be inline.
4b1f684 : Allow vectors to be constructed from constexpr function arguments in constant expressions.
cf3a6c4 : Update test case to use not tool.
2dec85b : [driver] Parse diagnostic args in the driver.
b990d03 : [analyzer] Change the order in which we analyze the functions under inlining to be the reverse of their declaration.
7fe8dce : [analyzer] Use BFS over call graph when analysing functions.
a2e589e : [analyzer] Refactor CallGraph to use Recursive AST visitor when collecting function Decls.
aa56098 : [analyzer] Use recursive AST visitor to drive simple visitation order in AnalysisConsumer.
9852083 : [analyzer] Minor: factor out logic for determining if we should skip a function.
b6ee44d : [analyzer] Move the check for parser errors out of the loop over Decls.
efe9c0d : Fix the long double to be of width/align 64. Rename va_list_test to powerpc_types and add testing for the (long) double there.
00b4384 : Spelling.
cefcbef : [Basic] Make DiagnosticBuilder::{Clear,Emit} protected.
243d7ab : [Basic] Eliminate DiagnosticBuilder::Suppress and matching ctor, this stuff is not used anymore (good thing we are still paying for it!).
06265bd : [Basic] Make DiagnosticBuilder::{isActive,getLocation,getDiagID} protected.
53c83b3 : [Basic] Fix ~Diagnostic() to not call Emit() when there is no diag obj (most commonly when the diag has been copied). - This eliminates a completely spurious call to Emit() which was in Sema::Diag(). Sob.
981e279 : [Basic] Stop using a SmallVector<> for Diagnostic. This drops Clang binary size by ~%.3/~100k in my build -- simply by eliminating the horrible code bloat coming from the .clear() of the SmallVector<FixItHint>, which does a std::~string, etc. - My understanding is we don't ever emit arbitrary numbers of fixits, so I just moved us to using a statically sized array like we do for arguments and ranges.
bea6c0a : Remove unused-but-set variable.
e3d175d : Long double is just double on FreeBSD/{PPC,PPC64}.
e6dd683 : Tweak linkage order for solaris.
9cda03f : Ensure that default arguments are handled correctly in sub scopes. For example:
e37f484 : Implement [temp.param]p5: the top-level cv-qualifiers on a non-type template parameter's declaration are ignored when determining the parameter's type.
7c5d28b : PR11850 + duplicates: don't assume that a function parameter pack expansion is at the end of the parameter list.
b03a9df : PR11925: A function can't have a variably-modified return type. Not even in C++.
65daef1 : It never makes sense to do a lookup into a LinkageSpecDecl, so assert that we don't, and clean up the places that do it.
1b7f9cb : Fix PR10447: lazily building name lookup tables for DeclContexts was broken. The deferred lookup table building step couldn't accurately tell which Decls should be included in the lookup table, and consequently built different tables in some cases.
4bd2654 : [libclang] When there's a file error when saving the PCH, make sure to clear the error from raw_fd_ostream, otherwise we will crash.
23dde82 : Make the error about assigning to lambda-captured variables clearer, and mention the existence of mutable lambdas.
a5f4441 : [Sema] Prefer to use ObjCInterfaceDecl's protocol_begin()/protocol_end() iterators instead of ObjCInterfaceDecl::getReferencedProtocols(), because the iterators are safe to use even if the caller did not check that the interface is a definition.
cd707ab : Fix crash at @implementation with a forward reference as base class.
78dae24 : Alternate fix to PR12248: put Sema in charge of special-casing the diagnostic for assigning to a copied block capture. This has the pleasant side-effect of letting us special-case the diagnostic for assigning to a copied lambda capture as well, without introducing a new non-modifiable enumerator for it.
8ce6d21 : [msvc] Honor %INCLUDE%. It should know essential search paths with vcvarsall.bat.
c38503b : modern objective-c translator. @try/@catch translation. wip.
29af3c7 : Add new analyzer diagnostic mode where plists can have bugs that span multiple files.
e881efe : [analyzer] Include inlining call stack depth in plist output.
3d71715 : Address some of the concerns by Chandler.
e8cb554 : Update FIXME.
bdb8f3c : Have clang pay attention to the LIBRARY_PATH environment variable.
860d9b7 : C++11 []p6 tweak: when given a set of overlaoded functions that includes an explicit template argument list, perform an inner deduction against each of the function templates in that list and, if successful, use the result of that deduction for the outer template argument deduction. Fixes PR11713.
71930e0 : Make sure we treat variables captured by reference in lambda as modifiable lvalues. Regression from r152491. Fixes PR12248.
9a0b6b4 : [Sema] -Add an invalid objc category to the DeclContext so that it can be serialized -Don't add methods of invalid objc containers to the global method pool. This protects us from trying to serialize a method whose container was not serialized.
d8b5ca1 : ObjCBoolLiterals (__objc_yes/__objc_no) behave like C++ booleans (true/false). They are NOT objects.
40a777a : objective-c modern translator: ivar offset symbols will reside in .objc_ivar$B sections. // rdar://11023490
6f42669 : Fix a crash-on-invalid found by -Wlogical-op-parentheses.
e45b9b7 : Use ZeroLengthBitfieldAlignment for AAPCS, as well as APCS-GNU.
7796eb5 : Fix parsing of trailing-return-type. Types are syntactically prohibited from being defined here: [] () -> struct S {} does not define struct S.
69730c1 : Fix parsing of type-specifier-seq's. Types are syntactically allowed to be defined here, but not semantically, so
0be8fb5 : Fix typo in comment, 'langauge' -> 'language'.
1ca052c : objective-c modern abi rewriter: provide section pragmas for statically writter metadata. // rdar://11023490
594f841 : Document the weak-linking behavior of the availability attribute
74d2a9c : Update library dependencies to add clangEdit on c-index-test and c-arcmt-test.
4e4d084 : Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).
7c02cfe : llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators.
93a7067 : Document the availability attribute
fc55a82 : When template argument deduction is ignoring qualifiers, perform deep structural comparison of non-dependent types. Otherwise, we end up rejecting cases where the non-dependent types don't match due to qualifiers in, e.g., a pointee type. Fixes PR12132.
15dcec7 : cxx_status: No compiler changes are required for 'minimal support for garbage collection'. Keep it in the table to match gcc's table, but mark it N/A.
8e55ed1 : Add a missing 'template' keyword.
3e67814 : [analyzer] Replace a static helper with existing logic. No functionality change.
5a7a5bb : When determining whether an identifier followed by a '<' in a member access expression is the start of a template-id, ignore function templates found in the context of the entire postfix-expression. Fixes PR11856.
426d6ca : Fix crash & accepts-invalid for array of arrays of user defined type.
dc72dc8 : Updated the test so that it checks for ms-compatibility in addition to ms-extensions.
b017ea2 : Adding namespace qualifiers to the visualizers and improving their behavior.
5cc6787 : [] Implement Cursor.objc_type_encoding
5b31d55 : No longer defining GNUC mode when compiling for Microsoft compatibility. This allows people's cross-platform compiler-specific macros to work properly.
bccda48 : Clarify even further that the lambda-to-block-pointer conversion is only available in Objective-C++
1f1988f : [] Refactor get_tu and get_cursor test helper functions into
e5658f0 : PR12225: The requirement that literal operators be namespace-scope functions does not imply that such functions can't be declared at block scope.
09c9a56 : Use VersionTuple to manage macosx versions in the driver. No functionality change.
4e494cf : Simplify code. No functionality change.
ce0d897 : objective-c modern rewriter: add __declspec(dllexport) to forward declaration of class metadata when they are defined later.
6991bc5 : objc modern rewriter: Define __OBJC2__ in written file. // rdar://11024543
9b20a90 : Replace a map of boolean values with a set.
2f47c36 : The type of a definition should not increase its visibility. Fixes PR12221.
f4b88a4 : Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit.
1659c37 : Slightly tweak this condition. "isTransparentContext()" was checking whether an enum is scoped or not, which is not relevant here. Instead, phrase the loop in the same terms that the standard uses, instead of this awkward set of conditions that is *nearly* equal.
8d17681 : Could not find this in C99. Perhaps this rule comes from a DR, but in any case please annotate it with a note explaining why this wrong-seeming behaviour is correct.
f52757d : Only make a call to a copy constructor elidable if in fact we are doing a copy. Fixes PR12139.
a346efa : [Sema] A tag decl that is marked as invalid and is used in a decl-spec, should not impede creating a proper TypeLoc info for the decl-spec.
cb00cc4 : Remove the part of test/Sema/pragma-pack-2.c that has irregular "#pragma pack"s.
dd2ecee : Unify the BlockDeclRefExpr and DeclRefExpr paths so that we correctly emit loads of BlockDeclRefExprs even when they don't qualify as ODR-uses. I think I'm adequately convinced that BlockDeclRefExpr can die.
89da8cf : Fix the dumping of BlockExprs.
e6adea9 : test/Rewriter/ Add "-triple i386-apple-darwin9".
79a5501 : Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs.
540659e : Make sure the accessors for overridden methods don't return inherited constructors. Fixes PR12219.
117591f : objc modern rewriter: don't export @package ivar symbols.
337e4db : [analyzer] fix regression in analyzer of NOT actually aborting on Stmts it doesn't understand. We registered as aborted, but didn't treat such cases as sinks in the ExplodedGraph.
edfac03 : IRgen/ABI/x86_64: Avoid passing small structs using byval sometimes.
d1c84d3 : Minor change to my last rewrite patch.
e57303c : objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport) // rdar://11023563
db762ef : Qualifiers on a canonical array type go on the outermost type, not the innermost type. Fixes PR12142.
0069b84 : Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor.
97c1fd6 : objective-c modern rewriter. More fixes related to rewriting ivars in the modern rewriter.
7acf23f : Teach RetainCountChecker about mixing method families with explicit annotations. Fixes <rdar://problem/10824732>.
8a4e182 : Document the conversion from a lambda closure type to a block pointer in Objective-C++.
26b75c0 : Improve diagnostics for UCNs referring to control characters and members of the basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done.
e7d6ca0 : [Sema] Fix a diag change to include a range that appeared intended, but never actually happened.
df42354 : Update comment after r152140. Clarify a bit too.
3fd5f37 : [analyzer] Add support for NoRedundancy inlining mode.
a5d531f : CallGraph: Add getNode() method, constify.
ba50b3e : Allow serializing an invalid ParmVarDecl and don't set access to public for invalid ParmVarDecls.
8788b22 : Revert r152430 "[AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.", getTypeInfo() is totally not READONLY, which I should have probably noticed given that I made it so mere hours ago. Oops.
feb1f4a : Add a helper to get a CXXConstructExpr from a CXXNewExpr.
216f78b : Improve our semantic error recovery.
f9ff587 : [AST] Mark Expr::Ignore*() functions as LLVM_READONLY.
29c6c6e : [AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.
4f31118 : [AST] Mark Expr::getExprLoc() as LLVM_READONLY.
780249b : [Sema] Remove dead getSourceRange() call, caught by Clang after marking LLVM_READONLY.
aa49a7d : [AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY. - The theory here is that we have these functions sprinkled in all over the place. This should allow the optimizer to at least realize it can still do load CSE across these calls. - I blindly marked all instances as such, even though the optimizer can infer this attribute in some instances (some of the inline ones) as that was easier and also, when given the choice between thinking and not thinking, I prefer the latter.
69e7692 : Add user-defined literals to release notes.
509fb3e : lldb support: under debugger support flag, when sending message to forward class, and assigning to an 'id' type var, message sends default to 'id'. // rdar"//10988847
96a0014 : [AST/Sema/libclang] Replace getSourceRange().getBegin() with getLocStart(). - getSourceRange().getBegin() is about as awesome a pattern as .copy().size().
3d4144f : [AST/Sema] Add {CXXBaseSpecifier,Declarator,DeclSpec,TypeLoc,UnqualifiedId}::getLoc{Start,End}.
8fbc6d2 : [AST] Define a few more key getLocStart() implementations. - This cuts the # of getSourceRange calls by 60% on OGF/NSBezierPath-OAExtensions.m.
90e25a8 : [AST] Reimplement Stmt::getLoc{Start,End} to dispatch to subclass overloads. - getSourceRange() can be very expensive, we should try to avoid it if at all possible.
396ec67 : [AST] Add {DeclRefExpr,MemberExpr,ImplicitCastExpr}::{getLocStart,getLocEnd} methods. - There are probably a lot more of these worth adding, but these are a start at hitting some of the exprs for which getSourceRange().getBegin() is a poor substitute for getLocStart().
406dac0 : [AST] Add DeclaratioName::getLoc{Start,End} for consistency.
7b14026 : [Basic] Rename LangOptions::NoInline to NoInlineDefine, to make things a bit more obvious.
15debc3 : Harden test for 32 bit platforms, where size_t is unsigned int (not unsigned long).
f856264 : -Wformat-non-iso: warn about positional arguments (pr12017)
ef9f298 : Fix statement printing for raw and template user-defined literals.
9c1dda7 : User-defined literals are done.
3a5032b : Literal operator suffixes and regular names live in separate namespaces.
a9e88b2 : Literal operators can't have default arguments.
36f5cfe : Support for raw and template forms of numeric user-defined literals, and lots of tidying up.
8a26fc1 : Remove accidental binary commit.
bc5419a : [AST] Memoize ASTContext::getTypeInfo(). - On -emit-llvm-only of 403.gcc/combine.c, for example, we make 160k calls to getTypeInfo but only ever deal with 680 some distinct types.
5aba3eb : Perform l2r conversions on delete operands before doing type-analysis; otherwise, we just completely do the wrong thing for placeholders.
71cba34 : Make sure we update the static local decl address map when we are forced to rebuild a global because of the initializer. <rdar://problem/10957867>.
8b42ab7 : Make sure constant emission handles initializer lists with strings correctly. Part of <rdar://problem/10957867>.
42f42c8 : [AST] NestedNameSpecifier's ctor/dtor are trivial and should be inlined.
cd48592 : [AST] Type::isVoidType() is trivial and should be inlined.
3d13c5a : [AST] Reduce Decl::getASTContext() calls. - This function is not at all free; pass it around along some hot paths instead of recomputing it deep inside various VarDecl methods.
76aadc3 : [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions.
d95e0b8 : [analyzer] Use call graph to determine order in which functions are analyzed.
6625335 : [analyzer] Rework inlining related command line options. - Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods.
d277661 : Call Graph: Only the root node is allowed to have an invalid Decl*.
e093404 : Remove a test FIXME for a case which is already fixed.
3376277 : Fix a couple of issues with literal-operator-id parsing, and provide recovery for a few kinds of error. Specifically:
1e5bc4f : Don't crash when a statement in a block is ill-formed but introduces cleanups anyway.
49d5174 : When checking the encoding of an 8-bit string literal, don't just check the first codepoint! Also, don't reject empty raw string literals for spurious "encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c.
188158d : Turn explicit construction of temporaries using initializer list syntax into CXXTemporaryObjectExprs, not just CXXConstructExprs, which have a worrying tendency to vanish. Fixes PR12167.
56757e9 : Untangle getUnderlyingDeclImpl, no functionality change.
2a6dc14 : [utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure without reverting the changes.
e13edcb : [AST] Clean up NamedDecl::getUnderlyingDecl() change a bit.
a50a5cd : Remove stray semi-colon.
7a8c758 : [AST] APValue: Split the fast path of MakeUninit to be inline. - This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think it is the right thing to do.
3cb8e2f : [utils/FuzzTest] The help message says that if you don't specify --max-tests "the script will run forever continually picking new tests to run", make it so.
00f1f27 : [utils/FuzzTest] For --filelist the option type is string, not integer.
54e1c41 : [Basic] PartialDiagnostic: Manual split out the cold part of freeStorage(), the hot path will typically profitably get inlined (based on what I see from the users of PartialDiagnostic).
6daffa5 : [AST] Change NamedDecl::getUnderlyingDecl() to inline the fast (and incredibly common) path.
0250393 : Replace MarkVarRequired with a more generic HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios.
4fae2d9 : Also test pr12104 with pch.
701ec8d : Implement -fno-dwarf2-cfi-asm on linux too.
9168830 : Ensure we don't print 123ULL_foo when printing a user-defined integer literal.
b453ad3 : Add support for cooked forms of user-defined-integer-literal and user-defined-floating-literal. Support for raw forms of these literals to follow.
aae1d8b : Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012:
76e035a : [AST] Change Type::isIntegerType to be inlined(). It is very popular.
2fb4ae3 : Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix not starting with an underscore is ill-formed.
5bc37f6 : Loosen the precondition of isCXXInstanceMember() to simply return "false" for declarations that aren't members of classes. Fixes PR12106.
9df08bb : Spelling.
c2bd73b : Sema: Don't emit a gajillion calls to sanity() -- an empty function -- in NDEBUG builds. Sheesh.
dd66be7 : User-defined literal support for character literals.
ffea6b4 : Fix -Wuninitialized to catch the case of a class being initialized with a call to its own member function.
29f98b4 : [libclang] Fix a crash when serializing a preprocessing record that contains an #include entry that did not resolve to header file.
d78ef5b : Streamline BalancedDelimiterTracker, by eliminating the duplicate paren/brace/bracket tracking (the Consume* functions already did it), removing the use of ConsumeAnyToken(), and moving the hot paths inline with the error paths out-of-line.
9ae3a36 : improve on diagnostic when block captures uninitialized block variable. // rdar://10817031
196b8cf : Add a basic CallGraph to Analysis.
a34194f : improve on diagnostic and provide a fixit hint when an uninitialized block variable is being called inside the block literal. // rdar://10817031
044e645 : [libclang] Enhance clang_getOverriddenCursors.
e286d9b : Workaround module test failures by removing the version info from module hashes.
9ea396a : Remove unnecessary include in ExprObjC.h
cbf8209 : Be smarter in discovering list-initialization of temporaries. Fixes PR12182.
8013458 : Correct the documentation to give a legal example of a raw string literal.
9fcce65 : AST representation for user-defined literals, plus just enough of semantic analysis to make the AST representation testable. They are represented by a new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic properties, including full CodeGen support, are achieved for free by this representation.
b65e24a : Test fix-it added in r152198.
e816c71 : Add -Wc++11-compat warning for string and character literals followed by identifiers, in cases where those identifiers would be treated as user-defined literal suffixes in C++11.
946e272 : Don't even try to directly emit the value of a DeclRefExpr if that declaration is not usable in a constant expression. ~2.5% speedup on 403.gcc / combine.c.
bef35c9 : [PCH] Mark a PCH file with a flag to indicate if the serialized AST had compiler errors or not.
4a90e1a : Correct test from r152189.
9e9c454 : Make sure we consistently canonicalize types when canonicalizing TemplateTemplateParmDecls. PR12179.
458a7fb : objective-c lldb support: don't perform ivar access control check when debugging. // rdar://10997647
fddfbdb : More git-svn compatible version string, by request.
485ea8e : The constant folder's diagnosic mechanism is irrelevant for C; don't bother producing a C-only diagnostic.
8ba9a62 : [driver] Don't try to generate diagnostic information for linker crashes. rdar://10993648
8b8d953 : Silence unused variable warnings.
e53ac8a : Refactor Clang sema attribute handling.
29293cd : AST: fix build since r152060
047da19 : [AST] VarDecl::hasDefinition() - Early exit if we find a strong definition.
60d302a : [AST] FunctionDecl::getBuiltinID() - Eliminate spurious calls to getASTContext -- which is very much not free -- in the common case.
8e282c3 : Fix horrific CFG bug where '@autoreleasepool' would be put in a dangling block in the CFG.
e5de376 : Missing period.
53cb2b4 : Whitespace.
ba66c6c : Cleanup (style). Thanks to Argyrios for catching this.
84a9d9e : commit access verified, revert change
e49e67e : test commit access
00fd5dd : CMake: Fix build to add clangEdit to USED_LIBS.
b82019b : [objcmt] Add a triple to test/ARCMT/objcmt-subscripting-literals.m
ce9c831 : Extended the UnknownAnyTy resolver to handle blocks with unknown return types. This allows LLDB to call blocks even when their return types aren't provided in the debug information.
1c31ee8 : get rid of an unsued variable warning.
634a4b1 : [driver] What was implemented in r152130 was actually -fno-inline-functions, not -fno-inline. Part of rdar://10972766
7ba87f3 : Just use memcpy directly, uninitialized_copy requires an <algorithm> include.
30660a8 : Add new code migrator support for migrating existing Objective-C code to use the new Objective-C NSArray/NSDictionary/NSNumber literal syntax.
2a25396 : Enable default @synthesize by default.
1a45a5f : Add static analyzer support for new NSArray/NSDictionary/NSNumber literals.
b3f7542 : And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals.
ebcb57a : Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting.
9f86af8 : Whitespace.
6e2cdfd : Minor fix for r152130. Put -fno-inline in f_Group.
250008b : [driver] Add support for -fno-inline. rdar://10972766
27949f6 : Undo patch for // rdar://10735698
f9aa363 : AST: Move several Type::is...Type() functions to be inline. - These functions are both (a) very commonly called and (b) excellent candidates for CSE in the callers in which they are commonly used. - That isHalfType() is hot makes me sad, but it is trivially when inlined (and a huge waste of time when not!!!). - The extra IsEnumDeclComplete() function is a hack to break the cycle between Type.h and Decl.h, I'm not sure of how to do this more cleanly, but am open to ideas.
81e722e : NamespaceDecl: Call non-virtual method inside virtual method, not the other way round.
9a2105b : objective-c modern translator. Don't ignore unnamed bitfields when rewriting.
faa7fac : Use newly introduced const-goodness of TinyPtrVector.
99831e4 : User-defined literals: reject string and character UDLs in all places where the grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by the same TokenKind, in order to prevent a combinatorial explosion of different kinds of token. A flag on Token tracks whether a ud-suffix is present, in order to prevent clients from needing to look at the token's spelling.
c1b0f7f : Use TinyPtrVector instead of UsuallyTinyPtrVector.
c112b9c : Move clang/Basic/UsuallyTinyPtrVector.h to llvm/ADT/UsuallyTinyPtrVector.h.
097ebb3 : [analyzer] add a diagnostic event when entering a call via inlining, within the callee, and add an edge.
2dd17ab : [analyzer] 'Looping back to the head of the loop' diagnostics are prunable.
792777c : Move include/clang/AST/UsuallyTinyPtrVector.h -> include/clang/Basic/UsuallyTinyPtrVector.h and add an erase method to it.
218fce0 : [analyzer] Remove now-unused constant. No functionality change.
257c60f : [analyzer] Fix unnecessary dyn_cast_or_null. No functionality change.
3ebdd85 : Add some doxygen comments.
d42236e : [tablegen] Make sure that the code that is determining the order of warning groups is shared to avoid any "misalignment" if indices.
e4d653b : Teak CallAndMessageChecker to only warn about uninitialized struct fields in call arguments when the called function is never inlined.
8fbb4e6 : [analyzer] Bump up the size of the functions that should be considered for inlining to 200 BBs.
6a5d30e : Minor refactoring for previous patch for // rdar://10735698
0cc323c : static_assert: Allow any string-literal as the message, not just a character string literal, and adjust the diagnostic code to match. This also causes us to escape any control characters in the message.
a99f874 : Teach SimpleSValBuilder that (in the absence of more information) stack memory doesn't alias symbolic memory. This is a heuristic/hack, but works well in practice. Fixes <rdar://problem/10978247>.
3610355 : Merge with upstream Clang @152062.
02892a6 : AST/stats: Don't effectively use an out-of-line function to return a static bool. Ugh.
7034fb6 : ASTContext: Don't use nothrow specifications on the new operators for allocating from the ASTContext. - Doing so requires the compiler to generate null checks against the returned result, but the BumpPtrAllocator never returns null pointers. - The optimizer can usually eliminate such checks, but not always, so this gives us tighter codegen in some places. - It would be really nice if we could just use __builtin_unreachable or something to tell the optimizer that the allocator never returns null, but LLVM isn't currently that smart.
d38f795 : [analyzer] Time the execution (per each TU) with -analyzer-stats.
3518058 : build/compiler-rt: Stop forcing off -integrated-as for compiler-rt builds.
2835745 : If the element type of an initializer list has a destructor, make sure we check it. Fixes PR12178.
abf9d90 : patch to optionally warn for block implementations without explicit return types that return non-void values. // rdar://10735698
a187c5c : Add MCRegisterInfo to the MCInstPrinter factory function interface.
f420fe3 : [analyzer] False positive in SelfInit - teach the checker about method calls with self as a parameter.
fb7f76f : [analyzer] Malloc should assume that ownership is transfered when calling an ObjC method ending with 'NoCopy'.
52c1668 : Avoid double lookup.
12fc4b0 : Properly handle non-canonical underlying types in ASTContext::getUnaryTransformType. This can happen if, for example, an enumeration's underlying type is a typedef.
2bfdad1 : Fix a -Wstring-plus-int warning.
713575a : TargetInfo: create less temporary strings.
234fe65 : Fix a small difference in sema and codegen views of what needs to be output.
b3c312c : Fix a bug in the mangler where in 'namespace std { extern "C" {X;} }', X would not be seen to be in ::std::.
2a27818 : [arcmt] -Make sure we don't change to '__weak' a __block variable used as output. -Make sure we don't apply __weak twice.
c6c5452 : [preprocessor] Enhance PreprocessingRecord to keep track of locations of conditional directives.
bb66066 : [preprocessor] Enhance the preprocessor callbacks:
d4f9f9d : More tests for r152012.
5cc2c6e : Lexing support for user-defined literals. Currently these lex as the same token kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches.
9d008fd : [] Return bool from Cursor.__eq__
a81d3d4 : Remove a recursive visitation in ExprEngine that is no longer needed because the CFG is fully linearized.
77889c4 : Silence a GCC warning about a set-but-not-used variable in release builds.
b4a7b1e : Add tests for [over.literal]. Fix a few bugs which were exposed by the tests.
5bd20ff : From his comment in PR12168, Eli seems confused about the alignment assumptions we're making. We only ignore implicit casts. Add a testcase showing that we get the right behavior with explicit casts.
d6e7356 : add a testcase for PR12094 and fix a crash on pointer to incomplete type, reported by Richard Smith.
ec92bc7 : Add a pile of tests for unrestricted unions, and advertise support for them.
1aa0be8 : constexpr: Remove APValue/CCValue distinction. It is no longer useful given the resolution of core issue 1454.
7eb7d99 : Remove unused variable.
3fd8087 : Fix Typo in 'objc changes' anchor.
16412ef : Avoid an unnecessary recursive loop between type canonicalization and NNS canonicalization which would (rarely) lead to memory corruption. While I'm here, simplify. Fixes PR12166. Not committing a testcase because it's impossible to reduce it.
7e86783 : [analyzer] do not warn about returning stack-allocated memory when it comes from an ancestor stack frame.
1f73ae2 : Factor bitfields of LangOptions out into a base class in order to make them trivially-copyable. 50KiB reduction in clang binary size.
e21dd28 : Frontend: Default to creating output files using temporary files + rename. - This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead of reusing existing inodes). This is useful for other applications (like lldb) which want to cache inode's to know when a file has been rewritten.
12f28ab : Frontend: Don't automatically create missing directories when using temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories.
0d95dfc : Thread safety analysis: expand set of expressions that can be used to denote locks.
a3ca41f : Reinstate r151879, r151880, reverted in r151922, along with a bugfix for scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8.
067cc40 : Unbreak the CMake builds following the CallGraph change.
ff1e9cc : Add a test for the -Wstring-plus-int fixit note.
190f600 : [analyzer] Rename clang::CallGraph into clang::idx::CallGraph + rename the corresponding files to avoid confusion.
4c55c54 : Adding support for #pragma include_alias in MS compatibility mode. This implements PR 10705.
7ec419a : Issue warning when late-parsed attributes have no declaration.
2287c5e : Make late-parsed attributes follow the conventions of ordinary GNU attributes to a better extent, by allowing them in more places on a declator.
2a35be8 : Thread safety analysis: handle CFG blocks which call functions marked as noreturn.
1cb2d74 : Add -Wstring-plus-int, which warns on "str" + int and int + "str".
b0a6615 : objc: When issue diagnostic about deprecated method, also issue the note if it is because message is sent to a forward class declaration in delayed diagnostic. // rdar://10290322
4ba86bc : [analyzer diagnostics] flush locations *before* popping the current path when visiting a CallEnter.
178a9b8 : Fix an ABI problem with ptrdiff_t and intptr_t on PPC32
7d613bf : Move int<->pointer conversion warnings behind -Wint-conversions.
5a61e0c : [Sema] Fix crash-on-invalid-code issue:
8235f9c : [analyzer] Bound the size of the functions being inlined + provide command line options for inlining tuning.
f4c3db1 : PR12094: Set the alignment of memory intrinsic instructions based on the types of the pointer arguments.
a0e005b : Change diagnostic test for my last patch. // rdar://10961370
c169e08 : Revert r151879, r151880, "PR12145: Avoid emitting loads of constexpr variables in contexts where there" and "Fix buildbot: make this test less dependent on the value names in the produced IR."
edd1cae : Use tabs instead of spaces.
f8e5d4c : clang -v support for separate clang.git and llvm.git, patch by Andrew Trick.
b4f0bd6 : Add the Solaris support directory to the header search when using libc++.
1658133 : Ensure that we instantiate static reference data members of class templates early, since their values can be used in constant expressions in C++11. For odr-use checking, the opposite change is required, since references are odr-used whether or not they satisfy the requirements for appearing in a constant expression.
0524171 : Fix buildbot: make this test less dependent on the value names in the produced IR.
a3cac5b : PR12145: Avoid emitting loads of constexpr variables in contexts where there is no odr-use of the variable. Go slightly beyond what the standard requires for variables of reference type.
77d0944 : [analyzer diagnostics] Change CompactPathDiagnostic to recursively compact diagnostics in calls into macro pieces. Also fix handling of macros within calls in the HTMLDiagnostics.
e853bb3 : c/objc: problem originally reported as an objective-c bug. But it is in the underlying c part of clang. clang crashes in IRGen when passing an incomplete type argument to variadic function (instead of diagnosing the bug). // rdar://10961370
48a8cd9 : add documentation for -f[no-]thread-sanitizer and -f[no-]address-sanitizer to docs/UsersManual.html
cc2c4b2 : Teach the analyzer to just ignore CXXBindTemporaryExpr. There's nothing special to do with it, since destructors are represented explicitly in the CFG.
f15e114 : Moving tagging of '__experimental_modules_import' IdentifierInfo out of IndentifierTable::get() and into IdentifierTable's constructor.
8c72a7d : Make CodeGenFunction::EmitBlockCopyAndAutorelease actually do what its name says.
3d32bb0 : Update test for llvm assembly output change. Also add a fixme that this shouldn't be relying on assembly emission.
278f1f8 : [analyzer] Turn inlining on by default for better testing exposure.
3c93122 : Add a flag -fthread-sanitizer. This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit.
32ad2ee : Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, and don't have time to push it forward in the near future.
b3d7275 : [analyzer] Fix a regression introduced in malloc with attributes, introduced in r151188.
ad8de51 : Reapply r151702 with a small fix for a failure to cut and paste correctly.
88530d5 : Fix the isReferenced bit on parameters in a couple of edge cases. PR12153.
3638fab : Remove test/Sema/many-logical-ops.c since it fails in linux variants.
b2c60b0 : Move llvm/ADT/SaveAndRestore.h -> llvm/Support/SaveAndRestore.h.
9a0b705 : Merge __has_attribute tests. Patch by Jonathan Sauer!
dca1761 : StmtProfiler: Add a null check for child statements.
8a5e7fd : Implement double underscore names support in __has_attribute
f9b6f2c : Avoid examining the AST from the parser, and simplify somewhat.
10285d9 : Revert r151800, which was committed without review and has correctness issues.
701e336 : Fixing a buildbot complaint about nested templates.
7abe166 : Implements support for #pragma include_alias in ms compatibility mode. Fixes PR10705.
6454a02 : Added support for parsing declspecs on enumerations. Fixes PR8783
23f0267 : Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap.
5e4e58b : Reject 'a = {0} = {0}' rather than parsing it as '(a = {0}) = {0}'. Also improve the diagnostics for some attempts to use initializer lists in expressions.
1d9f4c1 : Correct an example of a feature name to actually use a feature name rather than an attribute name. Patch by Michel Morin!
f6e88d7 : Fix regression from llvm-gcc where we should NOT emit a warning about __attribute__((NSObject)) on a property declaration. This is needed to have retain properties for non-object pointers. Fixes <rdar://problem/10930507>.
3edf02f : [analyzer] Diagnostics - do not try to cleanup the path with macros, it will be done by the general cleanup later on. A Patch by Ted.
3f01c8a : Tighten type-checking a bit to make it clearer how BuildCXXMemberCallExpr is used.
07a4b04 : Move suport for redefining operator keywords from -fms-extensions to -fms-compatibility.
7251674 : Change if...else if...else if... to a switch.
62ff528 : [analyzer] when scanning FIDs in a PathDiagnostic, correctly recurse calls and macros.
f4fb07e : Allow operator keywords to be #defined in ms-ext mode.
bab0d39 : Test for my last patch. // rdar://10267155.
77bfb8b : objective-c: provide fixit hint when atomic property does not have matching user defined setter/getter and a warning is issued. In this case, a fixit note is displayed. // rdar://10267155
fd81978 : Fix a couple -Wuninitialized warnings from gcc. Reported by David Greene.
8d6ff02 : Serialization: Switch over to using the native SmallVector based BitstreamWriter ctor.
75a96d0 : I referenced the incorrect rdar in my previous commit (r151745). Add the correct radar number to the test case for tracking purposes. rdar://10551066
3f3335d : Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiated by the BAA pass, which uses the default TargetLibraryInfo constructor. Unfortunately, the default TargetLibraryInfo constructor assumes all library calls are available and thus ignores -fno-builtin. rdar://10947759
1aa4b9f : Reverting test commit
f62a2b6 : Test commit. Please ignore
ca23eb2 : [analyzer] Malloc: A pointer might escape through CFContainers APIs, funopen, setvbuf.
956ecbd : Revert r151702, "Add support for handling captured variables in lambda debug info.", which broke some -O0 -g tests.
41d476d : Add -C when linking on Solaris so that the error messages are understandable by actual humans.
51ad9cd : Tentatively fix PR12117. The test case from the bug now passes, and all existing tests still pass, but there may still be corner cases.
16f1f71 : Reapply r151638 and r151641.
4fafeb6 : Remove a recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized.
28cd22d : [analyzer] Tweak the UnreachableCode checker to not warning about unreachable default blocks. Patch by Cyril Roelandt!
72b8b1e : A couple minor bug-fixes for template instantiation for expressions which are sometimes potentially evaluated.
5840dd9 : [driver] Emit an error when trying to use ARC on macosx earlier than 10.6
0a0714d : Add support for handling captured variables in lambda debug info. This currently doesn't handle capturing the 'this' pointer for any enclosing class.
441b3bb : Add some iterators for grabbing lambda expression contexts.
c07b18e : Formatting.
ac62601 : Make the odr-use logic work correctly for constant-expressions. PR12006.
b732fce : Sema/ObjC: Override search can generate a large search list, bump the base size of the SmallPtrSet way up to avoid commonly reallocating the buffer size. - I didn't see a good argument against it, so I bumped the limit to cover the max size we see during parsing Cocoa.h.
c52d9057 : ASTWriter: Cache some DenseMaps we use repeatedly. - This reduces our total # of allocations building a PCH for Cocoa.h by almost a whopping 50%. - A SmallPtrMap would be cleaner, but since we don't have one yet...
13e6cb0 : clang/test/Analysis/stats.c: Fix up r151656.
f41e875 : clang/test/Analysis/stats.c: Mark this as XFAIL: mingw32.
b093955 : Parse: Change PragmaPackHandler to use the preprocessor allocator.
8e0913d : objective-c modern translator. Fixes misc. bug in writing the ivar offset symbol.
fc399c7 : Remove stray semi-colon.
c60ccf5 : Make sure list-initialization of arrays works correctly in explicit type conversions. PR12121.
f76b897 : [libclang] Add a test I forgot to commit.
33d5b31 : [PCH] Include a darwin-only PCH test on Cocoa.h.
32a9a75 : Revert r151638 because it causes assertion hit on PCH creation for Cocoa.h
2422e82 : Single- and zero-element initializer lists to scalars are list-initializations. Fixes PR12118.
56d8fd0 : [analyzer diagnostics] Refactor filtration for PathDiagnosticConsumers that don't support cross-file diagnostics into a common place. Currently enable this filtration for Plist diagnostics as well.
c89f4b0 : [analyzer diagnostics] start prototyping stripping PathDiagnostics of unnecessary cruft caused by path inlining.
15f8777 : Modern objective-c translator. rewriting ivars of aggregate type.
e7e0168 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context (RetainCountChecker).
c568543 : Prefer bitcast+GEP over ptrtoint+sub+inttoptr: it's semantically equivalent here, and generally nicer to the optimizer.
212000e : [analyzer] Retain release: drop the line number info from the leak message.
c299428 : [analyzer] Stats: Add the stats about remove dead bindings, correct the test.
670326f : [driver] Add support for -g2 and -ggdb debug flags. rdar://10947759
7dbefe1 : Add -lm by default on Solaris.
d706a8d : It turns out -fno-cxa-atexit just produces broken code, so disable it on Solaris and we'll ship a __cxa_atexit implementation...
bf359c9 : Un-break clang based on r151638 - What was meant to be a trivial variable name change went horribly wrong and I forgot to retest afterwards.
fbcf040 : Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
f911242 : [AST] When we @synthesize a property with a user-defined ivar name, make sure to record the source location of the ivar name. [libclang] When indexing @synthesized objc methods, report the @implementation as the lexical container.
792db26 : [libclang] When indexing an objc property, also provide information about the getter/setter objc method entities that the property is associated with.
d7c15a6 : [AST] Associate the getter/setter methods to a property of a objc class extension. [libclang] Index the getter/setter methods of a property of a objc class extension.
165329c : Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it).
85fdea0 : Remove stray semi-colons.
cd7a099 : Basic coverage test for conversion-to-block-pointer for lambda expressions.
721aa37 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context (Keychain API).
07d39a4 : [analyzer] Fix Malloc False Positive (PR 12100)
cae40c4 : Implement IRGen for the retain-autorelease in the lambda conversion-to-block-pointer outside of ARC. Testcases coming up soon.
4c62b55 : [analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving comparing literal addresses to nil.
033d300 : Re-enable the Darwin ARM integrated assembler.
7752d29 : [analyzer] Leaks should be uniqued by the allocation point in the closest function context.
e2133c8 : Fix a test case that was added in r151570. The redirect of output was broken so no testing was actually done. Further, the commands produce no output. The redirection has been fixed and the test has been disabled.
e739a29 : [analyzer] Don't generate an explicit ExplodedNode for StringLiterals; have the SVal lazily generated from Environment::getSVal().
062a82c : Hack in a loud error for PR12086. Better than a silent miscompile.
c1b66e6 : When evaluating integer expressions include a check for sub-expressions depth and error if we exceed a max value, to make sure we avoid a stack overflow.
3306ec1 : After numerous requests, have Objective-C 'method declared here' notes mention the actual method. This looks better within an IDE, where text isn't always regurgitated in the presentation of a warning. Fixes radar 10914035.
adfb535 : Implement a FIXME for conversion sequence distinction. Should fix PR12092.
8ec5ce2 : Fix documentation typo.
81fb169 : [analyzer] Add -analyzer-stats, which hooks up LLVM stats tracking.
92b670e : Fix a couple bugs in the way we handle array indexes in array bounds checking. Specifically, make sure we don't ignore explicit casts in indexes, and make sure we use unsigned extension/comparisons on indexes. Fixes <rdar://problem/10916006>.
d45d361 : Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available.
0d8ab2e : Convert initializer lists to temporaries in CreateBuiltinBinOp. Allows assignment of init lists to built-in types and resolves PR12088.
fce4715 : Add missing code for compound literals of complex type. <rdar://problem/10938628>
d411a4b : Revert testing code I committed by mistake in r151464.
361ae9a : Just drop the bitfield from ExtProtoInfo, this struct isn't even heap allocated so it doesn't hurt.
1ebae62 : Speculatively attempt to work around a hypothetical but unreproduced MSVC issue in r151494.
07d1642 : Test case for r151429/r151430, which ensures llvm.lifetime intrinsics are not being emitted at -O0, but are emitted when optimizations are enabled.
1b1a507 : Serialize InitListExpr's initializesStdInitializerList bit, so it's not left uninitialized.
af3db7d : ObjcInterfaceTypes are also complete types for the type cache.
ae93daa : Make this test a bit more robust for debug info changes.
79363f5 : Ensure that we delete default constructors in the right cases. Don't delete the default constructor of a union if it has a const member with no user-provided default constructor.
d8e4dac : Fix decltype crash-on-invalid, if we don't find a matching ')' for an ill-formed decltype expression.
dbe01bb : Tests for r151508.
c56ab43 : Half of PR12088: parse braced-init-lists on the RHS of assignment operators.
e75f330 : [] Test Cursor.__ne__
d162cf1 : Reorder members to save padding.
bb8a897 : Move CharacterLiteral, FloatingLiteral and UnaryExprOrTypeTraitExpr flags over into Stmt.
9121932 : Make clever use of padding to shrink IntegerLiterals.
0840f23 : Bit pack StringLiteral.
bbf4b22 : Reduce padding in MemberExpr.
3654c69 : CompoundLiteralExpr: Pair a bool with a pointer.
a72c352 : Shuffle members of DesignatedInitExpr to avoid padding.
0e2e13f : Bit pack ExtProtoInfo.
a6c1068 : Move FullSourceLoc::dump into the .cpp file, the used attribute made us emit this into every TU that includes SourceLocation.h.
5ed7dd6 : Okay, makes sense to change all the occurences to match clang.EXE.
f58b388 : Allow any file extension for the clang binary in the linux-header-search test.
ea7c1e2 : Don't assert when trying to diagnose why a class with a constructor template is non-trivial.
2229d57 : Add the critical crtbegin.o files necessary for any of the tests in r151482 and r151484 to work. Sorry about the fallout...
079d2bb : A follow-up to r151482 which added support for powerpc and powerpc64 Debian multiarch libraries, this should in theory add support for those platform's header search rules. I don't have a system to check this with, so review appreciated. I've added the corresponding tests referring to the debian multiarch tree.
9a561d5 : Ensure that we delete destructors in the right cases. Specifically: - variant members with nontrivial destructors make the containing class's destructor deleted - check for a virtual destructor after checking for overridden methods in the base class(es) - check for an inaccessible operator delete for a class with a virtual destructor.
155c54c : Add support for PPC and PPC64 multiarch toolchains on Debain.
03f6878 : Make sure we don't try to produce a definition of an implicitly-deleted function
8818955 : Update release notes and language extensions pages to note that support for generalized initializers is available.
e653ba2 : Special members which are defaulted or deleted on their first declaration are trivial if the implicit declaration would be. Don't forget to set the Trivial flag on the special member as well as on the class. It doesn't seem ideal that we have two separate mechanisms for storing this information, but this patch does not attempt to address that.
2fa975c : Revert r151460 as it is not enough to address the issue.
faf4ef6 : Richard Smith pointed out that there already is a proposal for init list mangling.
8ed2091 : When evaluating integer expressions handle logical operators outside VisitBinaryOperator() to reduce stack pressure for source with huge number of logical operators.
d1dc3aa : Initializer lists are now supported.
19b1a6e : CodeGen support for global variables of type std::initializer_list<X>.
babcf9d : Fix crashers on unexpected std::initializer_list layouts. Found by inspection.
b76ffc5 : Better mangling for new-expressions. Also, although we can't mangle arbitrary initializer lists yet (we will need this), turn the crash into a controlled error.
f186879 : Temporarily revert r151288: ARM: enable the integrated assembler by default for Darwin.
ee7a198 : CMake: install libclang.dll to $CMAKE_INSTALL_PREFIX/bin.
13a140c : ArrayRef'ize various functions in the AST/Parser/Sema.
5297d71 : Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and likewise for __has_extension). Patch by Jonathan Sauer!
d390de9 : Fix r151443 to only apply C++11's exception for non-static data member access in cases where we would otherwise disallow the access, and add a -Wc++98-compat diagnostic for this C++11 feature.
2c8aee4 : PR11956: C++11's special exception for accessing non-static data members from unevaluated operands applies within member functions, too.
7a9f492 : Fix assertion (too few Diag arguments) when diagnosing a deleted operator delete
dfefb84 : Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and data members for deleted or user-provided destructors.
f5cd5cc : Fix a regression from r151117: ADL requires that we attempt to complete any associated classes, since it can find friend functions declared within them, but overload resolution does not otherwise require argument types to be complete.
9875962 : Prevent llvm.lifetime intrinsics from being emitted at -O0. rdar://10921594
64bee65 : Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure).
e1d4330 : Don't record nested macro expansions in the preprocessing record, it can only bring pain when dealing with preprocessor abuse (see: boost).
e571578 : RetainCountChecker: don't adjust the retain count when analyzing a ReturnStmt unless we are in the top-level call frame. We can do more later, but this makes the checker self-consistent (and fixes a crash).
63787f0 : [arcmt] GC migrator: don't try to remove redundant __strong, it does more harm than good.
a66eccb : Improve the diagnostic in ARC mode when a conditional with an Objective-C type and void* is used. <rdar://problem/10486347>.
bcf38f2 : Trying to increase my Ohloh ranking with trivial tweaks
d08d599 : Bugfix: bogus warning -- "invalid use of non-static data member", when a class is forward declared, and the reference to the data member in question does not occur within a method body.
4a59bc2 : Simplify check per Eli's comment
9b42afd : Add test for C++ DR899.
3cd89ad : [analyzer] Malloc: reason about the ObjC messages and C++.
ed878af : Implement C++11 [over.match.copy]p1b2, which allows the use of explicit conversion functions to initialize the argument to a copy/move constructor that itself is the subject of direct initialization. Since we don't have that much context in overload resolution, we end up threading more flags :(.
5a13d4d : Fix a stupid mistake in r151133. Reported to me by Joerg Sonnenberger.
61dab36 : Remove FIXME: as Eli points out, the behavior here is now correct.
a98a285 : For the purposes of building LLVM types, a forward-declared enumeration type with a fixed underlying type is complete. Fixes <rdar://problem/10916155>.
c7b5543 : Back out __decltype warning from r151377: we should either warn on all the GNU __keywords or none of them.
a08c2fb : Make helper static.
359c89d : When checking whether a reference to a variable is an ICE, look at the type of the declaration, not at the type of the DeclRefExpr, since within a lambda the DeclRefExpr can be more const than the declaration is.
f329527 : Minor modern rewriter bug showed up during testing against a large project.
221c27f : C++11 [class.ctor]p5 says that A defaulted default constructor for a class X is defined as deleted if [...] - X is a union and all of its variant members are of const-qualified type.
62348f0 : Fix comment: correct predicate name, reformat comment.
69015c2 : Change the text of a FIXME.
7c4a619 : [libclang] Add a triple to the test.
1e409d8 : cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor as "C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98 support section.
a5ec58d : cxx_status: extended sizeof has been essentially complete for some time. As agreed on IRC, any remaining issues are best dealt with as bugs.
33eb59a : test for writing modern ivar of struct type.
39304fa : __decltype is a GNU extension, not a C++11 extension.
ca61bf3 : more objective-c modern translator ivar tests.
ec79d87 : Two minor, related fixes for template instantiation with blocks: - Make sure that the block expression is instantiation-dependent if the block is in a dependent context - Make sure that the C++ 'this' expression gets captured even if we don't rebuild the AST node during template instantiation. This would also have manifested as a bug for lambdas.
0d6e22a : objc modern translator. Fixes writing of block pointer ivar access.
ff80afc : [analyzer] Run remove dead bindings before each call.
e55b03a : [analyzer] We were silently stopping exploring the path after visiting 'return;' statement!
a0889a8 : Use -no-integrated-as only on ARM. The X86 and X86-64 integrated as have been the default for clang for some time now and can handle compiler-rt.
0fd7f4d : Revert r151357. That unreachable is reachable...
770dc03 : Silence gcc warnings pointing out that CharByteWidth could be used uninitialized. While there, restyle this function! No functionality change.
28e4702 : Sink variable into assert
f6cfe8b : Remove some trivial uses of hasTrivialCopyConstructor() and hasTrivialMoveConstructor().
5d86f61 : Kill a spurious use of hasTrivialDefaultConstructor()
4ca8ac2 : Implement a new type trait __is_trivially_constructible(T, Args...) that provides the behavior of the C++11 library trait std::is_trivially_constructible<T, Args...>, which can't be implemented purely as a library.
59950d3 : Make PathDiagnosticBuilder sensitive to varying LocationContexts, thus fixing a bug in the inlining diagnostics where the wrong location could be used.
5b03c17 : Remove stray path in test file.
2042fc1 : Reapply r151317, but when computing the PathDiagnostic profile and size keep into account the nested structure. Also fix a problem with how inlining impacted Plist diagnostics, and adjust some ranges in the Plist output due to richer information.
2fffbc7 : Fix test for non-block-default platforms.
68fbb3e : Revert r151317 - Rework PathDiagnostics creation.. - to appease buildbots.
8cceefa : [PCH] When keeping track of top-level decls for "targeted deserialization" make sure we don't mistake ParmVarDecls for top-level decls.
4970ef8 : Rework PathDiagnostic creation so that call stacks are captured by a nested PathDiagnosticCallPiece.
729d5c4 : Add an ivar test for modern objc abi translator.
862d735 : Make test works with FileCheck.
577fb5b : Reapply r151172 - Unwind path cleanup for array new list initializers - with a test case that only runs on debug builds.
aa5ab26 : Handle "#pragma GCC visibility" in a few more places. Switch over "#pragma pack" to use the same handling that gcc does. Fixes <rdar://problem/10871094> and <rdar://problem/10893316>.
8b9414e : Modernize some code which processes CastExprs to use CastKinds. No intended functional change.
d708bac : [analyzer] KeyChainAPI: unique the leaks by allocation site. (Very similar to the previous change in malloc.)
f64bc20 : objective-c++: Type of an objc string literal is NSString, not 'id'. // rdar://10907410
9428772 : Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode.
97df54e : Pull the OpaqueValueExpr's source expression into its constructor, so that we can correctly compute value-dependence of the OVE.
0227ade : Update test for r151288
d649586 : ARM: enable the integrated assembler by default for Darwin.
ca8e36e : [analyzer] Malloc: unique leak reports by allocation site.
5588244 : [analyzer] Add CString checks to the release notes.
644af7b : [libclang] Make sure that all top-level decls in a @implementation are marked as such.
cd42724 : Test is fixed.
c78446e : XFAIL test until I figure out how to make test pass on different platforms.
d184e53 : * tgmath_logb.patch implements the missing logb function (see C99 standard 7.22, paragraph 5). * tgmath_fabs_complex.patch corrects the return types for the complex fabs functions. These must be non-complex float/double/long double (see C99 standard 7.22, paragraph 4 and Patch contributed by Kristof Beyls.
00ff5a9 : Change test again so it passes in build-bot until I can figure out what is going on.
d8316db : fix test for patch in r151268.
eb2f220 : Actually remove the duplicated elements from the vector.
ac37150 : objective-c default synthesis. classes which adopt protocol properties must still auto synthesize those propeties which have been redeclared in the class. // rdar://10907410
f28ded5 : Fix indentation
09315f3 : Note that lambda expressions are available in the release notes for 3.1
887ddf3 : Replace a use of hasTrivialDefaultConstructor() with the appropriate isTrivial() call.
8c43dcc : Replace some DenseSets with SmallPtrSets. Apart from the "small" optimization, the current implementation is also a denser.
d0e49e5 : Unique CXXBasePath decls with the SmallVector/pod_sort/std::unique idiom instead of employing a wasteful std::set.
a789416 : Replace the std::map in the init list checker with a DenseMap to reduce malloc thrashing.
c22adbd : PR12067: When emitting an evaluated constant structure in C++11 mode, don't forget the vptrs.
b11e525 : Seriously, are injected-class-names that hard?
25d0a0f : Provide the __is_trivially_assignable type trait, which provides compiler support for the std::is_trivially_assignable library type trait.
46e021e : Clang supports lambdas.
860097c : Two fixes to how we compute visibility:
c101411 : Tweak C++ status table: - Apparently, SVN is yellow - Note that initializer lists are "in progress"
7c07e96 : Clang now supports lambda expressions.
5c89c39 : Try to handle qualifiers more consistently for array InitListExprs. Fixes <rdar://problem/10907510>, and makes the ASTs a bit more self-consistent.
d81e961 : Update parser's disambiguation to cope with braced function-style casts in C++11, and with braced-init-list initializers in conditions. This exposed an ambiguity with enum underlying types versus bitfields, which we resolve by treating 'enum E : T {' as always defining an enumeration (even if it would only successfully parse as a bitfield). This appears to be g++ compatible.
47611c8 : Turned on support for __declspec(deprecated) in MS compatibility mode.
0d389b8 : [analyzer] Invalidate the region passed to pthread_setspecific() call.
a596442 : Tweak release note comments for checker build.
6408994 : Update checker build to checker-261.
b45cfea : Add a quick TODO.
fdc5d56 : Fold debug scope emission into the cleanup scope.
709296d : another test for modern ivar access rewrite.
4d8b797 : Revert r151172: Unwind path cleanup for array new list initializers.
12932a0 : more tests for modern objc translator.
cd376a1 : Improve placement of clang crash diagnostics section.
87cb5be : [analyzer] Malloc cleanup: - We should not evaluate strdup in the Malloc Checker, it's the job of CString checker, so just update the RefState to reflect allocated memory.
8a988c3 : Revert part of r148839 and keep DefaultTargetTriple in the form adjusted by -target and similar options. As discussed in PR 12026, the change broke support for target-prefixed tools, i.e. calling x86_64--linux-ld when compiling for x86_64--linux. Improve the test cases added originally in r149083 to not require execution, just executable files. Document the hack with appropiate FIXME comments.
b211a4b : Add clang crash diagnostic info and associated flags to Clang user manual.
2775b93 : Update set-xcode-analyzer to work with Xcode repackaging in Xcode 4.3
61b83c0 : Add new driver warning from r151174 to a warning group. Please let me know if this isn't the appropriate grouping.
72c88f1 : modern objc translator. more writing of modern ivar access abi.
2dd17a1 : [driver] Add a warning for when -mcpu= is specified without an argument. There are likely many other OPT_xxxx_EQ options that could/should be added here. rdar://10704648
5b38a0f : Doug's review comments.
0f5a193 : Unwind path cleanup for array new list initializers.
9203647 : CodeGen for array new list initializers. Doesn't correctly clean up in the face of exceptions yet.
b734e24 : Teach overload resolution to prefer user-defined conversion via a lambda closure type's function pointer conversion over user-defined conversion via a lambda closure type's block pointer conversion, always. This is a preference for more-standard code (since blocks are an extension) and a nod to efficiency, since function pointers don't require any memory management. Fixes PR12063.
33deb35 : Fix parsing and processing initializer lists in return statements and as direct member initializers.
7651742 : Warn about non-standard format strings (pr12017)
341785e : More ArrayRef-ification of methods.
4fe5be0 : ArrayRef-icize the function arguments.
795b100 : Use an ArrayRef when we can instead of passing in a SmallVectorImpl reference.
428c620 : Throw away stray CXXDefaultArgExprs. Fixes PR12061.
d77177a : In -fdelayed-template-parsing mode, reenter every scope when late parsing a templated function; (Not just the template parameter scope as previously). Also enter the scope stack in the correct order.
0635aa7 : Accept braced-init-lists in conditions, and, in passing, dramatically improve the diagnostic for using a parenthesized direct-initializer in a condition.
b1e3f32 : Make sure null initialization in arrays works correctly with ARC types. <rdar://problem/10907547>.
ac1303e : Generate an AST for the conversion from a lambda closure type to a block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST).
e9ee382 : Improve diagnostics a bit for bad member initializers, and fix an obscure bug involving packs. Fixes PR12049.
de40d3b : test/CodeGenCXX/thiscall-struct-return.cpp: Relax expressions for -Asserts.
60a1fa4 : [analyzer] Malloc checker: mark 'strdup' and 'strndup' as allocators.
6c60c8d : Adding support for Microsoft's thiscall calling convention. Clang side of the patch.
d9ab7bb : [analyzer] Malloc: fix another false positive. , when we return a symbol reachable to the malloced one via pointer arithmetic.
5fdadf4 : [analyzer] Change naming in bug reports "tainted" -> "untrusted"
e0d92a4 : [libclang] Index the field references of a designated initializer, rdar://10906206
76f3f69 : Implement C++11 []p11: If the operand to a decltype-specifier is a function call (or a comma expression with a function call on its right-hand side), possibly parenthesized, then the return type is not required to be complete and a temporary is not bound. Other subexpressions inside a decltype expression do not get this treatment.
e43fe99 : Fix typo correction of template arguments to once again allow type names.
2639ac6 : Provide a way to disable auto-generation of preprocessed files during clang crash. This can speedup the process of generating a delta reduced test case. rdar://10905465
5731778 : modern objc translator: fixes a bug where a class declaration with not any implementation in tu was not being translated.
e7b3fa7 : objective-c modern translator. accessing ivars using modern abi - wip.
f775c7b : Make sure Stmt::dump() is included in libclang.
fccfb62 : In the conflict between C++11 [expr.prim.general]p4, which declares that 'this' can be used in the brace-or-equal-initializer of a non-static data member, and C++11 [expr.prim.lambda]p9, which says that lambda expressions not in block scope can have no captures, side fully with C++11 [expr.prim.general]p4 by allowing 'this' to be captured within these initializers. This seems to be the intent of non-static data member initializers.
51e47df : Fix a crash in the diangostic code in EvalConstant. PR12043.
2789d8e : No need to go to object file, -emit-llvm is sufficient to see if clang itself crashes.
e3bab98 : Skip testing the crtbegin.o, and resume using a single variable for the prefixes. It seems only crtbegin.o uses the strange formatting.
6ce2341 : Clean up, add some documentation, and make this test return to checking the linker toolchainness a bit more thoroughly. It used to work this way, but hit buildbot issues. Hopefully subsequent fixes have addressed those problems, but I'll be watching the bots.
977ea78 : Don't crash on attempts to synthesize an invalid property. rdar://problem/10904479
c95d01f : Redirect the output to /dev/null. This prevents the output from cluttering up the build enviroment.
b09ab8c : Only pop the expression evaluation context corresponding to a lambda expression after we've finished the function body of the corresponding function call operator. Otherwise, ActOnFinishFunctionBody() will see the (unfinished) evaluation context of the lambda expression itself. Fixes PR12031.
e38fa18 : Don't assume that a valid expression for the first part of a for-statement is non-null when diagnosing a broken attempt to write a for-range-statement.
f57c413 : When calling a non variadic format function(vprintf, vscanf, NSLogv, ...), warn if the format string argument is a parameter that is not itself declared as a format string with compatible format.
f4b7de1 : Improve our handling of lambda expressions that occur within default arguments. There are two aspects to this:
f18a87b : Allow linux builds to take advantage of libunwind to get unwind.h if that's installed.
b5f2c41 : Also mark Type's dump() as 'used' to make it available in libclang.
a7b07fd : Remove comma from end of enum to silence build warning.
0ee7d94 : Mark a few 'dump' methods as 'used' to make sure they are included in libclang and useable while debugging.
5878cbc : Implement non-internal linkage for lambda closure types that need a stable mangling, since these lambdas can end up in multiple translation units. Sema is responsible for deciding when this is the case, because it's already responsible for choosing the mangling number.
702afbc : Remove svn:eol-style on the test I just added.
450301e : Add a test case for r150976.
552e299 : Implement name mangling for lambda expressions that occur within the initializers of data members (both static and non-static).
c9e0f92 : Adding a test case for the working-directory fix
7f9b1d9 : Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586>
ccc1b5e : Implement name mangling for lambda expressions that occur within the default arguments of function parameters. This simple-sounding task is complicated greatly by two issues:
ef78446 : Emit the exact size for the invariant intrinsics.
3620547 : [analyzer] + a couple more malloc tests.
9c1e1bd : [analyzer] Make KeyChainAPI checker inlining-aware.
ee06539 : Make RequireLiteralType work correctly with incomplete array types. PR12037.
a4c29b6 : [PCH] Recover gracefully if the ASTReader detects that a file is different from the one stored in the PCH/AST, while trying to load a SLocEntry.
ff23488 : Fix a constexpr FIXME: When implicitly instantiating the primary template for an explicit specialization of a function template, mark the instantiation as constexpr if the specialization is, rather than requiring them to match.
e86b9ea : Formatting.
50933e5 : Make PreprocessorOptions::DetailedRecordIncludesNestedMacroExpansions false by default.
cd285d0 : objc IRGen: force CSE of load of ivar offsets by setting the 'invariant.load' metadata tag onto those loads. // rdar://10840980
a19581a : [analyzer] Make Malloc aware of inter-procedural execution + basic tests.
9747b53 : [analyzer] Testing: These checkers are not experimental anymore.
bb2a686 : [analyzer] Turn on by default the Malloc Checker and a couple of CString checks:
fa07ab5 : Make sure that we set up the right declaration contexts when creating and introducing the lambda closure type and its function call operator. Previously, we assumed that the lambda closure type would land directly in the current context, and not some parent context (as occurs with linkage specifications). Thanks to Richard for the test case.
af30029 : modern objc translator. Finish off first cut of the modern meta-data translation by commenting out private ivar declarations in user source. Also, added several tests.
ee18803 : When we resolve the type of an 'auto' variable, clear out the linkage of that variable; it will need to be recomputed with the resolved type.
be580e5 : Make test case less sensitive to metadata numbering.
9e8c92a : Basic support for name mangling of C++11 lambda expressions. Because name mangling in the Itanium C++ ABI for lambda expressions is so dependent on context, we encode the number used to encode each lambda as part of the lambda closure type, and maintain this value within Sema.
86211df : Remove the type retaining from the clang frontend. This is now handled by the caching and rauw. Also fix one cache that wasn't being added to highlighted by this patch. Update all testcases accordingly.
917bc8d : Make forward declarations for objective-c types use the new temporary forward declaration nodes. Fixes a problem building Chrome.
8261345 : [] Format and add documention for Type
0e1f4f8 : [] Add tests for Type.is_volatile_qualified and Type.is_restrict_qualified
826fce5 : [] Implement Type.argument_types()
7eb691a : [] Implement Type.__eq__ and Type.__ne__
83bc276 : Deserialize the direct-initialization range of a "new" expression properly. Previously, we deserialized it but failed to set the corresponding member in CXXNewExpr. Fixes <rdar://problem/10893600>.
1367c9b : Fixing the working-directory option so that it stores the proper directory.
c93dc78 : Basic: import IntrusiveRefCntPtr<> into clang namespace
345032a : Add 3dNOW intrinsic header to x86intrin.h, conditioned on __3dNOW__ to match the behavior of GCC. Also add a test for these intrinsics, which apparently have *zero* tests. =[ Not surprisingly, Clang crashed when compiling these.
19562c9 : ObjCMessageExpr: Don't leave SelLocsKind uninitialized when the send is implicit.
2b28bf1 : Set the location of the template keyword when allocating a new TemplateIdAnnotation.
607098c : Make the regular expressions in this test more narrow to ensure we're actually matching the write substrings, and stop looking for a leading '/' to try and finish fixing darwin and other hosts.
d2aea12 : objective-c modern translator: comment out private ivars declared in class extension and implementation.
31cc38c : [] Implement Type.is_function_variadic
772291a : Emit a warning when list-initializing a std::initializer_list member.
4b45d7f : Harden test against for operator new(unsigned int).
972edf0 : Make heap-allocation of std::initializer_list 'work'.
924db71 : Make std::initializer_list member initializers 'work'.
24fe798 : Refuse to compile global std::initializer_lists instead of doing completely the wrong thing.
af130fd : Get recursive initializer lists to work and add a test. Codegen of std::initializer_list is now complete. Onward to array new.
bac5cf4 : Add a testcase for using objects with list-constructors, and fix a Sema crash by repeating an old hack.
25e640a : Add a testcase to show that temporaries from the initializer list are destroyed correctly.
b859d50 : Add a testcase for start+end implementations of std::initializer_list.
d2231c9 : Fix a crash for nested initializer list initialization. Still does the wrong thing in CodeGen, in that it never destructs anything.
e8e92b9 : Remove dead code.
49c6039 : Don't check for /lib and /usr/lib.
ab1cc02 : Our handling of variables in FileCheck looks really broken on windws. Just give up on matching the path prefix for the libraries.
5bbc966 : Add an extra CHECK line to make sure TOOLCHAIN2 matches just the path prefix.
8c28fc0 : Looks like we use forward slashes for header search but back slashes for libraries on windows. Use two variables to make this test pass.
fb50ebf : Try to match the linker being named ld.exe. Second try at fixing the windows bots.
358030c : Don't assume a path starts with a /. Should fix the windows bot.
0e65959 : Implement a -gcc-toolchain command line option that does the same as configure's --with-gcc-toolchain. The configure option is now just a default value for the command line one.
99c06be : Teach analyzer that blocks with no captures are globals. Fixes <rdar://problem/10348049>.
8602401 : Implement constant expression support for __real__ and __imag__ on lvalue complex numbers. Treat complex numbers as arrays of the corresponding component type, in order to make std::complex behave properly if implemented in terms of _Complex T.
e215ba1 : Fix crash in analyzer diagnostic generation involving subexpressions of OpaqueValueExpr not appearing in the ParentMap. Fixes <rdar://problem/10797980>.
a979712 : Teach analyzer about NSAutoreleasePool -allocWithZone:. Fixes <rdar://problem/10640253>.
5550a2f : Add analyzer test for using of C++ references with ObjC object pointers, reported in <rdar://problem/10569024>.
dfb80de : Fix wrong-code bug: __imag on a scalar lvalue should produce a zero rvalue, rather than an lvalue referring to the scalar.
b673a41 : Adopt ExprEngine and checkers to ObjC property refactoring. Everything was working, but now diagnostics are aware of message expressions implied by uses of properties. Fixes <rdar://problem/9241180>.
b8197bc : Default to not using __cxa_atexit on Solaris.
d41854a : Remove a debugging line accidentally left in the last commit.
5f3c163 : Implement #pragma redefine_extname.
65005eb : Add -Wstrncat-size and -Wempty-body to release notes.
8b1d32bf : Remove unused but set variable.
999713e : Rewrite variable capture within lambda expressions and blocks, eliminating a bunch of redundant code and properly modeling how the captures of outside blocks/lambdas affect the types seen by inner captures.
6893284 : Unify our computation of the type of a captured reference to a variable; it was previously duplicated, and one of the copies failed to account for outer non-mutable lambda captures.
b78ae97 : Fix a problem in the GCC testsuite, exposed by r150557. Compound literals are represented as prvalues in C++; don't be fooled into thinking they're global lvalues.
e61eb04 : Add a bunch of missing calls to DiagnoseSentinelCalls. <rdar://problem/10885993>.
e698a5c : Change wording of warning about using __bridge casts in non-ARC.
213d70b : Diagnose uses of deleted destructors and inaccessible defaulted destructors.
7d5088a : Initial refactoring of 'ShouldDeleteSpecialMember', in preparation for providing decent diagnostics. Finish the work of combining all the 'ShouldDelete' functions into one. In unifying the code, fix a minor bug where an anonymous union with a deleted default constructor as a member of a union wasn't being considered as making the outer union's default constructor deleted.
7acebfb : Fix comment.
7ff0c5d : Add in a caching mechanism so that forward declarations are replaced with full types if they exist.
1486d2c : Formatting.
51b2f6b : Remove UpdateCompletedType from the debug info emission. We now emit less than complete types on purpose on occasion and so our caches aren't useful for this kind of lazy emitting.
6e94f6c : Remove redundant check.
3133f79 : Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once.
d8a8a3b : [analyzer] Malloc Checker more tests.
f0dfc9c : [analyzer] Fix another false positive in the Malloc Checker, by making it aware of CString APIs that return the input parameter.
998e275 : [analyzer] Generalize function name checking in CString checker. (Ex: It was not treating __inline_strcpy as strcpy. Will add tests that rely on this later on.)
cf4c60f : modern objc translator: postpone writing of class definitions until the end when all their ivars are known then.
8c00a1b : modern objc writer: more work for category metadata rewrite and some cleanup.
00a8c3f : Don't emit optimization-specific intrinsic at -O0.
6118612 : modern objc translator: category metadata related patch.
48fad49 : On Solaris, define some standard macros that the Solaris headers require in order to not be broken (by Solaris standards).
d267b3f : De-nest tentative parsing to disambiguate lambdas from designators; no functionality change.
1f27805 : Don't allow non-empty ParenListExprs as array-new initializers.
32cf1f2 : Basic code generation support for std::initializer_list.
bf8ca00 : [] Implement Type.element_count
8605760 : [] Implement Type.element_type
abb9432 : The clang half of r150794: after the construction of a global or static const variable ends, if the variable has a trivial destructor and no mutable subobjects then emit an llvm.invariant.start call for it. globalopt knows to make the variable const when evaluating this.
1e009d5 : Index "12" holds the vtable, not "9".
a9b21d2 : Bug fix: do not emit static const local variables with mutable members as constants.
e15c712 : When performing IRGen on a global, emit it as a constant if: 1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'.
bd64520 : Only add 'const' to the type of variables captured in a lambda when we're capturing it by value in a non-mutable lambda.
b3f323d : Disambiguate between C++11 lambda expressions and C99 array designators in the parser. In the worst case, this disambiguation requires tentative parsing just past the closing ']', but for most cases we'll be able to tell by looking ahead just one token (without going into the heavyweight tentative parsing machinery).
f3908f2 : Make sure all remaining parts of the constant evaluator are aware that an array can be represented by an LValue, and use that to simplify the code a little.
de5d3c7 : Whether an argument is required (in contrast with being an optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable.
a345edb : Block expressions always have a prototyped function type; expose this in the AST accessor and micro-optimize it very slightly.
84fa9cd : Add a castAs<U> accessor to CanQual<T>.
27dd7d9 : Rework the Sema/AST/IRgen dance for the lambda closure type's conversion to function pointer. Rather than having IRgen synthesize the body of this function, we instead introduce a static member function "__invoke" with the same signature as the lambda's operator() in the AST. Sema then generates a body for the conversion to function pointer which simply returns the address of __invoke. This approach makes it easier to evaluate a call to the conversion function as a constant, makes the linkage of the __invoke function follow the normal rules for member functions, and may make life easier down the road if we ever want to constexpr'ify some of lambdas.
92dc035 : Tests for the fixits which Doug added in r150727.
85b29a4 : Reject continue/break statements within members of local functions nested within loop and switch statements, by teaching Scope that a function scope never has a continue/break parent for the purposes of control flow. Remove the hack in block and lambda expressions which worked around this by pretending that such expressions were continue/break scopes.
ce582fe : PR12012: Fix a regression in r150419 where we would try (and fail) to zero-initialize class types with virtual bases when constant-evaluating an initializer.
df79567 : objective-c translator. More stuff for modern meta-data.
9965dea : Reapply r150631:
22cfaf5 : Elide copy construction in new expressions. PR11757.
3336353 : Avoid infinite mutual recursion in DiagnoseInvalidRedeclaration.
ad901a6 : [analyzer] MallocChecker: more tests.
febdc32 : [analyzer] Malloc Checker: Clean up bug naming: - Rename the category "Logic Error" -> "Memory Error". - Shorten all the messages.
fe57160 : [analyzer] Malloc Checker: Make the diagnostic visitor handle the case of failing realloc. + Minor cleanups.
ebc6af1 : Pacify gcc's -Wreturn-type
eeabf38 : fix the property list metadata name.
c9ecec4 : Improve recovery for lambda expressions that have 'mutable' or a trailing return type but not a '()'. Recover by inserting the parentheses. Thanks to Xeo on IRC for the example.
3f77c7b : modern objective-c translator: write the root class meta-data.
7bdc152 : Lambda closure types are always considered to be like "local" classes, even if they are not within a function scope. Teach template instantiation to treat them as such, and make sure that we have a local instantiation scope when instantiating default arguments and static data members.
449d4f0 : Make sure we still reject static data members in anonymous unions in C++11.
bdd4c84 : Add checker visitation hooks in ExprEngine::Visit() for common no-op expressions. To be used later.
2ac58b7 : Revert "Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change."
b9c64d8 : C++11 allows unions to have static data members. Remove the corresponding restriction and add some tests.
437ee81 : Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change.
626719b : Minor cleanup to node data structures in ExplodedGraph. No functionality change.
a76879e : Tweak the comment on the 'q' length modifier again.
6ade343 : modern objc translator: meta-data generation for first part of class meta-data.
c7b55fc : Fix this test to work with and without Asserts mode.
3c15c43 : Update comment as per Joerg's comment on r150697.
8f70bda : In Objective-C++, allow the keyword 'class' to be used as a property name for dot syntax, e.g., NSObject.class or foo.class. For other C++-keywords-as-method-names, use message send syntax. Fixes <rdar://problem/10794452>.
f11641a : If code completion patterns are not enabled, use simpler else/else if completions that don't insert braces. Fixes <rdar://problem/10764168>.
ae1b4af : Add fixits for ARC casting errors for implicit conversions as well. rdar://10289283
dd5756c : Minor fix to template instantiation, which properly instantiates dependent attributes on static members of templatized classes.
634b293 : Thread safety analysis: Don't check for lockable on undefined types.
2f13bec : Thread-safety analysis: Disable checking inside constructors, destructors, lock, and unlock functions
4bda3ec : Thread-Safety: added support for 'this' as a lock expression.
c24a233 : Allow thread safety attributes on function definitions. For compatibility with gcc, clang will now parse gcc attributes on function definitions, but issue a warning if the attribute is not a thread safety attribute. Warning controlled by -Wgcc-compat.
32addd5 : Format string analysis: give 'q' its own enumerator.
d1ac03e : Tweak link order on Solaris so that global ctors work.
bd45d25 : Proper checking of list-initializers for array new expressions.
2aed8b8 : Revert "Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.""
1548d14 : Revert "Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself." It leads to a compiler crash in the Bullet benchmark.
5f688f4 : Make CXXNewExpr contain only a single initialier, and not hold the used constructor itself.
13ca534 : Fix test to not depend upon metadata numbers.
b1612cb : test/CodeGenObjC/arc-no-arc-exceptions.m: Disable it at -Asserts for now.
a2d7dfa : Shift Microsoft enum extensions from -fms-extensions to -fms-compatibility, so -fms-extensions doesn't affect enum semantics in incompatible ways. <rdar://problem/10657186>.
21f6ed9 : Initial implementation of IRGen for the lambda conversion-to-function-pointer operator.
5a0917d : [analyzer] Diagnostics: Ensure that the default end of diagnostic path piece can always be generated.
ac59300 : [analyzer] Malloc Checker: Give up when a pointer escapes into a struct.
74e1ad9 : constexpr tidyups: * Fix bug when determining whether && / || are potential constant expressions * Try harder when determining whether ?: is a potential constant expression * Produce a diagnostic on sizeof(VLA) to provide a better source location
0460651 : Add a few minor items to the 3.1 release notes.
c874ca1 : Fix the RecursiveASTVisitor to not traverse C++ default parameters twice.
348ab1a : Fix test for r150648.
bd89f8c : Start of IRGen for lambda conversion operators.
3973acc : Use the new method for specifying garbage collection metadata in the module.
f8490ee : [libclang] Do index statements inside a type source info. rdar://10872758
f6e2e02 : Implicitly define a lambda's conversion functions (to function pointers and block pointers). We use dummy definitions to keep the invariant that an implicit, used definition has a body; IR generation will substitute the actual contents, since they can't be represented as C++.
b49bd27 : Teach clang to add metadata tags to calls and invokes in ObjC with -fno-objc-arc-exceptions. This will allow the optimizer to perform optimizations which are only safe under that flag.
9f02d6d : Mark the parenthesized array member initialization diagnostic as DefaultError, and move it out of -Wgnu so that -Wno-gnu leaves it enabled. As requested by Eli.
45fb995 : Start off release notes for clang 3.1 with reference to C11 anonymous structs and unions, and C++11 generalized constant expressions.
ba83c95 : objc-arc: For arc's ivar layout, treat __unsafe_unretained ivars as unscanned. // rdar://10832643
64a0430 : Revert "Add a completed/incomplete type difference. This allows us to have"
9a68d45 : Add a completed/incomplete type difference. This allows us to have partial types for contexts and forward decls while allowing us to complete types later on for debug purposes.
3ad02aa : Silence a valgrind warning, and remove an unused var.
0f163e9 : Support GCC's bug^Wextension allowing class array members to be initalized by a parenthesized braced-init-list in the base/member initialization list.
2d4d7fd : Improve typo correction involving nested name specifiers.
c2956e5 : Lambda closure types have a conversion function to a block pointer with the same parameter types and return type as the function call operator. This is the real answer to
4339bb3 : objective-c translator: fixes an obscure rewriting bug which attempted to rewrite the same meta-data twice.
c25d1c9 : Factor the construction of the lambda-to-function-pointer conversion function declaration into a separate function. No functionality change
6c44886 : Provide common include for all diagnostic headers.
d49cb20 : Store the warning option corresponding to a diagnostics as an index into the option table instead of storing the name.
ceb1565 : Remove the unuseful -fdiagnostics-show-name
e4e68d4 : When overload resolution picks an implicitly-deleted special member function, provide a specialized diagnostic that indicates the kind of special member function (default constructor, copy assignment operator, etc.) and that it was implicitly deleted. Add a hook where we can provide more detailed information later.
b622959 : Add some Solaris include paths and fix a -lgcc_eh that apparently should be -lgcc_s.
d226e5c : Tweak comment above DiagGroup<"all">.
87c5150 : A little more lambda capture initialization diagnostics cleanup
4773654 : Introduce a new initialization entity for lambda captures, and specialize location information and diagnostics for this entity.
badb6cd : Fix copy-and-paste error in comment
793cd1c : Specialize noreturn diagnostics for lambda expressions.
0bcc3d8 : Fix silly precedence error.
4e88df7 : Specialize the diagnostic complaining about conflicting types of return statements within a lambda; this diagnostic previously referred to blocks.
81f3bff : Implement code completion support for lambda capture lists.
31c4690 : First pass at Solaris toolchain support. This version compiles and links hello world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh.
d5f55dc : Convert ad-hoc `int array[expr ? -1 : 1]' assertions in test/SemaCXX/nullptr.cpp to static_assert
be6126a : Make -Wformat fix-its preserve original conversion specifiers.
37ce010 : If a static data member of a class template which could be used in a constant expression is referenced, defined, then referenced again, make sure we instantiate it the second time it's referenced. This is the static data member analogue of r150518.
83587db : Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase.
1d6cc6a : [analyzer] Malloc checker: make a bit safer.
5677eaf : Fix typo in r150549.
4d4e5c1 : Split reinterpret_casts of member pointers out from CK_BitCast; this is general goodness because representations of member pointers are not always equivalent across member pointer types on all ABIs (even though this isn't really standard-endorsed).
011d8b9 : Implement indexing support for lambdas in libclang (both kinds), as well as improving the RecursiveASTVisitor's walk of lambda expressions.
f1c1d9a : modern objective-c translator: start writing the main class meta-data.
f66035e : [analyzer] Add the Malloc checker to the list of tested checkers.
ebc1d32 : [analyzer] Malloc Checker: Add another false positive as a todo test.
40add29 : [analyzer] Malloc Checker: add support for reallocf, which always frees the passed in pointer on failure.
b16ce45 : [analyzer] Malloc Checker: add support for valloc + minor code hardening.
69f811d : Extend all-std-headers.cpp to include C++11 headers when building in C++11 mode. Conditionally include headers which older STL implementations don't provide.
b5216aa : Advertize support for constexpr.
65967ec : I hereby declare that all remaining constexpr issues are bugs, not unimplemented features. :)
26f2cac : constexpr: evaluation support for nullptr comparisons.
c6889e7 : Implement C++ core issue 974, which permits default arguments for lambda expressions. Because these issue was pulled back from Ready status at the Kona meeting, we still emit an ExtWarn when using default arguments for lambda expressions.
57b9c4e : If a constexpr function template specialization is referenced, and then the template is defined, and then the specialization is referenced again, don't forget to instantiate the template on the second reference. Use the source location of the first reference as the point of instantiation, though.
58d2dbe : [libclang] Indexing: only index implicit template instantiations via an opt-in indexing option.
625bb56 : Generalize -Wempty-body: warn when statement body is empty (closes: PR11329)
66c4040 : [analyzer] Make Malloc Checker optimistic in presence of inlining. (In response of Ted's review of r150112.)
9050e3a : Remove recusive expression visitation in ExprEngine::VisitIncrementDecrementOperator().
70488e2 : Pending clear answer from WG21 on whether core issue 903 is intended to apply to C++11 or just C++17, restrict the set of null pointer constants in C++11 mode back to those which were considered null in C++98.
a91ac5b : Remove recursive visitation in ExprEngine for UO_Not, UO_Minus, UO_LNot.
224c489 : Remove recursive visitation in ExprEngine for UO_Deref, UO_AddrOf, and UO_Extension.
c1e08dc : Remove ExprEngine recursive visitation of unary UO_Imag operation.
0193166 : Further remove some recursive visitiation in ExprEngine that is no longer needed because the CFG is fully linearized.
53393f2 : Check the return type of lambda expressions.
1d0c9a8 : PR11650: Implement resolution of core issue 1301. Value initialization can't be used to construct an object of union type with a deleted default constructor (plus fixes for some related value-initialization corner cases).
75d8ba3 : Warn about non-int main() results in GNU C mode instead of erroring.
0a52534 : more objective-c translator for modern abi. metadata for protocol definitions used on class qualifiers.
a736524 : Implement support for lambda capture pack expansions, e.g.,
63aae82 : Use several weighted factors to determine typo candidate viablity.
9d66504 : Simplify and robustify lambda PCH test
9d36f5d : Implement AST (de-)serialization for lambda expressions.
90af4e2 : more modern objc translator. Focusing on metadata for methods.
cc8a945 : include clang's config.h unconditionally (v2)
14c5982 : Use a simpler (and more efficient) pattern to pad vectors.
3164c14 : Fix crash-on-invalid for 'operator int[]()' in C++11.
7b8290f : Fix use-after-free introduced by me being an idiot.
df33a35 : Remove useless if statement.
8656855 : Add a coverage test for lambda expression IRGen.
7473b1c : Implement new DiagnosticsRenderer that packages notes retrieved by clang_getDiagnosticSetFromTU() as child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now match with those generated for serialized diagnostics.
8be51ea : Refactor DiagnosticRenderer and SDiagsRenderer to have some functionality pulled into DiagnosticNoteRenderer, and common DiagnosticRenderer that assumes that all custom diagnostic messages are notes. Also extend DiagnosticRenderer to work with StoredDiagnostics in preparation for subsequent changes.
6700d67 : Add helper methods to StoredDiagnostic.
eb273b7 : Fix another issue introduced by the proposed wording for core issue 1358: since the instantiation of a constexpr function temploid is now always constexpr, a defaulted constexpr function temploid is often ill-formed by the rule in [dcl.fct.def.default]p2 that an explicitly-defaulted constexpr function must have a constexpr implicit definition. To avoid making loads of completely reasonable code ill-formed, do not apply that rule to templates.
b74ed08 : Implement IRGen of lambda expressions which capture arrays.
0bdb5aa : Refactor out new function EmitInitializerForField from EmitMemberInitializer. The new function will be used to initialize the fields of lambda expressions.
b276bd9 : [analyzer] Malloc Checker: realloc: add dependency between the symbols in realloc map.
d764437 : Simple test ensuring that we perform direct initialization when copy-capturing in lambdas
d5387e8 : Link together the call operator produced from transforming a lambda expression with the original call operator, so that we don't try to separately instantiate the call operator. Test and tweak a few more bits for template instantiation of lambda expressions.
e76872e : Mark the cxa_guard_{abort,acquire,release} functions nounwind.
7ca4850 : Deal with a horrible C++11 special case. If a non-literal type has a constexpr constructor, and that constructor is used to initialize an object of static storage duration such that all members and bases are initialized by constant expressions, constant initialization is performed. In this case, the object can still have a non-trivial destructor, and if it does, we must emit a dynamic initializer which performs no initialization and instead simply registers that destructor.
5ad3af9 : Add a subgroup of -Wreturn-type, -Wreturn-type-c-linkage.
dfca6f5 : Introduce support for template instantiation of lambda expressions. This is mostly a simple refact, splitting the main "start a lambda expression" function into smaller chunks that are driven either from the parser (Sema::ActOnLambdaExpr) or during AST transformation (TreeTransform::TransformLambdaExpr). A few minor interesting points:
07e5288 : modern objc translator. More ivar rewrite work.
db64923 : objc modern translator. ivar offset symbols.
30838b9 : [analyzer] Malloc Checker: realloc: correct the way we are handing the case when size is 0.
5189035 : Add a script that produces a list of all diagnostics that are defined in Diagnostic*.td files but not used in sources.
684a8e4 : Remove unused diagnostics from include/clang/Basic/Diagnostic*.td files.
20ff0e2 : Don't route explicit construction via list-initialization through the functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary.
43a1b00 : Sink variable into assert
164d6f8 : objective-c translator: more rewriting of ivar types into a c-type which closely matches the objective-c type.
c563891 : When generating diagnostic information due to a clang failure, allow multiple -arch options if the're all the same.
c8bb3be : [analyzer] Malloc checker: rework realloc handling:
7ae282f : Split the storage of lambda information between the LambdaExpr and the CXXRecordDecl in a way that actually makes some sense: - LambdaExpr contains all of the information for initializing the lambda object, including the capture initializers and associated array index variables. - CXXRecordDecl's LambdaDefinitionData contains the captures, which are needed to understand the captured variable references in the body of the lambda.
9daa7bf : Keep track of the set of array index variables we use when we synthesize a by-copy captured array in a lambda. This information will be needed by IR generation.
3b66d7b : Remove empty directories left behind by git-svn.
908a595 : Don't allocate unused storage for captures/capture initializers in lambda expressions
da8962a : Move the storage of lambda captures and capture initializers from LambdaExpr over to the CXXRecordDecl. This allows us to eliminate the back-link from the closure type to the LambdaExpr, which will simplify and lazify AST deserialization.
e88a71f : Add back in the code to create forward decls using temporary mdnodes.
a765b9f : Testcase for previous commit.
42e75da : Temporarily walk back a few of my recent debug info limiting changes while reworking how we handle wanting to emit only parts of structures.
63d7ed8 : StaticAnalyzer/Core: fix MSVC build
36d5927 : drop more llvm:: prefixes on SmallString<>
1e4c01b : drop more llvm:: prefixes on OwningPtr<>
8944675 : examples/analyzer-plugin: hook up to build
4ee01ef : Fix typo in PrintfConversionSpecifier::isDoubleArg()
86c3ae4 : Update constexpr implementation to match CWG's chosen approach for core issues 1358, 1360, 1452 and 1453. - Instantiations of constexpr functions are always constexpr. This removes the need for separate declaration/definition checking, which is now gone. - This makes it possible for a constexpr function to be virtual, if they are only dependently virtual. Virtual calls to such functions are not constant expressions. - Likewise, it's now possible for a literal type to have virtual base classes. A constexpr constructor for such a type cannot actually produce a constant expression, though, so add a special-case diagnostic for a constructor call to such a type rather than trying to evaluate it. - Classes with trivial default constructors (for which value initialization can produce a fully-initialized value) are considered literal types. - Classes with volatile members are not literal types. - constexpr constructors can be members of non-literal types. We do not yet use stati
c : initialization for global objects constructed in this way.
9b338a7 : Delete a simplistic helper function now that llvm::Triple can provide this functionality.
0b17b9a : more of rewriting ivar types.
9ecb72a : Move -Wdangling-else under -Wparentheses to be backwards compatibile with GCC.
6d9ef30 : Implement the standard decltype() semantics described in C++11 [dcl.type.simple]p4, which treats all xvalues as returning T&&. We had previously implemented a pre-standard variant of decltype() that doesn't cope with, e.g., static_ast<T&&>(e) very well.
f8af982 : Within the body of a lambda expression, decltype((x)) for an id-expression 'x' will compute the type based on the assumption that 'x' will be captured, even if it isn't captured, per C++11 [expr.prim.lambda]p18. There are two related refactors that go into implementing this:
6dc00f6 : Proper initializer list support for new expressions and type construct expressions. Array new still missing.
215e4e1 : Lambdas have a deleted default constructor and a deleted copy assignment operator, per C++ [expr.prim.lambda]p19. Make it so.
3a45c0e : Change the way we store initialization kinds so that all direct inits can distinguish between list and parens form. This allows us to correctly diagnose the last test cases from litb.
168319c : Employ DirectList initialized entities to properly sort through some initialization edge cases.
8275fc0 : Fix broken link. I believe this has been broken for at least 7 months.
9335df3 : Fix the rewriter that broke with r149987.
5b9cc5d : Represent C++ direct initializers as ParenListExprs before semantic analysis instead of having a special-purpose function.
ecfcd56 : Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double error is unfortunate, but I really don't see an alternative whose effort is worth it.
56a0428 : Fix parsing new expressions using init lists. Probably still do the wrong thing in cases involving array new. Show that many cases using initializer list constructors work, in that they parse and pass semantic analysis.
15d0ae1 : [analyzer] Malloc Checker: reduce false negatives rate by assuming that a pointer cannot escape through calls to system functions. Also, stop after reporting the first use-after-free.
0860cd0 : [analyzer] Malloc Checker: Report a leak when we are returning freed memory. (As per one test case, the existing checker thought that this could cause a lot of false positives - not sure if that's valid, to be verified.)
da04677 : [analyzer] Malloc checker: Leak bugs should be suppressed by sinks. Resolves a common false positive, where we were reporting a leak inside asserts
4fb5487 : [analyzer] MallocChecker: refactor/improve the symbol escape logic.
8f1fed0 : objective-c translator. more modern abi stuff, focusing on ivar related meta-data.
f2e4dfc : Implement core issue 5: a temporary created for copy-initialization has a cv-unqualified type. This is essential in order to allow move-only objects of const-qualified types to be copy-initialized via a converting constructor.
8327118 : Make sure to try instantiating a templated type which is used in an _Atomic before complaining that it's incomplete.
b141b28 : [analyzer] New checker for assignment of non-0/1 values to Boolean variables.
9135930 : Implement warning for non-wide string literals with an unexpected encoding. Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>.
d747efa : Begin refactoring to use the newly added triple predicates for simplicity. Also addresses a FIXME, although not one that could be observed.
cec5ebd : Basic support for referring to captured variables from lambdas. Some simple examples seem to work. Tests coming up soon.
668165a : Make sure Sema creates a field for 'this' captures. (Doug, please double-check that this is correct.)
b70a3ba : [libclang] For a reference of an implicit template instantiation just give a reference for the instantiation decl. Also test that its location is correct after previous commit.
734bd6e : For class template implicit instantiation, also update its location to point to the pattern template that it came from, otherwise we had this situation:
41105ad : const-qualify CXXRecordDecl::getCaptureFields.
8e9314f : Add simple semantic test for C++11 [expr.prim.lambda]p16, which covers recursive capture. This is far more interesting for IRgen.
f0459f8 : Implement C++11 [expr.lambda.prim]p13, which prohibits lambdas in default arguments if in fact those lambdas capture any entity.
a63b422 : objc translator: more modern metadata stuff.
b089c4d : Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by Sascha Wildner.
a73cdcb : Support all null pointer literals in format strings.
ae93295 : objctive-c translator: modern metadata for ivars. wip.
fc30829 : Have the driver pass CPU and target feature information to cc1as.
911d717 : [libclang] Indexing API: fully index using decls and directives.
6d96836 : [libclang] Indexing API: Fully index implict template instantiations.
409e245 : Add ArrayRef goodness in MultiplexASTMutationListener.
1da95db : Update MultiplexASTMutationListener with the missing methods from ASTMutationListener.
ad133ea : [libclang] Encode the template specialization parameters of a function specialization in its USR string.
e3d8e73 : Enhance checking for null format string literal to take into account __null. Fixes <rdar://problem/8269537>.
3ac109c : Allow implicit capture of 'this' in a lambda even when the capture default is '=', and reword the warning about explicitly capturing 'this' in such lambdas to indicate that only explicit capture is banned.
67b2c55 : Add test from [expr.prim.lambda]p12, which deals with odr-use and nested captures. We currently don't get odr-use correct in array bounds, so that bit is commented out while we sort out what we need to do.
b555971 : Don't introduce a lambda's operator() into the class until after we have finished parsing the body, so that name lookup will never find anything within the closure type. Then, add this operator() and the conversion function (if available) before completing the class.
d37b360 : PR11684, core issue 1417:
dcd2851 : Test cleanup: prefer static_assert to handmade alternative.
1067d05 : Loosen the test from r150238 a bit to make some of our bots happy.
eefb3d5 : Track whether a function type has a trailing return type as type sugar. Use this to pretty-print such function types better, and to fix a case where we were not instantiating templates in lexical order. In passing, move the Variadic bit from Type's bitfields to FunctionProtoType to get the Type bitfields down to 32 bits. Also ensure that we always substitute the return type of a function when substituting explicitly-specified arguments, since that can cause us to bail out with a SFINAE error before we hit a hard error in parameter substitution.
09aaaa4 : --lies.
93e2fa4 : Add a lambda example from the working draft.
a6ce20e : Fix function prolog codegen whe coerce-to type is a struct.
73d9092 : Add various tests for captures and the reaching scope of the lambda expression. Implement C++11 [expr.prim.lambda]p12's requirement that capturing a variable will odr-use it.
ef7d78b : Implement the conversion to a function pointer for lambda expressions, per C++ [expr.prim.lambda]p6.
4d8d22b : Extend CXXRecordDecl with a function that determines the mapping from the variables captured by a lambda to the fields that store the captured values. To be used in IRgen.
864b1cf : Update to new resolution for DR1458. When taking the address of an object of incomplete class type which has an overloaded operator&, it's now just unspecified whether the overloaded operator or the builtin is used.
b880609 : Remove stray semi-colon.
0337241 : Move -Wswitch from -Wmost to -Wall, consitent with GCC.
d6cf912 : Revert r145999. This turned out to be a bad idea. Unfortunately, 'id' is used so profusely in many APIs and large codebases that this made the deprecated warning trigger happy to the point of not being useful.
572ae0a : Make sure we convert struct layout pragmas to attributes for class templates the same way we do for non-template classes. <rdar://problem/10791194>.
f8b1c31 : [analyzer] MallocChecker: add a list of false positives based on running the checker over postgres and sqlite.
e9ef562 : [analyzer] MallocChecker Cleanup - harden against crashes, fix an error (use of return instead of continue), wording.
42e9a35 : objc translator: mode modern abi stuff.
a4dc693 : Remove evil const_cast that's not needed anymore.
3e78b19 : Switching to using dyn_cast_or_null, and fixing line endings in the test case.
3964e62 : Use SmallVector when we can instead of std::vector.
10520d7 : [analyzer] Proactively avoid inlining vararg functions and blocks until we properly support them.
bb3d14e : objc: If a method is not implemented in the category implementation but has been declared in its primary class, superclass, or in one of their protocols, no need to issue unimplemented method. // rdar://10823023
7badd24 : Make sure a variable with a C++ direct initializer triggers jump scope checking. Fixes PR10620 / <rdar://problem/9958362> .
8f79e3f : examples/analyzer-plugin/: unbreak build
3d9000d : cmake: create a relative symlink to clang, not absolute
a34e921 : Class objects passed by value follow the same rules as structure objects. Double fields of by-value class objects should be passed in floating point registers.
f94d392 : Kill the brief and full explanation fields from StaticDiagInfoRec. They were unused and wasted space for nothing.
da54ff3 : Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returning class objects follow the same rules as those returning struct objects.
a0c2b21 : Don't allow deduction of a lambda result type from an initializer list; it is not an expression.
8e4bc1e : [libclang] Add a libclang test I neglected to commit.
91d521d : [PCH] Add a PCH test.
8d9bd65 : Tests for C++ [expr.prim.lambda]p5. We already implement all of these semantics.
bf020bb : Getting Started: Add a missing "cd ../..".
e7d923d : Updated information on how to perform command line testing on Windows when built from MSVC.
7fb4900 : Remove unused fun.
54042f1 : Implement return type deduction for lambdas per C++11 [expr.prim.lambda]p4, including the current suggested resolution of core isue 975, which allows multiple return statements so long as the types match. ExtWarn when user code is actually making use of this extension.
760b37b : Restore the appropriate lexical declaration context for a lambda's function call operator (to the lambda class). This allows us to IRgen calls to simple (non-capturing) lambdas, e.g.,
b326ca8 : Remove the "unsupported" error for lambda expressions. It's annoying, and rapidly becoming untrue.
7e545d9 : Add a test for the non-aggregaticity of lambda types per C++11 [expr.prim.lambda].
e2c5913 : Implement C++ [expr.prim.lambda]p2, which bans lambda expressions in unevaluated operands. Be certain that we're marking everything referenced within a capture initializer as odr-used.
621fc4b : [PCH] Add some comments, per Ted's request.
44d2dbd : Fix ASTReader::FinishedDeserializing().
3b8e197 : Don't cache the artificial type for the this pointer, there's no difference in the qual type. This is a workaround for the fact that the type isn't artificial but the this decl is, however, we don't have any way of representing it in the current metadata. For now, however, just don't cache the full type.
f8c17b7 : [analyzer] MallocChecker: address a diagnostic "fixme".
30ecfad : DR1359: A constexpr constructor does not need to initialize an empty struct or empty union. This still rejects anonymous member structs or unions which only contain such empty class types, pending standard wording defining exactly what an empty class type is.
ff3b9fd : [analyzer] Add custom path diagnostic to the Malloc Checker.
cdfec5e : [analyzer] MallocChecker cleanup, more tests.
53a8b97 : [PCH] Set the DeclContext before doing any deserialization, to make sure internal calls to Decl::getASTContext() by Decl's methods will find the TranslationUnitDecl without crashing due to a parent declaration context still deserializing.
b9da557 : Correct comment Clang C++ use in production.
f8823e7 : Use RAII object for cleanups.
4c5d8af : Refactor lambda IRGen so AggExprEmitter::VisitLambdaExpr does the right thing.
b4e5e28 : CWG issue 1405: mutable members are allowed in literal types, but can't undergo lvalue-to-rvalue conversions in constant expressions.
0ca7e8b : Attempting to initialize a union member that does not exist no longer crashes.
c6a6369 : Basic IRGen for LambdaExprs with captures.
b30be29 : A tiny bit more lambda IRGen.
cdd1c2e : Fix a typo in the LambdaExpr class.
18fe084 : Implement capture-by-copy for arrays in lambdas.
4bbb850 : [PCH] Avoid using Decl::setAttrs() and Decl::setLexicalDeclContext() from the ASTReaderDecl directly; they internally call Decl::getASTContext() which may crash if a declaration context parent is still deserializing.
5e058eb : Don't complain about the lack of a constructor for a lambda expression. They are constructed in different ways
20f87a4 : When we create a non-static data member in the closure object for a capture, make sure we actually add the field.
1f9a5db : Factor the logic for capturing variables in a lambda into its own function; it's going to get longer soon. No functionality change.
630d5ff : Along the error path for lambdas, mark the lambda class as invalid and finalize it
dcffcbf : Fix yet one more test
2c0bf24 : Adding support for warning when a non-C compatible user-defined type is returned from an extern "C" function.
7f99f43 : Fix tests for r150123
503384f : Various interrelated cleanups for lambdas: - Complete the lambda class when we finish the lambda expression (previously, it was left in the "being completed" state) - Actually return the LambdaExpr object and bind to the resulting temporary when needed. - Detect when cleanups are needed while capturing a variable into a lambda (e.g., due to default arguments in the copy constructor), and make sure those cleanups apply for the whole of the lambda expression.
91c2a11 : [analyzer] MallocChecker: implement pessimistic version of the checker, which allows values to escape through unknown calls.
231361a : [analyzer] Split the MallocChecker into two versions - pessimistic and optimistic.
af84f8f : Remove explicit delete of PathDiagnosticMacroPiece, as it is now reference counted.
e0adbd8 : last piece of metadata to complete modern metadata for protocol definitions.
6d2f0f5 : Minor comment fix
e2a7ad0 : Factor C++11 lambda expressions implementation into a separate file. No functionality change.
1e3767a : When computing the type of a local variable reference within a lambda, only add 'const' for variables captured by copy in potentially evaluated expressions of non-mutable lambdas. (The "by copy" part was missing).
76e3da5 : When completing a lambda expression, make sure to check and attach the body of the lambda to the function call operator.
b319e02 : [analyzer] MallocChecker: convert from using evalCall to post visit of CallExpr.
da9624a : More rewriting of objective-c moderin abi metadata. All protocol related metadata is close to completion.
66b0eba : Fixing hex floating literal support so that it handles 0x.2p2 properly.
af2771b : CodeGen: Move EHPersonality from CGException.h into the cpp file, it has no other users.
2fd5983 : Implement DR1458: Taking the address of an object of incomplete class type is not a constant expression, because we can't tell whether the complete class type will have an overloaded operator&.
cfa8e65 : Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector.
3f83d0d : Add more testing for r149776.
925d8e7 : Implement the agreed resolution to DR1457: a signed left shift of a 1 bit into the sign bit doesn't have undefined behavior, but a signed left shift of a 1 bit out of the sign bit still does. As promised to Howard :)
31a3702 : A little bit of lambda IRGen.
10c57a8 : Remove vpermilp* builtins. Same effect can be achieved with builtin_shufflevector.
1a2b8e2 : Move -Wcovered-switch-default out of -Wswitch (and -Wall), and make it an opt-in warning.
802e024 : Change PathDiagnosticPieces to be reference counted (simplifying their management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces.
eb2303c : Refactor pieces of PathDiagnostic into its own data structure. No functionality change.
59a839c : Make sure template argument deduction is consistently performed in an unevaluated context.
7b318d1 : [libclang] Indexing: When suppressing references, suppress references of bases in C++ classes. rdar://10768707
9caf440 : Constify the getClassName routine and variables that come out of it, and then use it for forward decl names.
526cdfb : Do not return records with non trivial destructors or copy constructors in registers.
46e7547 : [libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr that is referencing the member function, so we can index the referenced function.
82848c2 : modern objc rewriter: mode metadata stuff. wip.
d85bf9d : Only complain about __strong __strong id, not __strong SomeStrongTypedef or __strong __typeof__(some.strong.thing).
200fa53 : Revise the SplitQualType interface to make it its own thing instead of a typedef of std::pair. This slightly improves type-safety, but mostly makes code using it clearer to read as well as making it possible to add methods to the type.
531b1a9 : Whitespace.
2f764a9 : Use the new forward declaration scheme for records. Also add more caching of results after we create them.
53bc518 : Remove tabs.
fd5a5f5 : If a struct needs to be laid out, and it has not been completed yet, then complete it if possible. This fixes some assertion failures encountered by LLDB.
da35eac : modern objc abi rewriter: mode protocol metadata for modern objc abi.
dfaee49 : Fix indentation and an 80-column violation.
2837a2f : non-literal strftime format string is not unsafe.
d089008 : [libclang] Do not index implicit C++ member functions. rdar://10769813
d7a3e2c : Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.
77e4bca : objc rewriter: modern metadata for protocol decls. wip.
3f22509 : In r149662, setDiagnosticMapping was modified to not allow warnings mapped to MAP_ERROR to be remapped to MAP_WARNING. These new APIs are being added to allow the diagnostic mapping's "no Werror" bit to be set, and potentially downgrade anything already mapped to be a warning.
6bd17d2 : Make use of const-correct ParseCommandLineOptions
52aabaf : Implements support of format_arg attribute on C++ member.
7fb8630 : Remove tabs.
693fcaa : Emit debug info for properites that are not backed by an ivar.
64cb63a : objc rewriter: start supporting modern objective-c abi in objective-c rewriter. wip.
849639d : Make parsing of objc @implementations more robust.
b534a9e : Hex literals without a significand no longer crash the lexer. Fixes bug 7910
a59d20b : Print NamedDecls directly to a raw_ostream where possible.
f978059 : Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls.
01d0801 : Introduce basic ASTs for lambda expressions. This covers: - Capturing variables by-reference and by-copy within a lambda - The representation of lambda captures - The creation of the non-static data members in the lambda class that store the captured variables - The initialization of the non-static data members from the captured variables - Pretty-printing lambda expressions
1e01ac4 : Use SmallVector instead of std::vector.
bb02855 : Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments.
13562a1 : Calculate the .size() of the vector once.
9085030 : Reserve a moderate amount of space for the back-end arguments.
11e70d7 : Fix a bug in semantic analysis involving anonymous structs and flexible arrays.
04ca252 : Fix a couple of nasty bugs involving negative enum constants. <rdar://problem/10760113>.
2ea020c : Update test case.
a3b9fa2 : Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev.
a6215b9 : Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls in PathDiagnostics from other events. This will have potential uses later.
5de4fdb : Tweak BugReporter extensive diagnostics to not add edges between function calls.
b9201d2 : Quote name of function in path diagnostics.
bb3d997 : Remove the unused TypoCorrectionConsumer::MaxEditDistance.
2872c8d : Filter a few more options not recognized by gcc. <rdar://problem/10814020>
88ce85f : Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>.
5730076 : [analyzer] Allow each CString check to be enabled/disabled separately.
cf6511b : Bump up the initial vector size to avoid having to grow the vector more often.
8b41868 : simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.
e91e0ae : tidy up code, make the common case (1-byte strings) come first
0cf3d47 : Add basic BugReporter support for CallEnter/CallExit. WIP.
0a29422 : Misc improvements to the diagnostic when a variable is odr-used in a context that is not allowed to capture variables.
f9ea953 : Use a more efficient container for these values. Also reserve space when using a std::vector.
35f18a5 : Use a SmallVector instead of std::vector. This improves compilation time in 445.gobmk by ~1.7%.
fd3e5ef : Don't recalculate the size of the array each time through the for-loop.
e97c58d : Minor comment clarification.
56ff283 : Fix a minor regression from my potentially-evaluated expression changes.
362ed2a : Relax valid location check. This fixes a clang crash while emitting debug info for properties that are synthesized by the compiler by default.
d79ed43 : build wide strings with ConstantDataArray, just because we can.
812234b : improve the code that handles IR generation of byte-sized string literals to avoid allocating an std::string.
66581d4 : Added source location for the template keyword in DependentTemplateSpecializationTypeLoc nodes (DTSTLoc).
0b23971 : use cheaper llvm APIs for various bits of IR generation.
6ef016f : simplify code and smallvectorize.
5b6a3dd : Canonicalize the base class used in the nested-name-specifier of a generated assignment operator.
210386e : Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in C++11 mode. PR11928.
b4a3ef7 : Tweak format string checking to work with %@ and ObjC toll-free bridging. <rdar://problem/10814120>
fd8fed9 : Added MSVC visualizers for PointerIntPair and PointerUnions.
b822f72 : Rewrite the debug action handling to take -verify into account. Add a quiet option for dwarfdump and move it out of NDEBUG only. Still requires an option as we don't want this on by default.
1c79dc4 : Update the command line here and update the comment, we're just going to leave this as a debug only option for now.
38a4291 : Removed redundant location info from ElaboratedTypeLoc / DependentNameLoc / DependentTSTLoc. Uniformed names referencing elaborated keyword. No intended functionality changes.
b918d6b : objc: fixes a problem in block type comparison involving enums with underlying type explicitly specified (feature which is on by default in objective-c). // rdar://10798770
5f3c7fa : Let an ivar directly refer property TAG.
afe55fb : - Turn the other distribution checks into range compares. - Turn openSUSE version parsing into a StringSwitch - Add an entry for Fedora release 16 (Verne)
55d23c9 : Added location for template keyword in TemplateSpecializationTypeLoc. In the process removed some naming ambiguities.
668ecd9 : Consolidate the ubuntu detection logic a bit, add an entry for Ubuntu 12.04 aka precise pangolin.
9d9922a : Fixed instantiation of DependentScopeDeclRefExpr.
5bbc385 : Move instantiateTemplateAttribute into the sema namespace, make helpers static.
4cf96bb : Test for r149855.
5fa5608 : Fix vector splat casts to cast element to the appropriate vector element before inserting into the vector. Fixes PR11930.
41576d4 : Implement name mangling for scalar value initialization. Reported on IRC by Xeo.
e6cc51d : Invalid O levels on the command line no longer have a confusing error.
96ad633 : [] Implement Type.is_pod
2d10680 : [] Change type -> Type
eb9ff2e : [] Implement Cursor.enum_type
28d939f : [] Implement Cursor.underlying_typedef_type
250d217 : [] add TypeKind.VECTOR
eb13634 : [] Add CursorKind.{is_translation_unit, is_preprocessing, is_unexposed}
64e7bdc : [] Implement Cursor.hash
ea40382 : [] Expose diagnostic category and option info to Python binding
7485833 : [] Implement __eq__ and __ne__ on SourceLocation and SourceRange
b919815 : Fix a typo (builting -> builtin).
6496bd1 : Move operator overload out of line. Calling operator<< on a forward declared type doesn't seem to work on MSVC.
b11a7fd : Fixing a warning in MSVC (this is also a test commit)
d79093a : constexpr: Implement DR1358: An instantiation of a constexpr function which can't produce a constant expression is not ill-formed (so long as some instantiation of that function can produce a constant expression).
9401069 : reapply the patches reverted in r149477, which enable ConstantDataArray.
f7ccbad : Basic: import SmallString<> into clang namespace
6f42b62 : Basic: import OwningPtr<> into clang namespace
7af19b8 : Try to fix Benjamin's r149781 on MSVC.
9ec7197 : constexpr: Fix implementation of DR1311: check for volatile qualifiers in lvalue-to-rvalue conversions on the source type of the conversion, not the target type (which has them removed for non-class types).
eac1f67 : Preserve alignment for Neon vld1_lane/dup and vst1_lane intrinsics.
a3cb144 : Skip freebsd driver test when ppc32/ppc64 targets are not configured.
6cd03db : A useful approximation of initializer list constructors.
96715b2 : Factor out the actual overload resolution from TryConstructorInitialization, since it needs to be used again for list constructor resolution.
08ae369 : Don't unwrap initializer lists before calling TryConstructorInitialization, instead doing a little more work inside. This should make finding initializer list constructors easier, as well as fix one place where the ({}) vs {} issue was probably poorly handled.
a4e6453 : Remove an unused and unimplemented function prototype.
9e0393d : Also, these objc++ rewriter tests are meant to run in NeXt's fragile-abi mode.
dcc8e3f : These tests are intended to run in NeXt's legacy objective-c abi (fragile-abi). Make this explicit since default is now nonfragile-abi.
90feede : Some compilers do require Diagnostic.h to be present here.
2e033a7 : Don't include Diagnostics.h twice when it's required zero times.
8fe83e1 : Move a method from IdentifierTable.h out of line and remove the SmallString include.
fdd1560 : Remove Diagnostic.h include from Preprocessor.h.
00bd44d : Move various diagnostic operator<< overloads out of line and remove includes of Diagnostic.h.
ef9b60f : Move Storage and StorageAllocator out of the PartialDiagnostic class so we can forward declare them.
c6c090d : StaticAnalyzer: Remove FixIts from PathDiagnosticPieces.
282e7e6 : In C++11 mode, when an integral constant expression is desired and we have a value of class type, look for a unique conversion operator converting to integral or unscoped enumeration type and use that. Implements [expr.const]p5.
f39aec1 : Don't allow a value of a scoped enumeration to be used as the first bound for an array new expression. This lays some groundwork for the implicit conversion to integral or unscoped enumeration which C++11 ICEs undergo.
e59ec3d : [analyzer] Make sure Containers OutOfBounds checker does not crash on undefined arguments, when CF functions are called with wrong number of arguments.
a506586 : Disallow constexpr main.
0b458fd : Fix a rejects-valid in C++11: array new of a negative size, or overflowing array new, is well-formed with defined semantics of throwing (a type which can be caught by a handler for) std::bad_array_new_length, unlike in C++98 where it is somewhere nebulous between undefined behavior and ill-formed.
5b66405 : Unbreak failing test added in r149738.
9ec9ce1 : ArrayRef goodness in MultiplexConsumer, no functionality change.
272afe4 : Remove unused field from FixItRecompile.
507a8a3 : Don't warn on use of default allocator with an over-aligned type when the allocator is given the pointer to allocate into.
e839806 : Fix ASTMerge tests that I broke in my previous commit.
893242f : autoconf: update config header
52a3888 : [analyzer] Turn on by default two checkers: - osx.coreFoundation.containers.IndexOutOfBounds - osx.cocoa.SelfInit
4f502fb : [analyzer] fixup to the previous commit.
1efcc42 : [analyzer] Minor cleanups to the ObjCSelfInitChecker. (Also renames in other ObjC checkers to create one category of checks.)
1c59408 : Fixed some testsuite problems introduced by my last commit. Sorry for the outage.
279114c : Comment mystery code.
1206f73 : Revert r149721. chapuni tells me akyrtzi already fixed the test by adding a triple, and the typedef makes things worse on windows.
b3ca263 : Use variable in place of multiple CI.getFrontendOpts() calls and use a bit of ArrayRef goodness. No functionality change.
1a0d92f : New test case.
50a9a12 : Clang has existing support for debuggers that want to provide "po"-like functionality which treats the result of an expression implicitly as "id" (if it is not otherwise known) and prints it as an Objective-C object.
693a70d : Create new tag for the property. This is a work in progress.
1836db0 : [libclang] Stick to the silly notion that a forward class/protocol declaration is a reference. rdar://10749990
0cc5d40 : Suppress the used-but-not-defined warning for static data members while I look into a rather nasty bug in the new odr-use marking code.
5ba73e1 : constexpr: The recent support for potential constant expressions exposed a bug in the implementation of libstdc++4.6, where numeric_limits<int>::min() is defined as (int)1 << 31, which isn't a constant expression. Disable the 'constexpr function never produces a constant expression' error inside system headers to compensate.
c08c88c : Update tests so that they don't rely upon LLVMDebugVersion number.
f42f85c : Make _mm_cmpgt_epi8 immute to -funsigned-char.
798d14f : Try to get test passing on windows.
cefc7b2 : Make explicit captures which cause implicit captures work correctly.
b942cb2 : Implement implicit capture for lambda expressions.
285c607 : Make sure that the layout-override parser grabs the size, not the data size. Otherwise, we can end up with bogus layouts.
b70126a : When a pack expansion occurs in the template argument list of an alias template without a corresponding parameter pack, don't immediately substitute the alias template. This is under discussion in the C++ committee, and may become ill-formed, but for now we match GCC.
23a4ddf : Add a triple to test/SemaObjC/format-strings-objc.m to make it pass in windows hosts.
acbabf1 : Don't warn about anonymous struct/union in C11.
8fbbae5 : Implement support for a pack expansion into a fixed-length template. Such pack expansions can easily fail at template instantiation time, if the expanded parameter packs are of the wrong length. Fixes <rdar://problem/10040867>, PR9021, and the example that came up today at Going Native.
09e9cf0 : [analyzer] Testing: add automated reference results reset.
71fd6cc : Fix -ftrap-function fallout from llvm r145714. <rdar://problem/10799325>
a83f4d2 : Change Lexer::makeFileCharRange() to have it accept a CharSourceRange instead of a SourceRange, and handle the case where the range is a char (not token) range.
cbf46a0 : Change the fixed array of FixitHints to a SmallVector to lift off the limit on the number of fixits.
8deabc1 : Move isSentinelNullExpr() from Sema to ASTContext to make it more widely available.
d603bd1 : Further downgrade -Warc-bridge-casts-disallowed-in-nonarc to a warning (not mapped to an error). We can consider mapping it back to an error later.
2e51562 : Thread safety analysis: * When we detect that a CFG block has inconsistent lock sets, point the diagnostic at the location where we found the inconsistency, and point a note at somewhere the inconsistently-locked mutex was locked. * Fix the wording of the normal (non-loop, non-end-of-function) case of this diagnostic to not suggest that the mutex is going out of scope. * Fix the diagnostic emission code to keep a warning and its note together when sorting the diagnostics into source location order.
aacde71 : Thread safety analysis: at a CFG join point between a block terminating in a 'continue' and another block, prefer the lockset from the other block, and diagnose the 'continue' block as being the end of a loop.
41f4431 : C++ 5.2.10p2 has a note that mentions that, subject to all other restrictions, a cast to the same type is allowed so long as it does not cast away constness.
3c0e80e : Refactor capture in blocks to use new-style capture hooks. Start adding a bit of the code for lambdas. The only visible changes are that we use the C++11 odr-used rules to figure out when a variable is captured, and type-checking in lambdas is slightly more accurate.
7a0a31c : [frontend] Don't allow a mapping to a warning override an error/fatal mapping. rdar://10736625
d67d0cc : Note whether a lambda is mutable in the LambdaScopeInfo; this information will be necessary to handle references to captured variables.
0507280 : Make error about using bridge casts in non-ARC mode a warning that is default mapped to an error. This is to ease the transition of large apps moving from non-ARC to ARC.
afdb041 : Do not show macro expansion in strncat warnings, which can be defined as a builtin.
4cc9b10 : objc: Issue diagnostic when receiver type is a forward class declaration and it is treated as of 'id' type resulting in multiple method lookup. // rdar://10686120
353300c : Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain that just uses the new toolchain probing logic. This fixes linking with -m32 on 64 bit systems (the /32 dir was not being added to the search).
773303a : Rename -dependency-graphviz to -dependencncy-dot
d2cce13 : Add some code to accurately perform odr-used marking for variables per the C++11 rules.
ad7eff2 : Further enhance comment for property in continuation class.
245da28 : unnecessary include of TargetMachine.h?
83db10e : Initialize the user defined conversion function to null if this is an aggregate initialization from an initializer list.
59c9c72 : Use -isystem rather than relying on -isysroot to work consistently
ff2a0ec : objc: comment the code which allows narroing of property object type in continuation class.
0d3b87c : Yet more data from failing buildbots...
e235183 : objective-c: When redeclaraing in continuation class a 'readonly' property to 'readwrite', also allow redeclaration of property type to a narrowring object type. // rdar://10790488
ee21277 : Drop -verify to get better diagnostics from failing buildbots. Plus, we don't need it here
2f04f18 : Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes (<foo>)...
4f7dcdb : Pacify gcc's -Wreturn-type
6a9a6d2 : Pass the SourceMgr to the MCContext for cc1as.
89651ea : Move the code that sets the AddressSafety attribute into CodeGenModule::SetLLVMFunctionAttributesForDefinition().
3a5aca8 : r149587 reverted
13f9f2f : Fix for PR10657 ( extern inline case considered
5f2987c : Split Sema::MarkDeclarationReferenced into multiple functions; the additional entry points are needed to implement C++11 odr-use marking correctly. No functional change in this patch; I'll actually make the change which fixes the odr-use marking in a followup patch.
f196a90 : [analyzer] Fix a false positive in the CFArrayCreate check that surfaces the the code like this (due to x and &x being the same value but different size):
f15fda0 : constexpr: * support the gcc __builtin_constant_p() ? ... : ... folding hack in C++11 * check for unspecified values in pointer comparisons and pointer subtractions
c69a181 : Introduce a -cc1 option "-dependency-graphviz" that determines header dependencies and outputs them in GraphViz format.
c645ddf : objc: don't crash if primary class is missing and continuation class is declaring ivars. // rdar://10752081
34ff062 : Change the check for constant-conversion with width-1 bitfields so it doesn't suppress quite as many cases. Based off a testcase in the gcc testsuite.
f2462be : back out r149504
34a2c42 : Per discussion on cfe-dev, remove '#error' and '#warning' from diagnostic text.
f83a615 : objc2: add __has_feature(objc_default_synthesize_properties). // rdar://10770497
271ce54 : r149474 went a bit too far when combined with type caching. If we want a full type go ahead and emit it if we currently only have a forward declaration.
20039ae : Reject mismatched "#pragma GCC visibility push" and "#pragma GCC visibility pop".
52b6236 : Look for declaration of CFBridgingRetain/CFBridgingRetain before changing the diagnostic. Also use correct spelling for both.
873488a : make: fix installation of generated header files
eafa50b : cmake: don't install config.h (v2)
ef81e0f : Remove duplicated comment.
af79088 : Fix comment.
3f405d3 : cmake: revert r149496
ac32ff9 : Make sure that imported definitions get completed before we add anything into the corresponding DeclContext. Co-hacked with Sean; fixes <rdar://problem/10768928>.
5b41936 : libclang: Mark clang_Cursor_isNull with CINDEX_LINKAGE to make it available on windows.
7f3a458 : [libclang] Make sure we don't ever leave a StoredDiagnostic associated with a SourceManager that has already been deleted, rdar://10768346.
a28c1df : Add missing dependency to unbreak the CMake build
dccaa23 : size() == 0 -> empty().
84aac9a : [analyzer] Fix a crash in CheckerContext::isCLibraryFunction for C++ declarations with special names.
c36bedc : Add a new compiler warning, which flags anti-patterns used as the size argument in strncat.
b710dfe : Diagnose the restriction on default arguments in C++11 [expr.prim.lambda]p5.
a1f2114 : Introduce the lambda scope before determining explicit captures, which cleans up and improves a few things: - We get rid of the ugly dance of computing all of the captures in data structures that clone those of CapturingScopeInfo, centralizing the logic for accessing/updating these data structures - We re-use the existing capture logic for 'this', which actually works now.
ac4e5b7 : [analyzer] Testing: add 2 new checkers to the buildbot script.
93b7750 : test/Driver/target.c: Relax expression for "gcc.exe" on win32.
69d3b4f : include clang's config.h unconditionally
9dc01f5 : test/Modules/compiler_builtins.m: Appease Cygwin to add -D__need_wint_t.
8c8840d : test/Modules/compiler_builtins.m: Mark this as XFAIL:win32. MS limits.h provides size_t.
04f7a88 : autoconf: add private config.h to clang
f9b6e97 : cmake: don't install config.h
36579d4 : Frontend: fix comment typos
15efc4d : constexpr: check for overflow in pointer subtraction.
ab14ae2 : Compatability fix for SwitchInst refactoring.
5d3a4bb : Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c.
c221411 : Remove redundant checks in CXXRecordDecl::isCLike(), as suggested by Sebastian.
0086a5b : For pass-by-value record arguments to functions emit a forward decl instead of the entire class definition.
7b48a29 : constexpr: overflow checking for integral and floating-point arithmetic.
b223d8c : When providing code completions for a switch over a scoped enumeration type, be sure to add the qualifier for the enumeration type.
8398cbf : constexpr: Unlike other incomplete types, 'void' cannot possibly be completed as a literal type. Disallow it as the return type of a constexpr function declaration.
b04035a : constexpr: require 'this' to point to an object in a constexpr method call.
b02e462 : constexpr: add support for comparisons of pointer-to-members.
93962e5 : Improve checking of explicit captures in a C++11 lambda expression: - Actually building the var -> capture mapping properly (there was an off-by-one error) - Keeping track of the source location of each capture - Minor QoI improvements, e.g, highlighing the prior capture if there are multiple captures, pointing at the variable declaration we found if we reject it.
ee625af : Fix crash on invalid in microsoft anonymous struct extension.
fe9b559 : Diagnose attempts to explicitly capture a __block variable in a lambda.
48b68a0 : Use the new Triple::getMacOSXVersion function in another place.
8f1e656 : Fix an assertion failure in isMacOSXVersionLT for IOS targets.
16e46dd : Make the callback object to Sema::CorrectTypo mandatory.
4ac3809 : Extend for-range temporary cleanups codegen test to catch the bug which Eli fixed in r149440.
7eb82f0 : objc-arc: In various diagnostics mention CFBridgingRetain/CFBridgingRelease calls instead of __bridge_retained/__bridge_transfer casts as preferred way of moving cf objects to arc land. // rdar://10207950
3df6130 : constexpr: Treat INT_MIN % -1 as undefined behavior in C++11. Technically, it isn't, but this is just a (reported) defect in the wording.
d29975f : Make sure we call MaybeCreateExprWithCleanups for the sub-expression of an indirect goto.
c6c14e5 : A couple minor fixes to template instantiation for for-range loops.
4c5ffb3 : Use new Triple::getMacOSXVersion function.
9c7aed3 : arc migrator: twik previous patch to exclude user provided explicit type cast. // rdar://10521744
2908ffb : arc migrator: Do not attempt to migrate to bridge casts which cancel out each other. Leave it alone so users can take a look (unmigrated code forces error diagnostic). // rdar://10521744
eb7b9eb : Split compiler builtin module into "stdlib" builtins and "intrinsic" builds, and bring mm_alloc.h into the fold. Start playing some tricks with these builtin modules to mirror the include_next tricks that the headers already perform.
200abfb : Remove extraneous whitespace.
1085377 : Fix more fallout from the introduction of "macosx" and "ios" triples.
e00575f : [analyzer] Add checks for common anti-patterns in strncat. (Since this is syntax only, might be a good candidate for turning into a compiler warning.)
393b979 : [analyzer] Change the warning to suggest 'strlcat/strlcpy' as replacements for 'starcat/strcpy' instead of 'strncat/strncpy'.
588e83b : Fix 80-column violation.
289e31f : Revert r149359. This was a hack to a problem with an easy workaround, and it doesn't feel like general solution.
56e68b7 : Pacify gcc's -Wreturn-type.
29254f4 : Support @compatibility_alias at run time (GNUstep Runtime)
2831092 : fix a crash on:
220947b : FormatCheckers should emit all diagnostics using EmitFormatDiagnostic().
7da1f46 : Format string warnings: don't a.k.a. wchar_t with wchar_t.
54a7e3f : [CFG] Removed unused local variable.
003eff6 : Don't zero terminate the bitmap twice.
82f2858 : constexpr: the result of a relational operator between pointers to void is unspecified unless the pointers are equal; therefore, such a comparison is not a constant expression unless the pointers are equal.
ff8f9ec : ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead.
fdba182 : Don't warn about -Wshorten-64-to-32 in unreachable code. Fixes <rdar://problem/10759934>. Apparently this is a common idiom in Linux (among other places).
0692a19 : Make a bunch of local functions 'static'.
f492cb1 : enhance some optimization logic to handle ConstantDataSequential as well as ConstantArray.
789f9b6 : constexpr: catch a collection of integral undefined behaviors: -INT_MIN and INT_MIN / -1 Shift by a negative or too large quantity Left shift of negative value Overflow in left shift
a5888f6 : Reapply r149311 which I reverted by mistake.
1d16f0f : Revert r149083 which is not the direction we're going in the Clang driver based on discussions with Doug Gregor. There are several issues: 1) The patch was not reviewed prior to commit and there were review comments. 2) The design of the functionality (triple-prefixed tool invocation) isn't the design we want for Clang going forward: it focuses on the "user triple" rather than on the "toolchain triple", and forces that bit of state into the API of every single toolchain instead of handling it automatically in the common base classes. 3) The tests provided are not stable. They fail on a few Linux variants (Gentoo among them) and on mingw32 and some other environments.
b9b0f6f : Revert r149311 which failed to compile.
6e1d2ea : Fix "long double" and __SIZE_TYPE__ on powerpc, now with test fix.
395f1c0 : constexpr: remove integral conversion overflow checking introduced in r149286. As Eli points out, this is implementation-defined, and the way we define it makes this fine.
339b907 : Let %S, %ls, %C match 16bit types in NSStrings.
c9674be : Clean up switch in Expr::CanThrow. No functional change.
841c96a : Minor refactor within ExplodedGraph::reclaimRecentlyAllocatedNodes(). No functionality change.
be4dc94 : Convert checker over to using ProgramStateRef.
f20f46c : fix test.
72e9306 : Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory improvement, and a simplification of the logic for managing ProgramState objects.
23111dc : Convert more uses of 'const ProgramState *' to 'ProgramStateRef' (and related cleanups).
3128fa1 : Revert r149285, it breaks test/Preprocessor/init.c.
3c52d36 : test for a v-table dispatch that consumes an argument. twik to support the test case. // rdar://10444476
f72fccf : constexpr: disallow signed integer overflow in integral conversions in constant expressions in C++11.
acd8c51 : Fix "long double" and __SIZE_TYPE__ on powerpc.
8f7d64b : Remove tgmath.h from the module map for now, because it currently causes a cyclic module dependency due to its inclusion of math.h and complex.h. I'll take another shot at it later.
3c267e6 : objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. In this patch, the null path releases consumed argument. // rdar://10444474
7fc8003 : [analyzer] Rename the checker as per Ted's comment. Remove the reference from the driver.
ce3aa39 : Disable "non literal format string" for NSString that result from a macro expansion. This is to prevent diagnostic when using NSLocalizedString or CFCopyLocalizedString macros which are usually used in place of NS and CF strings literals.
304e6f1 : [analyzer] Make osx.cocos.CFContainersSyntax a default checker.
ba0e318 : Fix typo spotted by Sebastian. Thanks!
0c8731a : Per discussion on cxx-abi-dev, don't drop leading zeroes from the mangling of floating-point literals. I just went ahead and reimplemented toString() here; if someone wants to generalize the library routine to do this, or feels strongly that we should be post-processing, please feel free.
013b366 : SmallBitVectorize the deduced parameter set.
e29cdeb : Fix yet another issue introduced when renaming '-ccc-host-triple' to '-target'. The original flag was part of a flag group that marked it as driver-only. The new flag didn't ever get equivalent treatment. This caused the '-target' flag to get passed down to any raw GCC invocation. Marking it as a driver option fixes this and PR11875.
30c5f14 : Remove long dead code for handling vector shift by immediate builtins.
34269df : Update on format attribute handling. - Remove the printf0 special handling as we treat it as printf anyway. - Perform basic checks (non-literal, empty) for all formats and not only printf/scanf.
79a64c7 : Remove custom handling for cmpsd/cmpss/cmppd/cmpps builtins. The builtins are now in
f8495d6 : Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in
af5f550 : [analyzer] Add index out of bounds check for CFArrayGetArrayAtIndex.
e727d21 : Introduce TargetInfo::hasFeature() to query various feature names in each of the targets. Use this for module requirements, so that we can pin the availability of certain modules to certain target features, e.g., provide a module for xmmintrin.h only when SSE support is available.
89f4283 : Simplify code by using the new getAggregateElement method that got added recently. This also conveniently gets clang ready for a change about to land in mainline.
dc58aa7 : Thread a TargetInfo through to the module map; we'll need it for target-specific module requirements.
add5adb : CMake: Promote the testing targets out of folders on IDE.
ebb1004 : Just disable the compiler-builtins module test on MSVC for now
8101c7f : Teach tgmath.h to only include <complex.h> if it's available.
0fcba56 : Try to get useful diagnostics out of the failing MSVC builders
e5c9e09 : Alternate fix to the modules failures that doesn't require us to tweak tgmath.h
5ad2649 : If there's no math.h, then tgmath.h should just be empty
fe225e4 : Temporary disable the -verify on this test in the hope of getting some useful output from the buildbots
3e80d8a : Introduce a module map for (some of) the compiler-supplied headers. The remaining headers require more sophisticated requirements; they'll be handled separately. Part of <rdar://problem/10710060>.
4e1524b : revert r149184
52f1272 : Switch over to LLVM's file-level locking facility
c6d626b : Update line numbers. Sigh
a007431 : Also require a proper shell
85ae12d : Ensure that we clean up after a failed module build and cope with the results in libclang.
c5b2e58 : Implement code completion support for module import declarations, e.g.,
e434ec7 : Rework HeaderSearch's interface for getting a module from a name and for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and separating out the mapping to a module file (into getModuleFileName()). No functionality change.
8f95cb3 : Test module lookup within a subdirectory of a normal include directory.
77fe6cd : When emitting an ARC epilogue that looks like a return of 'self', kill the retain from the return site.
f48f796 : Get a little bit smarter about killing off the ReturnValue alloca in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC.
4188760 : Complain about attempts to use 'protected' visibility on targets like Darwin that don't support it. We should also complain about invalid -fvisibility=protected, but that information doesn't seem to exist at the most appropriate time, so I've left a FIXME behind.
de2fdc2 : objc-arc: Perform null check on receiver before sending methods which consume one or more of their arguments. If not done, this will cause a leak as method will not consume the argument when receiver is null. // rdar://10444474
a49a283 : Make the __builtin_c[lt]zs builtins target independent.
9f1c49c : Use defined-at-zero behavior for CLZ/CTZ builtins on PowerPC.
c35fb7d : StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers.
bd2b6f0 : Added tests for template keyword presence.
82e6411 : DiagnosticsEngine::setMappingToAllDiagnostics() does not need to return bool, caught by Chad.
394f7b6 : Allow the external AST source to provide a layout without specifying the alignment (because it's not encoded in DWARF). In this case, make an educated guess at the alignment.
5faf5d3 : Remove the "C" in "implicitly declaring C library function" diagnostic because all functions are not C functions (i.e. NSLog).
a1f1fad : Introduce module attributes into the module map grammar, along with a single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a system module is considered to be a system header, so that we (for example) suppress warnings there.
e4b9276 : Added source location for the template keyword in AST template-id expressions.
69d5384 : Remove redundant checks.
fad03b7 : Avoid redundant NNS qualification in constructor/destructor names.
8b4f2b7 : Add test for -Wno-everything.
11583c7 : Due to a bug, -Wno-everything works like -Weverything. Fix the bug by having -Wno-everything remap all warnings to ignored.
97a9cf3 : In FixItRecompile::BeginInvocation() reset the diagnostics before executing the original action.
cff9f26 : Reimplement (de-)serialization of Objective-C categories to eliminate the direct serialization of the linked-list structure. Instead, use a scheme similar to how we handle redeclarations, with redeclaration lists on the side. This addresses several issues: - In cases involving mixing and matching of many categories across many modules, the linked-list structure would not be consistent across different modules, and categories would get lost. - If a module is loaded after the class definition and its other categories have already been loaded, we wouldn't see any categories in the newly-loaded module.
6895a64 : Be sure to emit delayed diagnostics after parsing the declaration of a for-range variable. Fixes PR11793.
745f514 : constexpr: Implement the [dcl.constexpr]p5 check for whether a constexpr function definition can produce a constant expression. This also provides the last few checks for [dcl.constexpr]p3 and [dcl.constexpr]p4.
30ae84c : In FixItRecompile::BeginInvocation(), check the return value of BeginSourceFile().
ba4be25 : Placate gcc's -Wreturn-type
a5fde15 : test/Driver/prefixed-tools.c: Disable this on win32 hosts, msvc and mingw.
5701e97 : test/Driver/prefixed-tools.c: Fix newline at end-of-file.
0fa0638 : Turn off implicit truncation warning for compound assignment to bitfields; it might be reasonable in some cases, but it clearly doesn't make sense in some cases, like the included testcase.
71d9d5c : Teach ccc-analyzer about -fobjc-abi-version.
3a643af : Make the bitfield implicit truncation warning slightly more aggressive, and make the printed warning a bit more accurate. The new behavior matches gcc's -Wconversion. <rdar://problem/10238797>.
1bd9137 : Remove the ToolTriple logic in NetBSD, which was completely broken by the recent refactoring. All interesting NetBSD release have a GNU as version on i386 that supports --32, so don't bother with the conditional setting of it.
8b30a93 : Make clz/ctz builtins defined for zero on ARM targets. rdar://10732455
66de97f : Remove obviously incorrect branch.
34144f6 : Keep track of the original target the user specified before normalization. This used to be captured in DefaultTargetTriple and is used for the (optional) $triple-$tool lookup for cross-compilation. Do this properly by making it an attribute of the toolchain and use it in combination with the computed triple as index for the toolchain lookup.
8bef823 : Change references to 'const ProgramState *' to typedef 'ProgramStateRef'.
bbdfad5 : objc-arc: introduce -no-finalize-removal which in gc mode, leaves "finalize' behind and in arc mode, does not include it. This allows the migrated source to be compiled in both gc and arc mode. // rdar://10532441
e8c904f : Don't suppress access-control or invalid-type diagnostics from a declarator just because we were able to build an invalid decl for it. The invalid-type diagnostics, in particular, are still useful to know, and may indicate something about why the decl is invalid.
b9cd498 : Try harder to get X7 defined
4fe19b5 : Change HasMutableFields to HasOnlyCMembers and consider that a tag inside another tag does not break C-like-ness. rdar://10756831
ed0cc22 : Don't separately serialize the list of instance variables in an Objective-C class. The AST reader just throws away this data anyway!
a2a5028 : Force layout of more of the unions and structures in this test
4196363 : objc: 'id' and block pointer compare in mergeTypes is made symmetrical. // rdar://10734265
5fe3122 : AST/ExprConstant.cpp: Silence a warning on ms cl.exe. "bool" does not prefer to be compared to integer.
1366392 : Suppress any warnings from this test. They aren't interesting, and they end up in the same output file as the layout stuff. There may even be a race condition which is causing this output to confuse the FileCheck in some cases. I actually don't know how on earth the parsing of the layout file even works given that there are diagnostics in the middle of it. ;]
453dbcb : Extend the ExternalASTSource interface to allow the AST source to provide the layout of records, rather than letting Clang compute the layout itself. LLDB provides the motivation for this feature: because various layout-altering attributes (packed, aligned, etc.) don't get reliably get placed into DWARF, the record layouts computed by LLDB from the reconstructed records differ from the actual layouts, and badness occurs. This interface lets the DWARF data drive layout, so we don't need the attributes preserved to get the answer write.
5b78a24 : Use createRecordFwdDecl here since that's what we're doing.
1c081d9 : Revert previous patch unifying all of the C++ record prep in one area, the gdb testsuite complains too much about the ordering of items printed, even if the offsets in the debug info are correct.
f8de042 : Fix a minor bug in r148582, which made -ccc-host-triple into an alias option. I'm not adding a testcase because -ccc-host-triple is slated to be removed, but clang crashes if you try to use -ccc-host-triple without this fix.
3ee8c91 : Remove another duplicated variable.
f2e4cd7 : constexpr: evaluate (bool)&x as true when x is a local variable or a temporary.
98b940b : Remove the headers now that ::close() is not used.
c8af910 : In FixItRewriteToTemp::RewriteFilename don't try to close the file descriptor with close(); return it instead.
f81263f : [analyzer] The CFContainer test should only be run on x86_64.
0277039 : Rewrite/FrontendActions.cpp: Tweak to unbreak msvc.
c01dfc1 : Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly."
b4ab843 : Improve efficiency of Sema::MaybeBindToTemporary by working with the canonical type directly and adding a fast path for the common case that the type is directly a RecordType.
95b68f9 : Simplify {Record,Enum}Type::classof.
e26198c : Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built by default, rather than whether they may be built at all.
516bbd4 : Use function pointers, rather than references, to pass Destroyers around, in the process cleaning up the various gcc/msvc compiler workarounds.
24466d8 : Add missing include of <unistd.h>
e41b041 : Add an additional testcase for a lambda with implicit void return type.
8ec2bc8 : Post link to checker-260, which is checker-259 with some experimental checks enabled.
84b007f : Refactor to share code for handling return statements between lambda expressions and block literals. As it turns out, almost all the logic can be shared.
61d679a : Introduce 3 new fixit options:
7a776be : fix to go along with an llvm change: VMCore now returns an UndefValue when asking for a ConstantStruct with all undef elements.
8dc0506 : Enable several checkers under --analyze for general testing.
de983d8 : Tidy and remove some unused variables.
426fc94 : Fix our handling of #pragma GCC visibility. Now the lexer just produces a token and the parser is the one responsible for activating it. This fixes problem like the one pr11797 where the lexer and the parser were not in sync. This also let us be more strict on where in the file we accept these pragmas.
027cb30 : Collect this information together. No reason to have it split.
6faa554 : Refactor into its own function.
24248e3 : Reintroduce r148981 with significantly improved regression test. Now it both actually tests what it wants to, doesn't have bogus and broken assertions in it, and is also formatted much more cleanly and consistently. Probably still some more that can be improved here, but its much better.
46e39e3 : StaticAnalyzer/Checkers: Fix CMake build.
cbd2733 : [analyzer] Add an AST checker that checks for a common pitfall when using CFArrayCreate & family.
e7cff2c : objc: allow block pointer matching 'id' type when they show up as argument types of two block pointers. // rdar://10734265
ceccab9 : Slight refactoring; catch yet another case where we were missing an lvalue-to-rvalue conversion.
26f0e4e : arc migrator: Added an option to the migrator unused yet.
bac3413 : Rework flushing of diagnostics to PathDiagnosticConsumer. Now all the reports are batched up before being flushed to the underlying consumer implementation. This allows us to unique reports across analyses to multiple functions (which shows up with inlining).
01f276d : Don't stack-allocate an IntegerLiteral which can be referred to after the current method returns. PR11744, part 2.
10afce3 : Revert r148981 because it fails test/Driver/freebsd.c
55fc7e2 : Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an MSVC-compatible way. Patch by Joe Groff.
0f12507 : Improve the error message slightly for files that aren't using the expected UTF-8 encoding. Patch by Seth Cantrell.
457a377 : Fix a crash involving a multi-dimensional dependent VLA. PR11744.
d2e7090 : Post open source analyzer build checker-259.
d9b02e7 : constexpr: add support for anonymous struct and union members in literal types.
51cb75a : Clean up comment.
d081baa : Try to unbreak the FreeBSD toolchain's detection of 32-bit targets inside a 64-bit freebsd machine with the 32-bit compatibility layer installed. The FreeBSD image always has the /usr/lib32 directory, so test for the more concrete existence of crt1.o. Also enhance the tests for freebsd to clarify what these trees look like and exercise the new code.
3943b1c : Allow typo correction to be disabled in BuildOverloadedCallExpr variant.
1621e75 : Restore a tiny bit of functionality that I completely overlooked in the Linux toolchain selection -- sorry folks. =] This should fix the Hexagon toolchain.
cd78e61 : Avoid correcting unknown identifiers to types where types aren't allowed.
ada4fa7 : [driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails.
60a09dc : Add custom callback object for typo correction in BuildRecoveryCallExpr.
d1bb4ae : When we're substituting into a function parameter pack and expect to get a function parameter pack (but don't due to weird substitutions), complain. Fixes the last bit of PR11848.
00646ba : The Linux pattern of adding all the search paths that exist doesn't seem to suit the FreeBSD folks. Take them back to something closer to the old behavior. We test whether the /usr/lib32 directory exists (within the SysRoot), and use it if so, otherwise use /usr/lib.
32f88be : Remove the 'ToolTriple' concept from the NetBSD toolchain along with my gross hack to provide it from my previous patch removing HostInfo. This was enshrining (and hiding from my searches) the concept of storing and diff-ing the host and target triples. We don't have the host triple reliably available, so we need to merely inspect the target system. I've changed the logic in selecting library search paths for NetBSD to match what I provided for FreeBSD -- we include both search paths, but put the 32-bit-on-64-bit-host path first so it trumps.
0671555 : Delete still more remnants of the now dead HostInfo. The janitoring will continue until cleanliness improves.
18d7f3a : Delete the driver's HostInfo class. This abstraction just never really did anything. The two big pieces of functionality it tried to provide was to cache the ToolChain objects for each target, and to figure out the exact target based on the flag set coming in to an invocation. However, it had a lot of flaws even with those goals: - Neither of these have anything to do with the host, or its info. - The HostInfo class was setup as a full blown class *hierarchy* with a separate implementation for each "host" OS. This required dispatching just to create the objects in the first place. - The hierarchy claimed to represent the host, when in fact it was based on the target OS. - Each leaf in the hierarchy was responsible for implementing the flag processing and caching, resulting in a *lot* of copy-paste code and quite a few bugs. - The caching was consistently done based on architecture alone, even though *any* aspect of the targeted triple might change the behavior of the configu
red : toolchain. - Flag processing was already being done in the Driver proper, separating the flag handling even more than it already is.
3366ef0 : Add some really minimalist freebsd testing trees and use them in the freebsd test so that it's behavior isn't dependent on the filesystem of the host running the tests. This should revive the build bots at least. The tests and the trees still need a lot of love to make them as useful and easy to maintain as linux-ld.c.
e98e5b5 : Add support for const pointer to literal-objc string as format attribute.
4d7ff6e : Switch the ToolChain types to all store a Driver reference rather than a HostInfo reference. Nothing about the HostInfo was used by any toolchain except digging out the driver from it. This just makes that a lot more direct. The change was accomplished entirely mechanically. It's one step closer to removing the shim full of buggy copy/paste code that is HostInfo.
56576f7 : test/CodeGen/avx-builtins.c: Fix more for -Asserts.
edf5a7b : Fixup r148926, for -Asserts.
08386a9 : Remove the TargetTriple object that I added to the Driver recently. This helped stage the refactoring of things a bit, but really isn't the right place for it. The driver may be responsible for compilations with many different targets. In those cases, having a target triple in the driver is actively misleading because for many of those compilations that is not actually the triple being targeted.
ea04285 : Have FreeBSD use even more of the same smarts as Linux is now using for adding search paths. Add them only when they exist, and prefix the paths with the sysroot. This will allow targeting a FreeBSD sysroot on a non-FreeBSD host machine, and perhaps more importantly should allow testing the FreeBSD driver's behavior similarly to the Linux tests with a fake tree of files in the regression test suite.
6f75cc3 : Switch FreeBSD to just include both '/usr/lib32' and '/usr/lib' in the search paths for 32-bit targets. This avoids having to detect which is expected for the target system, and the linker should DTRT, and take the 32-bit libraries from the first one when applicable. Thanks to Roman Divacky for sanity checking this.
fc52f75 : Switch the Linux C++ standard library header search logic over to use the GCC installation's multiarch suffix now that it is exposed.
1c6f04a : Make a major refactoring to how the GCC installation detection works.
007baa9 : Re-enable test that was broken by r148919
cf2362b : Fix -fmacro-backtrace-limit=0 to show the entire macro backtrace.
3b6b61e : disable this test for now.
2ce8842 : reapply r148902:
9eb10cc : fix broken testcase.
2c0c745 : Fix a crash for an edge case of the GNU ?: extension.
8c9fe20 : Fix r148920 to what I actually meant to commit.
e0dbedf : Add missing check for placeholders.
2ee2ac2 : Represent 256-bit unaligned loads natively and remove the builtins. Similar change was made for 128-bit versions a while back.
00b4657 : In TreeTransform<Derived>::TransformBlockExpr, call ActOnBlockError for errors, patch by Dmitri Gribenko.
af521da : Revert 148902 which was part of 148901 which was reverted in r148906.
c0536c8 : Fix PR11848: decree that an alias template contains an unexpanded parameter pack iff its substitution contains an unexpanded parameter pack. This has the effect that we now reject declarations such as this (which we used to crash when expanding):
5d613b5 : Refactor the record decl forward declaration code a bit.
a70e246 : Typo.
9ddc624 : use the new ConstantVector::getSplat method where it makes sense.
443aac9 : With a little more work in the tentative parse determining whether a statement is a declaration-stmt or an expression, we can discern a subset of cases where the user erred in omitting the typename keyword before a dependent type name. Fixes PR11358!
8efca6b : Introduce a generation number for selector lookups in the global method pool, so that we don't perform the same lookups into the same PCH/module file repeatedly.
568991b : Only try to import a definition if there is an definition to import.
3add9f0 : Make sure we correctly treat __is_convertible_to as an unevaluated context. PR11833.
dea8ba2 : Fix test on cygwin (where va_list expands to a different type)
0d266d6 : Whenever Sema attempts to look in the global method pool, try to load additional data from the external Sema source. This properly copes with modules that are imported after we have already searched in the global method pool for a given selector. For PCH, it's a slight pessimization to be fixed soon.
43d1251 : Add "multiple format attributes" support on block.
5ac4b69 : Rework the external Sema source's ReadMethodPool() so that it doesn't return pre-built lists. Instead, it feeds the methods it deserializes to Sema so that Sema can unique them, which keeps the chains shorter.
9d0064e : Reduce peak memory usage of the static analyzer on sqlite3 (when using inlining) by 30%.
b5c6bab : arc migrator: Provide infrastructure to add options specific to migrator. Use its first option to warn migrating from GC to arc when NSAllocateCollectable/NSReallocateCollectable is used. // rdar://10532541
44fae52 : Factor out the addition of a method into the global method pool, and teach it to always add the new method at the *end* of the list rather than as the second element in the list.
e6ca97f : Fix NSLog format string checking for %@.
d814eaf : Switch PerformImplicitConversion over to use DefaultLvalueConversion for lvalue-to-rvalue conversion.
1acbe5e : Replace a hack to handle NSLog/NSLogv in sema by declaring them as Library Builtins.
9bc4fc4 : Remove trailing slash in front of header name of ObjC builtins.
2c3038e : [analyzer] Add the HTML file to the SATest diagnostic diff. (Uses the functionality which has been in CmpRuns long before.)
ab2d46e : [analyzer] Testing: make diagnostic diffs more informative (add diagnostic message).
c15707d : [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" for forward references of classes and protocols, this breaks libclang API usage.
9d24c2c : Teach scanf/printf checking about '%Ld' and friends (a GNU extension). Fixes PR 9466.
32d4abf : Force triple on these tests to pacify the windows tester.
fca84b2 : Add a new warning, -Wover-aligned, which detects attempts to use the default allocator to construct an object which declares more alignment than the default allocator actually provides. Fixes PR9527!
8908879 : Fix one of the (larger) FIXMEs where we were misusing the Driver's idea of the target triple to stand in for the "host" triple.
a5ee634 : Small code cleanup/simplification in Sema::ClassifyName.
98c16b8 : [libclang] When calling clang_getCursorReferenced on a class or protocol forward reference, do give an interface or protocol cursor back, don't give an 'UnexposedDecl' one.
466f45a : objc: Issue a generic diagnostic assigning to an objc object in any abi mode.
b9ac30c : [analyzer] Add more C taint sources/sinks.
fa5be91 : Address one part of the FIXME I introduced my switching the triple inside of GCCInstallation to be a proper llvm::Triple. This is still a touch ugly because we have to use it as a string in so many places, but I think on the whole the more structured representation is better.
71efba0 : The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
5d84bb4 : At least within these classes, consistently spell 'GCC' as 'GCC'. I can't read Java-style 'Gcc' acronyms. ;]
58f2b29 : Start hoisting the logic for computing the target triple into its own function. The logic for this, and I want to emphasize that this is the logic for computing the *target* triple, is currently scattered throughout various different HostInfo classes ToolChain factoring functions. Best part, it is largely *duplicated* there. The goal is to hoist all of that up to here where we can deal with it once, and in a consistent manner.
ecd7b04 : Promote the extension warning for attempts to catch a reference or pointer to incomplete type from an ExtWarn to an error. We put the ExtWarn in place as part of a workaround for Boost (PR6527), but it (1) doesn't actually match a GCC extension and (2) has been fixed for two years in Boost, and (3) causes us to emit code that fails badly at run time, so it's a bad idea to keep it. Fixes PR11803.
cd0d56a : When importing a RecordDecl as a DeclContext, make sure that we pull in the definition as well.
7b383e4 : objc: issue error if assigning objects in fragile-abi too. // rdar://10731065
5602f7e : Teach the AST importer about redeclaration chains for Objective-C classes and protocols, implementing lazy-import semantics for both.
5d5051f : Only mark an IdentifierInfo as having changed since deserialization when it actually has changed (and not, e.g., when we've simply attached a deserialized macro definition). Good for ~1.5% reduction in module file size, mostly in the identifier table.
1ea742b : On Darwin, use the system's <unwind.h> whenever it is available. Clang's <unwind.h> isn't ready for prime time. Fixes <rdar://problem/10733587>.
4a04d0b : Remove HostInfo::useDriverDriver(). This was only used in two places inside the innards of the Driver implementation, and only ever implemented to return 'true' for the Darwin OSes. Instead use a more direct query on the target triple and a comment to document why the target matters here.
91e6076 : Hoist the targeted triple object into an actual object in the Driver. The Driver has a fixed target, whether we like it or not, the DefaultTargetTriple is not a default. This at least makes things more honest. I'll eventually get rid of most (if not all) of DefaultTargetTriple with this proper triple object. Bit of a WIP.
f211662 : Support decltype in member initializers.
5e089fe : Support decltype as a simple-type-specifier.
495f42a : Add a test for a diagnostic special case added in r148439, as requested by Francois Pichet.
2dd52e3 : Reword/rename -Wswitch-unreachable-default.
e1d82de : Improve -Wswitch-enum diagnostic message.
23661d3 : Revert various template unreachability code I committed accidentally.
a9bb955 : More fixes/tests.
25f4c19 : Test for the previous commit/crash.
7154c03 : Support undefined dependent bases.
36b7c63 : Simple hack to do unreachable code analysis on template patterns.
7514f31 : Rename Sema::isNullExpr() -> Sema::isSentinelNullExpr() which is more descriptive.
0259042 : Make driver tests more resilient to output trees containing symlinks -- the tests are making assertions about the name of the clang binary, so we should ensure that the name is as stable as possible.
69b26d6 : In CXXRecordDecl::isCLike(), also check for PODness.
e42670b : objective-c: Ignore with warning forward class declaration whose name matches a typedef declaring an object type. // rdar://10733000
8f675e4 : Make sure the integer type used to align the vaarg address is the same as the type of pointers.
f96708d : fixes location of "availability" attribute so warning is displayed at its line. // rdar://10711037
a8536c0 : Ignore return type if its size is zero.
f75823f : Remove extraneous ';'.
b832f6d : Minor fixups for auto deduction of initializer lists.
05b7846 : [libclang] For: @implementation I(cat) suppress subsequent references to 'I'.
4f1813e : Introduce Sema::isNullExpr() that contains the checks that Sema::DiagnoseSentinelCalls() does.
438ee1f : In CorrectTypo, use the cached correction as a starting point instead.
f5249f5 : [asan] document the need for -fno-optimize-sibling-calls
092acb0 : Fix a typo: _MM_FLUSH_ZERO_OFF has the wrong value. rdar://10716672
277b156 : Introduce CXXRecordDecl::isCLike() that is true if the class is C-like, without C++-specific features.
145f7b2 : [libclang] Index C++ template specializations, rdar://10732708
55fa1d9 : [libclang] Index namespaces in C++ qualified lookup of members, rdar://10732798
8818d45 : [libclang] Index C++ constructor initializers, rdar://10732164
7f6cf97 : Improve Lexer::getImmediateMacroName to take into account inner macros of macro arguments.
f5cd27d : Handle pseudo-object expressions (and any other placeholder expression) when code-completing member access expressions. Fixes <rdar://problem/10717172>.
f96241d : Add -Wnarrowing as an alias for -Wc++11-narrowing, for better GCC compatibility.
f3c82c5 : Downgrade C++11 narrowing conversion errors to warnings default-mapped to an error, so that users can turn them off if necessary. Note that this does *not* change the behavior of in a SFINAE context, where we still flag an error even if the warning is disabled. This matches GCC's behavior.
1db772b : Add support for -fno-optimize-sibling-calls. Currently only implemented in the X86 backend in LLVM.
2d757ec : Add a source range to the ms path. Spotted by David Blaikie.
df1be86 : In microsoft mode, downgrade pseudo-destructors on void from error to warning.
413c2c9 : Rename -Wswitch-enum-redundant-default to -Wswitch-redundant-default.
585d779 : Implement -Wswitch-enum correctly.
c14ec5a : Convert file from 60% unix 40% dos line endings to 100% unix line endings.
2897660 : Eli says this should check MicrosoftMode instead.
afcc96a : In ms mode, a move assignment operator shouldn't mark a copy ctor as deleted.
8c38206 : Make sure the AST correctly represents lvalue-to-rvalue conversions where appropriate.
9366750 : Fix -Wswitch to warn about out of bounds enum cases even when there's a default
adabbca : Move -Wswitch-enum to -Wswitch
6b6fb4f : In Microsoft Mode, disable the C++11 strict integral conversion rules for enumerator that were introduced with r148439. Otherwise MSVC headers won't compile in C++ 11 mode.
31ceb61 : Add -Wswitch-enum-redundant-default.
f3c1ca6 : lib/Frontend/InitHeaderSearch.cpp: [Cygwin] Add 4.5.3.
b4f90c2 : [Cygwin] Abandon Cygwin-1.5 and g++-3. Use g++-4.3 and higher on Cygwin-1.7.
665b002 : [analyzer] It's possible to have a non PointerType expression evaluate to a Loc value. When this happens, use the default type.
b3381f6 : Use the new installheaders makefile target in libcxx.
3fc809d : Remove redundant argument.
3bfd6d7 : [analyzer] Make VLA checker taint aware.
416de51 : Add an assertion that our use-marking actually covers all uses of a variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least.
78a5424 : Fix some comments relating to ExpressionEvaluationContexts. Get rid of a couple of uses of ConstantEvaluated which don't make sense.
65ba948 : Fix code so that a SkipUntil will ignore semicolons when skipping a function body. This keeps the brace count accurate to prevent additional errors. Also, moved the caret from the brace to the function name.
8c345c0 : [analyzer] Unbreak the static analyzer bot. Regression from r148558.
be25db9 : Add obvious missing call to MarkDeclarationReferenced.
71b8fb5 : Make clang's AST model sizeof and typeof with potentially-evaluated operands correctly, similar to what we already do with typeid.
2f72ec9 : arg migrator: change all "assign" of object properties to "strong" when migrating from GC. // rdar://10532449
c8dc135 : Fix the code completion string for variadic macros with more than one argument, which was broken and very ugly (and even had a test case to make *sure* it was broken and ugly). Fixes <rdar://problem/10609117>.
e424844 : add tests for wide character encodings
e03b2b3 : Handle thread safety attributes on functions with separate definitions and declarations.
23323e0 : Delayed template instantiation of late-parsed attributes.
7b9ff0c : Instantiate dependent attributes when instantiating templates.
ef1440b : The 'l' length modifier makes sense with the scanlist conversion specifier.
c4f4d5d : Testcase for PR11345.
4ddca8a : When adding types to the context chain for record types, just emit a forward declaration unless we already have a type. We can fill it in later if it's actually used.
3575c45 : Remove unnecessary and incorrect redirection of stderr.
9ec60df : rename -ccc-host-triple into -target
ce506ae : Tighten format string diagnostic and make it a bit clearer (and a bit closer to GCC's).
3026348 : More dead code removal (using -Wunreachable-code)
18932a0 : Add ability to specifiy 'restrict' on parameters of builtins, and correct this oversight for scanf functions.
3eaaa99 : Per PR 11814, use Monospace instead of Andale Mono.
02019f7 : [analyzer] Add taint awareness to DivZeroChecker.
86f9601 : arc migrator: replace "retain" attribute with "strong" which have same semantics in mrr as well as arr. // rdar://10688312
afb51af : [analyzer] Tweak the buildbot script to include the experimental taint checker and correct the checker enabling setting.
c891666 : use llvm:Attributes instead of unsigned
d9806c9 : Enhance Lexer::makeFileCharRange to check for ranges inside a macro argument expansion, in which case it returns a file range in the location where the argument was spelled.
74fe661 : Replace a dubious use of SmallVectorImpl with a proper copy.
eabcf7e : Fix broken unit test
1f6b2b5 : Extract the (InputKind, std::string) pair used to describe inputs to the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change.
b7ff74a : Localize variable, remove unused assignment.
dc370c1 : Remove unused variables.
a8180e5 : Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>.
b63d8d8 : Implement checker that looks for calls to mktemps and friends that have fewer than 6 Xs. Implements <rdar://problem/6336672>.
76a5424 : Turn 'SecuritySyntaxChecker' into a "meta" security checker for insecure APIs. Now multiple checks are exposed as separate checkers, but CheckerManager only creates one Checker object.
0b28928 : [libclang] Fix crash when indexing attributes, rdar://10702250.
ef331b7 : Remove PotentiallyPotentiallyEvaluated, and replace it with a much simpler and less error-prone way of handling the relevant cases. Towards marking of whether a declaration is used more accurately.
2bf8fd8 : [analyzer] Add socket API as a source of taint.
be97b7e : [analyzer] Skip casts when determining taint dependencies + pretty printing.
461af1e : [analyzer] Add a utility method that allows to find the macro name used at the given location.
3352ea9 : [analyzer] Cleanup of Symbol dump methods.
315ff36 : [analyzer] www: A minor cleanup to the dev manual.
eb96af8 : Further testing for instantiation of out-of-line constexpr static data member template definitions.
796c1a1 : An instantiation of a constexpr static data member in a class template is constexpr.
fcaf27e : Extend the error of invalid token after declarations to include fixits for !=, %=, ^=, &=, *=, -=, |=, /=, <<=, <=, >=, and >>= to =.
65eccf0 : Silence set-but-unused warning.
e64d903 : Introduce Lexer::getSourceText() that returns a string for the source that the given source range encompasses.
11b652d : Introduce Lexer::makeFileCharRange() that accepts a token source range and returns a character range with file locations.
69bda4c : For Lexer's isAt[Start/End]OfMacroExpansion add an out parameter for the macro start/end location.
19d5aea : Add unit testing for Lexer.
f5f18bf : Extend unwind.h with the ARM unwinder interface.
b0f9dd2 : A few style changes. Change CheckVectorLogicalOperands to pass params by ref. Add another test case.
bcdd7d9 : Remove the now-unused CorrectTypoContext enum.
8ef7b20 : constexpr: converted constant expression handling for enumerator values, case values and non-type template arguments of integral and enumeration types.
d6c7c67 : Change the error when a '+=' follows a declaration to suggest a fixit to '=' instead of just suggesting a ';'.
8e87490 : Use -Wdeprecated-objc-isa-usage for option to issue deprecated usage of 'isa'. // rdar://8290002
43e875d : Convert SemaDecl.cpp to pass callback objects to CorrectTypo.
057df20 : Optimize unqualified/global name lookup in modules by introducing a generational scheme for identifiers that avoids searching the hash tables of a given module more than once for a given identifier. Previously, loading any new module invalidated all of the previous lookup results for all identifiers, causing us to perform the lookups repeatedly.
c2a8d6c : Refactor: Pull getImmediateMacroName() out of DiagnosticRenderer and into Lexer and Preprocessor; making it widely available.
556b1d0 : objc: deprecate direct usage of 'isa' of objc objects in favor of usage of api's intended for. // rdar://8290002
64554ba : In the driver, -fmodules enables modules for C/Objective-C but one also needs -fcxx-modules to enable modules for C++/Objective-C++.
7748cbc : Add and update tests for character literals
5393e21 : stop claiming unicode escape sequences are too long in strings, because they never are
79f0a82 : Fix char literal types in C
be77352 : Improves support for Unicode in character literals
7d6a7c0 : test svn commit access
4798f8d : Convert DiagnoseEmptyLookup to use correction callbacks.
4c3fc9b : Move narrowing conversion detection code from SemaInit to SemaOverload, ready for it to be used in converted constant expression checking, and fix a couple of issues: - Conversion operators implicitly invoked prior to the narrowing conversion were not being correctly handled when determining whether a constant value was narrowed. - For conversions from floating-point to integral types, the diagnostic text incorrectly always claimed that the source expression was not a constant expression.
8013afe : Add testcase for r148375!
9bc291d : Make PotentiallyPotentiallyEvaluated contexts work correctly when referencing a class field from outside an instance method.
f6b5637 : Fix a string over-run detected by ASAN.
40b993a : A call to strlen is not a constant expression, even if we're treating it as a builtin.
6b3014b : The value of a case statement is a potentially evaluated context. Found by inspection.
7cdfe29 : [analyzer] Refactor: prePropagateTaint -> TaintPropagationRule::process().
4e46221 : [analyzer] Taint: warn when tainted data is used to specify a buffer size (Ex: in malloc, memcpy, strncpy..)
9b0c749 : [analyzer] Taint: add taint propagation rules for string and memory copy functions.
9392d4e : Constify FunctionDecl::getmemoryFunctionKind().
22afacc : Fix special king of typo.
93c878e : Fix a couple issues where we didn't correctly delay diagnostics in PotentiallyPotentiallyEvaluated contexts. In preparation for making sizeof() PotentiallyPotentiallyEvaluated.
303b4f9 : output body of folded case again.
985df1c : Folding away unreachable case statement. patch (slightly revised) by Aaron Ballman.
65a1e67 : Make sure to initialize ExternalProtocolPtrTy
87eaf72 : objc-arc: when 'assign' attribute is unspecified, rely on property's type for its life-time to avoid bogus warning with -Warc-unsafe-retained-assign. // rdar://10694932
98d3606 : Add Sema::isInitListConstructor. This will be needed for upcoming work.
62b7cfb : Auto deduction support for std::initializer_list, including for-range support. This means you can now write:
84760e3 : Template argument deduction for std::initializer_list arguments from initializer lists.
bb95e51 : Rename the first of 11 DeduceTemplateArguments overloads.
fe59228 : Basic overloading support for std::initializer_list.
2b916b8 : Sema support for initialization of std::initializer_list from initializer lists.
395e04d : Add Sema::isStdInitializerList, which will be necessary for the upcoming operations.
9bc23ba : fix for PR11655 changes i64 alignment from 64 to 32 for powerpc-darwin
0af8049 : Disable -Wduplicate-method-match by default. <rdar://problem/10663536>
f7b2d8b : Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch by Ruben Van Boxem.
e7aa62d : Remove constant member pointer support from Expr-based constant emission now that APValue-based constant emission knows how to emit member pointers.
8788491 : Correctly resolve an overload set passed to an overloaded operator=. PR11784.
7d580a4 : Enable constant evaluation of implicit calls to constexpr conversion operators.
a8398ea : Enable the new ObjC ARC autorelease pool elimination pass.
b29b12d : When initializing a catch variable in ARC, be sure to emit retains or whatever else is required for the initialization instead of assuming it can be done with a simple store.
29c3f81 : Fix a couples of issues in format strings checking. PR 10274: format function attribute with the NSString archetype yields no compiler warnings PR 10275: format function attribute isn't checked in Objective-C methods
56ca8a9 : Rework the way in which we (de-)serialize the declarations corresponding to TagType and ObjCInterfaceType. Previously, we would serialize the definition (if available) or the canonical declaration (if no definition was available). However, this can end up forcing the deserialization of the definition even through we might not want to yet.
6b81b0d : objc: fixes a bug where struct used inside an objc class was not being exported to parent decl context resulting in bogus mismatch warning later on. // rdar://10655530
7fe90f3 : [libclang] Make sure Preprocessor is set in ASTUnit during indexing.
4c86fdb : Don't eagerly deserialize the 'Protocol' type when initializing code generation for Objective-C; it may not be needed.
3efe999 : When collecting all of the redeclarations of a declaration loaded from a module file, be sure to also add the first (potentially canonical) declarations to the chain. This isn't guaranteed to occur because the first declaration is not listed in the stored redeclaration chain.
a6ea10e : Delay the creation of the built-in Objective-C class 'Protocol' by moving it from a "special type" to a predefined declaration, as we do for id, Class, and SEL.
c876946 : Treat -Wformat=0 as an alias for -Wformat.
9fdefb3 : Re-add an over-zealously removed break.
312ede8 : Remove dead comments as per Chandler's feedback to r148292
7530c03 : Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
561d3ab : Remove unnecessary default cases in switches over enums.
5e192a7 : [libclang] Make clang_getCursorCompletionString not depend on the ASTUnit having a Sema.
ea8c59a : Introduce a CodeCompletionResult::CreateCodeCompletionString() that does not depend on Sema, it accepts an ASTContext and a Preprocessor.
6fc9e1d : Introduce a static Sema::MarkDeducedTemplateParameters() that only depends on an ASTContext.
55693fb : Revert r148271; this requires more thought.
58219e7 : Change the behavior of the lvalue-to-rvalue conversion for varargs in PotentiallyPotentiallyEvaluated contexts so that we model it in a sane way in most cases, and give up for the edge case which hopefully doesn't matter too much.
883692e : Improve diagnostics for dangling '}'.
0a151a1 : Use Builtin ID as the return value for FunctionDecl::getMemoryFunctionKind().
022b3f4 : [analyzer] Taint: generalize taint propagation to simplify adding more taint propagation functions.
0b7febd : Add new line.
4f692c2 : Add support for OpenCL 1.1 logical operations.
cf7c14c : Add some calls to MarkDeclarationReferenced, towards a point where every declaration which is used is marked as used.
100d041 : Make the auto-detection hack for the iOS simulator set the target triple correctly. Getting the target triple wrong mostly appears to work, but messes up in subtle cases; for example, we incorrectly conclude that fwrite is actually named fwrite$UNIX2003. Also shuffles around the auto-detection code a bit to try and make it a bit more reliable. Fixes <rdar://problem/10664848>.
7c9719b : Another test for 148243 non-constant-folded-switch containing a constant-folded switch.
c268832 : A little more elaborate test for r148243
9e9650c : Patch for r148243 which was left behind.
d66715d : Fixes a crash during constant folding of a switch and case statement which has an unscoped case inside it. Patch by Aaron Ballman
7a7ee30 : Some improvements to the handling of C11 atomic types:
52e4c60 : Refactor variables unused under non-assert builds.
c23f857 : Now that deserializing a definition of a C++ class/Objective-C class/Objective-C protocol suffices get all of the redeclarations of that declaration wired to the definition, we no longer need to record the identity of the definition in every declaration. Instead, just record a bit to indicate whether a particular declaration is the definition.
cc32b44 : When deserializing the definition of a C++ class/ObjC class/ObjC protocol, record the definition pointer in the canonical declaration for that entity, and then propagate that definition pointer from the canonical declaration to all other deserialized declarations. This approach works well even when deserializing declarations that didn't know about the original definition, which can occur with modules.
2171bf1 : Completely re-implement (de-)serialization of redeclaration chains, again. The prior implementation was very linked-list oriented, and the list-splicing logic was both fairly convoluted (when loading from multiple modules) and failed to preserve a reasonable ordering for the redeclaration chains.
3419d7c : Tweak markup.
da90c77 : added descriptions of vector extensions, info about vector literals and vector operations.
665a8dc : Fix ALL the markup.
ae9f85b : Two variables had been added for an assert, but their values were re-computed rather than the variables be re-used just after the assert. Just use the variables since we have them already. Fixes an unused variable warning.
fa16125 : decltype(e) is type-dependent if e is instantiation-dependent. Scary but true. Don't consider decltype(e) for an instantiation-dependent, but not type-dependent, e to be non-type-dependent but canonical(!).
244ee7b : Pedantic diagnostic correction: in C++, we have integral constant expressions, not integer constant expressions. In passing, fix the 'folding is an extension' diagnostic to not claim we're accepting the code, since that's not true in -pedantic-errors mode, and add this diagnostic to -Wgnu.
28c1ce7 : constexpr: casts to void* are allowed in constant expressions, don't set the designator invalid. (Since we can't read the value of such a pointer, this only affects the quality of diagnostics.)
750dc2b : Change linkage computation so it doesn't depend on FunctionDecl::isExternC or VarDecl::isExternC, and instead queries what it actually cares about: whether the given declaration is inside an extern "C" context. Fundamentally, figuring out whether a function/variable uses C linkage requires knowing the linkage, and the logic in FunctionDecl::isExternC and VarDecl::isExternC was getting it wrong. Given that, fix FunctionDecl::isExternC and VarDecl::isExternC to use much simpler implementations that depend on the fixed linkage computation.
1136ef0 : Use a smaller vector than SmallVector.
9e2822b : Clear ImplicitConversionSequence the obvious way which turns out to be less fragile.
314f554 : Give OverloadCandidateSet the responsibility for destroying the implicit conversion sequences so we don't get double frees when the vector reallocates.
47b1d96 : objc: disallow __block attribute on method params.
448ce0f : Reorder initializers, make use of the whole array.
7268c8b : Move the inline array to the end.
527610d : Destroy OverloadCandidates before taking away the underlying memory.
a54fbf2 : Replace a using declararion with a typedef in the hope of satisfying GCC
ef96ee0 : De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method).
09dd379 : Pool allocate ImplicitConversionSequences.
0e6a16f : OverloadCandidateSet: Stop exposing SmallVector internals
f785a7d : Introduce Decl::getPreviousDecl() and Decl::getMostRecentDecl(), virtual functions that provide previous/most recent redeclaration information for any declaration. Use this to eliminate the redundant, less efficient getPreviousDecl() functions.
9fcbf2d : Revert accidental commit
8a8950b : Add a FIXME for mutation of the common pointer of a RedeclarableTemplateDecl. It is not clear that it's worth delaying the allocation of said pointer
7c99bb5c : Reimplement RedeclarableTemplateDecl in terms of Redeclarable<RedeclarableTemplateDecl>, eliminating a bunch of redeclaration-chain logic both in RedeclarableTemplateDecl and especially in its (de-)serialization.
170fd49 : Remove a redundant word.
2d6a567 : constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants.
8568ee7 : [analyzer] Taint: add system and popen as undesirable sinks for taint data.
db4d7a5 : [libclang] If CXIndexOpt_IndexFunctionLocalSymbols is enabled, also index parameters.
093ecc9 : Remember if a type has its visibility set explicitly or implicitly. With that, centralize the way we merge visibility, always preferring explicit over implicit and then picking the most restrictive one. Fixes pr10113 and pr11690.
abac441 : Fix 80-column violation.
2249074 : [libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicate that one wants indexing callbacks for function-local symbols as well.
952626a : Create host clang++ by soft-linking to clang
91534a3 : (Implicit) parameters deserialized as part of a function type must not get added to the identifier chains as part of deserialization, because they should not be visible to name lookup.
dd9d645 : Progress towards making isUsed() reflect whether a declaration is odr-used; don't set isUsed for local variables which are referenced in unevaluated contexts. Make other code use isReferenced() (which basically indicates that a declaration isn't dead) where appropriate.
f6c17a4 : Fix a silly mistake in ComplexExprEvaluator::ZeroInitialization. <rdar://problem/10691092>.
f8ec8c9 : Convert SemaTemplate*.cpp to pass a callback object to CorrectTypo.
117c456 : Make sure to consider non-DeclContext scopes properly when finding multiple name lookup results in C/Objective-C. Fixes a regression a caused in r147533, found by Enea Zaffanella!
a8c6fea : When inferring a module for a framework, first determine whether that framework is actually a subframework within a top-level framework. If so, only infer a module for the top-level framework and then dig out the appropriate submodule.
d9b859a : Move identification of memory setting and copying functions (memset, memcmp, strncmp,..) out of Sema and into FunctionDecl so that the logic could be reused in the analyzer.
31cbe68 : Revert r148138; it's causing test failures.
e4c7f90 : Convert SemaExprMember.cpp to pass a callback object to CorrectTypo, improving the typo correction results in certain situations.
43115d4 : remove assertions in the Hexagon backend specific clang driver
edd4f3c : rename -ccc-host-triple into -target
9606a57 : rename DefaultHostTriple into DefaultTargetTriple
e401415 : Refactor for clarity.
fdf187c : Reinstate test case accidentally reverted by r148028
3a110f7 : Don't infer a submodule for a framework's private header, at least for now.
704e732 : Remove --hash-style from link command on Android.
eb66673 : CodeInit was replaced by StringInit.
3534050 : PR11754: Reject non-static constexpr member functions in classes with virtual base classes.
89e6e85 : A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751.
9ec0ef3 : constexpr is allowed on static member functions of non-literal classes. Per report on cfe-dev.
059d578 : A few minor improvements to error recovery trying to access member of a function. In particular, this restores the cool error recovery for the example from , which regressed a few months back.
f037541 : Don't crash while trying to diagnose a function declared at block scope with an incomplete return type.
2f4d88f : Fix up the calls to CorrectTypo in Sema*ObjC.cpp to use callback objects, and add a basic CorrectionCandidateCallback template class to simplify the fixups.
a150fa3 : Revert previous commit. Something has gone wonky with my local configuration
d30630f : When inferring a module map for a framework, add the 'private' requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet).
b71d157 : [analyzer] Unwrap the pointers when ignoring the const cast.
71d2909 : [analyzer] Taint: when looking up a binding, provide the type.
ce8ef16 : [analyzer] RegionStoreManager::getBinding() should not crash when looking up value at a CodeTextRegion even when the type is not provided.
dba241d : [analyzer] Fix a typo in a warning message.
9baf39d : objc parsing. Fixes a crash when parsing array initialization inside a class implementation with parse errors. // rdar://10633434
7984de3 : Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its:
83be12c : Recommit r148056 with fixes to deal with weirdness with bitfields in unions.
cd7a21b : Revert r148056 while I investigate failures.
b030b19 : Revert accidental commit.
a179682 : Make sure adding a field to a struct never reduces its size. PR11745.
3d33622 : Adjust set of default checkers.
0c6b8e3 : If an ObjCMessageExpr is implicit, there are no source locations for the selector identifiers.
3b4b047 : Convert SemaCXXScopeSpec.cpp to pass a callback object to CorrectTypo, improvng the typo correction results in certain situations.
f2b4f7b : objc: do not warn when converting to a const id qualfied by its list of protools. // rdar://10669694
b29d3e7 : Revert 148045 to fix the bots.
9f141c4 : Add a SONAME to the libclang library. Patch by Sylvestre Ledru.
425d631 : Convert SemaInit.cpp to pass a callback object to CorrectTypo.
0849ade : [analyzer] fix inlining's handling of mapping actual to formal arguments and limit the call stack depth. The analyzer can now accurately simulate factorial for limited depths.
ec78916 : constexpr: initialization of a union from an empty initializer-list should zero-initialize the first union member. Also fix a bug where initializing an array of types compatible with wchar_t from a wide string literal failed in C, and fortify the C++ tests in this area. This part can't be tested without a code change to enable array evaluation in C (where an existing test fails).
37969b7 : scanf: parse the 'm' length modifier, and check that the right arguments are used with that and the 'a' length modifier.
1d7049a : In Objective-C++, actually compute the base type of a member access expression for an Objective-C object or pointer type, so that we don't attempt to treat the member name as a template. Fixes <rdar://problem/10672501>.
28058d1 : scanf analysis: the 'a' length modifier is valid with a scanlist
6de0b48 : scanf analysis: don't bail out after successful parse of scanlist
b4218a3 : test/Driver/debug-options*.c: Tweak r147819 to split out another cc1as-sensitive test. gcc driver is invoked for assembling on cygming.
d135641 : Revert accidentally-committed file in r148020.
61e6162 : Allow constant-folding of references which were formed in a manner not permitted in a constant expression, for compatibility with g++.
746f5bc : Add IsImplicit field in ObjCMessageExpr that is true when the message was constructed, e.g. for a property access.
d8b4216 : [arcmt] The migrator tests for the buildbot in are messed up, XFAIL does not help. Waiting until DISABLE is supported..
1437425 : [analyzer] Rename Store::Retrieve() -> getBinding().
1fb826a : [analyzer] Add taint transfer by strcpy & others (part 1).
e9c8760 : Fix test case committed in r147986.
121c67d : Formatting.
7c9b2fd : Formatting.
cc66254 : Take into account the pointer to an aggregate that is passed as a hidden argument when Offset is initialized.
2afd23d : Call CodeGenTypes::ConvertType to get LLVM::Type*. Remove function MipsABIInfo::GetFloatingPointTy.
ed0b31f : Fix some edge cases with C++ casts and placeholder expressions.
3306f96 : objective-c: fixes a regression in looking up names in class extensions and categories by recent refactoring of objc class ASTs. // rdar://1066654
5b7254c : Appease -Wnon-virtual-dtor
72b8f78 : Extend test-case as requested by Eli
ec3bd72 : Improve the diagnostic when trying to redefine a typedef with a variably-modified type.
dc98cd0 : Fix the caching in CorrectTypo so that other non-keyword identifiers are still added if the cached correction fails validation.
3efd348 : minor refactoring to improve compile-time performance.
7d5e694 : Add initial callback object support to Sema::CorrectTypo.
015f608 : objc-arc: evaluate 'readonly' property with no known life-time to that of its backing 'ivar's lifetime. // rdar://10558871
de8facc : constexpr: fix typo resulting in move constructors sometimes not being implicitly marked constexpr when they should be.
463f136 : More tests for ARM FPU features.
35dd732 : Fix -mfpu parsing on ARM.
8844f45 : clang/test/CodeGen/vla-4.c: Relax expression for -Asserts.
5ff53b2 : Fixed VLA code generation.
3e97758 : "This change adds alloca/valloc checks to UnixAPIChecker. It includes a small refactoring for the common *alloc functions as well as a few tiny wibbles (adds a note to CWE/CERT advisory numbers in the bug output, and fixes a couple 80-column-wide violations.)"
cb28b48 : test/Driver/debug-options-as.c: Mark this as XFAIL:cygwin.
c0004df : C11 allows typedefs to be redefined. Implement this in C11 mode, and downgrade the default-error warning to an ExtWarn in C90/99. <rdar://problem/10668057>
983d835 : Revert changes to lib/Driver in r147917; I didn't mean to commit this.
97a72c3 : Add elidable CXXConstructExpr as block-level expr. It converts an lvalue to a rvalue, which is a useful step during AST evaluation.
b69b42c : Start refactoring code for capturing variables and 'this' so that it is shared between lambda expressions and block literals.
52f220d : Typo in test.
256ef64 : Remove '#if 0' from ExprEngine::InlineCall(), and start fresh by wiring up inlining for straight C calls. My hope is to reimplement this from first principles based on the simplifications of removing unneeded node builders and re-evaluating how C++ calls are handled in the CFG. The hope is to turn inlining "on-by-default" as soon as possible with a core set of things working well, and then expand over time.
806054d : Do placeholder conversions on array bounds in both declarators and new-expressions.
9db0a5e : Remove switch/case statements and call GetFloatingPointTy() instead to get the floating point type.
6d1080f : Flatten float complex arguments. N32/64 requires float complex arguments be passed in floating point registers.
9659d59 : Remove space.
31dfd64 : Add field IsIEEE in FloatingLiteral to distinguish between different 128-bit floating point formats.
6731074 : When something goes wrong in type-checking a namespace definition, make the namespace declaration invalid
b43550b : Add support for the androideabi environment to our triple support, and for the arm-linux-androideabi triple in particular.
6e6f93a : objc-arc: fixes a crash when trying to find out retaining cycle ownership of property sent to 'super'. // rdar://10640891
02577ff : Remove a set, but unused variable. Found with GCC's warning.
d3e29ef : [analyzer] Testing infrastructure: Flush output after every print statement.
91ee4a7 : Contrary to the other BSDs, NetBSD followed the ELF ABI for structure passing on i386 and does not use registers.
f660f4b : Make PathDiagnosticLocation more resilient to null Stmt pointers.
5660aa6 : Add definitions for AMD's bobcat (aka btver1)
5c65e4f : Enable POPCNT and LZCNT with sse4a.
448f68d : Factor the repetitive cpu macro definition into a helper function.
1bf7a3f : The `-fwritable-strings' flag doesn't make the backing store strings of all CFStrings writable.
7ead5c7 : Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.)
610a60c : PR11724: Implement evaluation for constexpr defaulted trivial union copy/move constructors. These are a special case whose behavior cannot be modeled as a user-written constructor.
15e17ae : Per John's comment, it makes sense to ask isLambda on any CXXRecordDecl; make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext().
510037b : [arcmt] XFAIL on mingw.
bdad7a2 : Update C++11 scoped enumeration support to match the final proposal: - reject definitions of enums within friend declarations - require 'enum', not 'enum class', for non-declaring references to scoped enumerations
8f0a403 : Add -g to the cc1as flags only if we're dealing with an original source file. Otherwise -g -save-temps will error out on the compile of any .c file.
46d2a5c : Remove extraneous braces.
20abee6 : objc++: patch for IRgen for atomic properties of c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845
d18840d : Don't crash with -Wlarge-by-value-copy and a dependent type. PR11726.
1c94c16 : Extend the diagnostic for a ',' at the end of a declaration where a ';' was intended to cover C++ class definitions.
d1d512a : Fix "note" of a duplicate explicit instantiation definition following a specialization.
a33fd39 : Insert padding before unaligned long double arguments.
4ba3fd4 : Move the piece of code up that skips the padding argument. Without this change, padding insertion will not work if the coerced type is not a structure.
80a5b27 : Restore some parts of this test which were accidental reverted in r147649. Thanks to David Blaikie for pointing this out.
1c3875d : When deserializing an anonymous namespace from a module, do not attach the anonymous namespace to its parent. Semantically, this means that the anonymous namespaces defined in one module are distinct from the anonymous namespaces defined in another module.
0fdc09f : Implement merging of namespace-scope declarations across modules, so that we can merge, for example, two occurrences of
c6c8e0e : Implement redeclaration merging for namespaces defined in distinct modules. Teach name lookup into namespaces to search in each of the merged DeclContexts as well as the (now-primary) DeclContext. This supports the common case where two different modules put something into the same namespace.
c02d62f : Always allow redefinition of typedefs when modules are enabled. This is important because it's fairly common for headers (especially system headers) to want to provide only those typedefs needed for that particular header, based on some guard macro, e.g.,
753a200 : Made unknown builtin diagnostic remappable.
05fe4b5 : Merge AVX/AVX2 into the SSE level.
b08cfb3 : objc++: more atomic property api code for c++ object properties. wip.
2215eef : Remove unused variable.
0b536f3 : Remove unused include of VectorExtras.h.
9bc6fb6 : Pack UsingDecl more.
b6e5fe3 : objc++: More codegen stuff for atomic properties of c++ objects with non-trivial copies. // rdar://6137845
c5bdc55 : [analyzer] Fix use-after-free in HandleTranslationUnit.
06284c1 : Fixed TypeofExpr AST and code generation.
f5c9f9f : Switch NamespaceDecl from its own hand-rolled redeclaration chain over to Redeclarable<NamespaceDecl>, so that we benefit from the improveed redeclaration deserialization and merging logic provided by Redeclarable<T>. Otherwise, no functionality change.
72899c3 : More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.)
9f03b62 : [analyzer] Add basic format string vulnerability checking.
b004a49 : [arcmt] Disable tests in mingw, no idea why they are failing there.
e81d7e9 : Lambdas: semantic analysis of explicit captures.
3070e13 : [analyzer] Remove CallEnterNodeBuilder and simplify ExprEngine::processCallEnter().
f0cc208 : Add field PaddingType to ABIArgInfo which specifies the type of padding that is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening.
242384d : Correctly enqueue successors in ExprEngine::processCallExit().
894212e : [analyzer] Remove CallExitNodeBuilder, and have ExprEngine::processCallExit() do the work manually. This is a nice simplification.
d87a0cd : Suppress -Wunused-value within macros from system headers.
cd93b96 : objc++: more code gen stuff for atomic property api, currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API.
5eca482 : [analyzer] Make the entries in 'Environment' context-sensitive by making entries map from (Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals.
0782ef2 : During name lookup, use redecl_iterator to walk over the redeclaration chain to determine whether any declaration of the given entity is visible, eliminating the redundant (and less efficient) getPreviousDeclaration() implementation.
d97927d : Revert r147664; it's breaking clang regression tests.
0774ba7 : Fix uninitialized variable warning.
52a27f5 : Revert r147655; it's breaking the compiler_rt build on OSX.
b4fa418 : Thread safety analysis: added support for trylock attribute.
b37d2b5 : Added LocalVariableMap
42378be : __FLT_EVAL_METHOD__ should be 1 on NetBSD/i386, since it defaults to "double" rounding.
e317302 : objc++: some declarations related to atomic properties of c++ object types with non-trivial assignment copy. Not used yet. // rdar://6137845
2d5f095 : Silence GCC warnings.
e683fd9 : [asan] mention -fno-omit-frame-pointer in the docs
303aae9 : When inferring a submodule ID during module creation, look up the include stack to find the first file that is known to be part of the module. This copes with situations where the module map doesn't completely specify all of the headers that are involved in the module, which can come up when there are very strange #include_next chains (e.g., with weird compiler/stdlib headers like stdarg.h or float.h).
f46ca24 : [analyzer] Correct the c++-analyzer symlink
46cd218 : Stash Decl's TopLevelDeclInObjCContainer and ModulePrivate bits into the two unused lower bits of the NextDeclInContext link, dropping the number of bits in Decl down to 32, and saving 8 bytes per declaration on x86-64.
b4e85ed : C++11 generalized constant expressions: implement checking and diagnostics for pointer-arithmetic-related undefined behavior and unspecified results. We continue to fold such values, but now notice they aren't constant expressions.
f143ffc : Introduce a "Hidden" bit into Decl, to track whether that declaration is hidden from name lookup. The previous hack of tweaking the ModulePrivate bit when loading a declaration from a hidden submodule was brittle.
9b8b20f : Teach DeclContext deserialization to pay attention to endianness, from David Fang and Takumi Nakamura. Fixes many PCH failures on PowerPC.
843cc5a : If we are compiling with -fno-builtin then don't do constant folding of builtins.
092beef : Fix the mangling of class template arguments in a particular dependent case. Thanks to Jason Merrill for pointing this out.
1a5d355 : Improvements to the uninitialized variable warning: Check if the constructor call is elidable or if the constructor is trivial instead of checking if it is user declared.
906a7e1 : More lambda work. Fixes a minor bug Richard pointed out, makes lookup for lambda parameters work correctly, recording more information into the AST.
2f0e88a : David Blaikie and Chandler would like us to diagnose
e0e7c99 : [analyzer] c++-analyzer should be a symlink.
a772b86 : [analyzer] Update the docs to reflect that gcc is not the only default compiler option.
dd40b84 : [analyzer] scan-build: If we are on MacOS, use clang as the default compiler.
f5c5f89 : [analyzer] Skip --serialize-diagnostic when running scan-build.
1d7bcf4 : Tweak to r147599 for PR10828: Move the check from the parser into sema, and use the Semantic Powers to only warn on class types (or dependent types), where the constructor or destructor could do something interesting.
a0b2ba1 : Minor refactoring of sentinel warning on blocks. Add a test for this warning.
84e4986 : objc++: sythesize a helper function to be used for copying atomic properties of c++ objects with non-trivial copy assignment in setters/getters. Not yet used. // rdar://6137845
ce52bb3 : Fix a memory leak of PragmaNamespaces, rdar://10611796.
5930a4c : Address Richard's review comments on r147561 (Evaluate support for address-of-label differences).
5d1f496 : Always allocate an extra 8 bytes for a deserialized declaration, since some code in Clang expects 8-byte alignment of declarations.
71207fc : After further discussion, rename attribute 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.
6aeaa60 : Tweak the fix to PR8977: an empty expression-list represents value initialization, not default initialization. Fixes PR11712.
1c7946a : Don't seed the ASTWriter's declaration -> ID mapping with the IDs of each deserialized declaration, since that information is already available in each declaration.
b6b60c1 : When we deserialize a declaration from a module file, allocate extra storage for the global declaration ID. Declarations that are parsed (rather than deserialized) are unaffected, so the number of declarations that pay this cost tends to be relatively small (since relatively few declarations are ever deserialized).
1e68ecc : When creating declarations that are deserialized from an module file, go through a central allocation routine Decl::AllocateDeserializedDecl(). No actual functionality change (yet).
b8c879a : When loading an AST file, set SourceManager::MainFileID to the main file of the AST file, as suggested by Tom Honermann.
cb7709c : PR10828: Produce a warning when a no-arguments function is declared in block scope, when no other indication is provided that the user intended to declare a function rather than a variable.
ec9ea72 : More lambda work. Tweak the Sema interface slightly. Start adding the pieces to build the lambda class and its call operator. Create an actual scope for the lambda body.
edb9459 : [driver] Add support for passing -lazy_framework/-lazy_library to the linker. rdar://10630328
b6cc6d7 : Change casting slightly to avoid warnings about casting away const.
447af24 : When we're performing name lookup for a tag, we still allow ourselves to see hidden declarations because every tag lookup is effectively a redeclaration lookup. For example, image that
79430e9 : Minor cleanup; no functional change.
39afcaf : Sanity checks in SourceManager::getFileEntryForID() and SourceManager::getFileEntryForSLocEntry() to make sure we do not crash. rdar://10594186
7307643 : The value of a const weak variable is not an integer constant.
c634f50 : If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition
c3953aa : Fixes a code gen bug for setter code for a property of c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845
752769f : When generating includes for all of the headers we found in an umbrella directory, skip includes for any headers that are part of an unavailable module.
273c3a3 : [analyzer] Add another tests to taint tester.
eb31a76 : [analyzer] Be less pessimistic about invalidation of global variables as a result of a call.
f063a3b : [analyzer] Correct the error message in the testing infrastructure.
22f18fd : Rename attribute 'objc_suppress_autosynthesis' to 'objc_disable_automatic_synthesis'.
e3659a7 : Fix 80 col violations.
0ad93a3 : Fix test on Release builds.
b7a7819 : Store the submodules of a module in source order, as they are stored in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them.
e5e42ae : Test case for my previous patch.
da611a7 : objc: When issuing warning for missing synthesis for properties in classes declared with objc_suppress_autosynthesis attribute, pinpoint location of the said class in a note.
6563928 : Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer.
08f7760 : fix test on -Asserts builds.
44a2399 : implement rdar://10639962 by keeping track of increased alignment information even in subscripting operations.
00b64f3 : Add missing #endif in documentation.
fe40bf8 : Support __has_attribute for objc_suppress_autosynthesis which is automatic with proper spelling :).
d2d2088 : Driver/Darwin: Remove a hack that avoided passing -demangle to iOS linkers.
bd507c5 : Add __has_feature(modules) to indicate when modules are available (in any language variant), and restrict __has_feature(objc_modules) to mean that we also have the Objective-C @import syntax. I anticipate __has_feature(cxx_modules) and/or __has_feature(c_modules) for when we nail down the module syntax for C/C++.
b7d09c8 : Fix test so it doesn't depend on the host's calling convention lowering code.
4791fa2 : Implement declaration merging for variables in disjoint modules.
7076281 : Implement declaration merging for non-template functions from different modules. This implementation is a first approximation of what we want, using only the function type to determine equivalence. Later, we'll want to deal with some of the more subtle issues, including:
da795b4 : Implement declaration merging for typedefs loaded from disjoint modules, so long as the typedefs refer to the same underlying type. This ensures that the typedefs end up in the same redeclaration chain.
b3453a8 : Penryn doesn't support sse4.2, don't enable it in the first place.
13df6f6 : Restore r147493 and remove the part of the test that was checking the wrong thing.
d1247c5 : Extend ConditionBRVisitor to handle condition variable assignments.
d6aba06 : Don't treat 'import' as a contextual keyword when we're in a caching lexer, or when modules are disabled.
256fc4d : Process attributes in explicit function template instantiations. Fixes part of PR11690.
f88c400 : Add an explicit LambdaExprContext to Declarator, to parallel BlockLiteralContext. Use it to ensure semantic analysis of types isn't confused by the lack of a type specifier.
c7ecc2e : Have functions return structures smaller than 128-bit in registers if ABI is either N32 or N64.
deeab90 : Fix messed-up indentation in r147515.
dc3b723 : Stub out the Sema interface for lambda expressions, and change the parser to use it. Unconditionally error on lambda expressions because they don't work in any meaningful way yet.
4cd55b0 : Revert r147493. It broke test/CodeGenObjC/constant-strings.m.
1c87980 : Teach the static analyzer to not treat XPC types as CF types.
0507f7e : Minor code formatting cleanups.
9f37cd1 : In non-gc, non-arc mode, property of 'Class' type variety is treated as a 'void *'. No need to issue warning reserved for objc object properties. // rdar://10565506
71523d6 : Get rid of an unnecessary check; the AST for init-lists is the same independent of whether we're in C++11 mode.
c1275da : Enhance UnixAPIChecker to also warn about zero-sized allocations to calloc() and realloc(). Patch by Cyril Roelandt!
3f26e0f : Minor tweak to name lookup for C/Objective-C: after the first name, still consider whether this is a redeclaration lookup when determining whether to look for the visible declaration
7a53740 : Test "merging" of typedef types across distinct modules. At present, the AST reader doesn't actually perform a merge, because name lookup knows how to merge identical typedefs together.
3edd5a9 : Support constant evaluation for OpenCL nested vector literals. Patch by Anton Lokhmotov.
de9f253 : Add initial version of checker to check if virtual member functions are called transitively from C++ constructors or destructors. Checker by Lei Zhang with a few tweaks by Ted Kremenek.
78c6fcf : Initialise constant Objective-C string isa pointers with a weak reference to the class, so that they are usable in +load methods if the string class has been compiled with clang - if it's been compiled with GCC, the ABI makes this impossible. (GNU runtimes)
341b8be : objc: diagnose misplacement of objc_suppress_autosynthesis attribute.
ed002bd : Fixed by Chandler in r147434.
1ca4a5c : Implement cross-module declaration merging for tag declarations, so that if two modules A and B both contain a declaration of a tag such as
5a15d92 : Force set-xcode-analyzer to use the system version of Python installed on OS X.
7fde651 : Add __has_feature(objc_modules)
200619f : Add a test for the driver-level -fmodules/-fno-modules flags.
952b35d : Add test case for PR 9774, which got fixed along the way.
62d0fab : Added testcases for -Wdisabled-macro-expansion.
1ac13c3 : Re-uglify #public and #private to #__public_macro and #__private_macro.
eb4f2c5 : objc: use objc_suppress_autosynthesis attribute on classes which should not be default synthesized.
c13a34b : Eliminate the uglified keyword __import_module__ for importing modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In Objective-C/Objective-C++, the @import syntax is used to import modules.
f84d560 : Don't depend on undefined macros being 0, there are options for the preprocessor to warn about it.
e23dcf3 : objc: introduce objc_suppress_autosynthesis class attributes for later use.
94ad28b : Under -fmodules, accept #public <macroname> and #private <macroname> to make a macro public (the default for headers) or private, respectively.
5948ae1 : Introduce a non-uglified syntax for module imports in Objective-C:
674949f : Don't attempt to merge a deserialized declaration with existing declarations in the AST unless modules are enabled. This case doesn't come up with precompiled headers, and it isn't cheap.
dea22cc : Factor the merging of declarations in the AST reader out to a separate member function template, since the behavior is identical for ObjCInterfaceDecl and ObjCProtocolDecl. It's expected that all redeclarable entities will have the same behavior.
7025d2c : Add -fno-modules to the driver, to turn off modules (although they're off by default anyway).
752c74d : Add a "Modules" language option, which subsumes the previous "AutoModuleImport" preprocessor option and is tied to -fmodules.
c514a8a : Rename the command-line option for mapping #include/#import over to module imports from -fauto-module-import to -fmodules. The new name will eventually be used to enable modules, and the #include/#import mapping is a crucial part of the feature.
0257b7f : Process attributes in explicit template instatiation definitions. Fixes PR11690.
ba9186c : Teach the frontend to provide the builtin preprocessor defines for -ffast-math.
a2d8669 : Add assertion to char32_t that the value is valid, as suggested by Jordy Rose. Add a test that such characters don't make it through to StringLiteral objects in error recovery.
d07cc36 : Diagnose cases where the definition of a particular type is required, is known (to Clang), but is not visible because the module has not yet been imported.
abf07a7 : Fix PR11685 by implementing -ffast-math and its various friends in the Clang driver. This involves a bunch of silly option parsing code to try to carefully emulate GCC's options. Currently, this takes a conservative approach, and unless all of the unsafe optimizations are enabled, none of them are. The fine grained control doesn't seem particularly useful. If it ever becomes useful, we can add that to LLVM first, and then expose it here.
1e8a067 : Added a missing case for -Wdisabled-macro-expansion.
b5d763d : Small cosmetic cleanups in code I will change anyway.
dcbe5f7 : Small refactoring so that only one of the mergeVisibility/mergeLinkage functions calls setVisibility/setLinkage.
a28cb3e : Eliminate ObjCProtocolDecl's end-of-definition location. It is not used anywhere.
61cc296 : Fix canonicalization of protocol-qualified types
ec1a58b : Move ObjCProtocolDecl::EndLoc into its DefinitionData, and give ObjCProtocolDecl proper source-range information.
c9d3c7e : Eliminate the ForwardDecl/InitiallyForwardDecl bits from ObjCProtocolDecl. They are no longer needed
163ada8 : Added -Wdisabled-macro-expansion warning.
dba9361 : Implement declaration merging for Objective-C protocols across multiple, disjoint modules. There is far too much duplicating with the ObjCInterfaceDecl case here, which I'll eliminate shortly.
49310ba : Eliminate redundant, empty function
bd9482d : Eliminate ObjCForwardProtocolDecl, which is redundant now that ObjCProtocolDecl modules forward declarations properly.
a6387f3 : Don't bother rewriting an Objective-C class or protocol declaration to the module file when we've merely added a definition
3937f87 : Eliminate ASTMutationListener::UpdatedAttributeList, which is no longer needed now that we aren't back-patching ObjCProtocolDecls.
27c6da2 : Wire up redeclaration chains for Objective-C protocols, so that both forward declarations and definitions of an Objective-C protocol are represented within a single chain of ObjCProtocolDecls.
1d784b2 : Introduce the core infrastructure needed to model redeclaration chains for Objective-C protocols, including: - Using the first declaration as the canonical declaration - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and that we know which declaration is the definition - Serialization support for redeclaration chains and for adding definitions to already-serialized declarations.
5e2a1ff : Move the data that corresponds to the definition of a protocol into a separately-allocated DefinitionData structure. Introduce various functions that will help with the separation of declarations from definitions (isThisDeclarationADefinition(), hasDefinition(), getDefinition()).
27b7ce6 : Use hasSameType.
3fc73ee : Use declaresSameEntity() when comparing ObjCProtocolDecls, and getCanonicalDecl() when putting ObjCProtocolDecls into a set. This is groundwork for making ObjCProtocolDecl redeclarable.
71cb8a2 : Consider visibility attributes in namespaces as being explicit. I.e., they take precedence over command line options. Fixes PR10113.
6f26b5e : Replace a isa+cast with a dyn_cast.
be1ac06 : Happy new year 2012!
18383f0 : clang/unittests/Basic/SourceManagerTest.cpp: Fixup corresponding to r147387.
51f564f : Implement support for module requirements, which indicate the language features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work under some language variants (e.g., in C++, std.tuple might only be available in C++11 mode).
868f65c : Split out clang/test/Driver/debug-options-as.c from debug-options.c, and mark it as XFAIL: mingw32.
4debc82 : Fix crash when trying to pretty-print unicode or wide string literals.
5120188 : Unrevert r147271, reverted in r147361.
bf3cc73 : Add CXX_FINAL_ATTR, CXX_OVERRIDE_ATTR, ANNOTATE_ATTR and ASM_LABEL_ATTR to the python bindinds. patch by Tom Schuster!
5c76db3 : clang/lib/Headers/CMakeLists.txt: Unbreak cmake build.
7feb321 : Add FMA4 intrinsics.
f9322a6 : Remove an accidental change from r147370. Would only break if the new fma4 flag was used.
6a511e1 : Add FMA4 feature flag. Intrinsics coming soon. Also make sse4a feature flag imply sse3. Matches gcc behavior.
68045b1 : Add test for PRr11676.
f8c2a33 : Revert r147271. This fixes PR11676.
d7c56e1 : Change the diagnostics which said 'accepted as an extension' to instead say 'is an extension'. The former is inappropriate and confusing when building with -Werror/-pedantic-errors.
0945f20 : Unbreak cmake build after r147340.
04bea93 : Make this text slightly more accurate; thanks to Johannes Schaub for pointing this out.
e14e08b : Add popcnt feature flag to match gcc. This flag is implied when sse42 is enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc.
63d32bd : Fix cmake build with -DBUILD_SHARED_LIBS=ON.
df49782 : Support for thread safety attributes on functions
80d4b55 : Small refactoring and simplification of constant evaluation and some of its clients. No functionality change.
0e743b1 : Handle a /etc/debian_version with a version number instead of a codename. Patch by Sylvestre Ledru. Fixes PR11673.
b406669 : Add a target hook for FLT_EVAL_METHOD and use it to set the value on x86 with sse disabled.
5294c79 : Support the 'a' scanf length modifier as an extension in C++.
72b20ff : Enable the user to control whether CXXConstructExpr will be added as a block-level expr. Currently CXXConstructExpr is always added as a block-level expr. This caused two problems for the analyzer (and potentially for the CFG-based codegen). 1. We have no way to know whether a ctor call is base or complete. 2. We have no way to know the destination object being contructed.
375bb14 : Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDecl covers both declarations (@class) and definitions (@interface) of an Objective-C class.
fedb6ec : Fix the visibility of methods of explicit template instantiation definition when using -fvisibility-inlines-hidden. This matches gcc's behavior and documentation.
47d2145 : constexpr: support for evaluation and codegen of typeid constants.
4a08268 : Initialize member that ends up in PCH files.
fb8c56d : Partially revert r147195; lib/Basic/Version.cpp conditionally depends on config.h.
5df37bd : Delay checking of typedefs of dependent types. Fixes PR11630.
89ea416 : driver: fix unused variable warning
a11d309 : Fix potential use after free.
b5409c5 : clang/lib/Headers/CMakeLists.txt: Unbreak cmake build to add bmi2intrin.h since r147275.
f58f364 : Add BMI2 intrinsics.
dd4b350 : Fix constexpr handling to allow 'extern constexpr' variable declarations. We no longer have access to the source locations we need to produce the 'replace constexpr with const' fixits, so they're gone for now.
eba05b2 : constexpr: perform zero-initialization prior to / instead of performing a constructor call when appropriate. Thanks to Eli for spotting this.
19b4a71 : Change LZCNT and BMI tests to check IR instead of X86 assembly.
6ab9f02 : lib/Headers/CMakeLists.txt: Fix cmake build since r147263, for two missing headers.
0b269c1 : Add the rest of the BMI intrinsics.
5c75208 : Add intrinsics for lzcnt and tzcnt instructions.
31ceea0 : Add BMI, BMI2, and LZCNT feature flags to enable adding intrinsics.
8d2a701 : Remove unused variables.
b701d3d : Always implicitly declare move assignment operations for dynamic classes, in case they override virtual functions from a base class. Also fix -print-stats counting of move assignment/construction.
5cbd751 : Add last of the AVX2 intrinsics except for gather.
7bb0340 : Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers.
34a1da4 : Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers.
967cd88 : Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd.
ee9b41d : Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd.
7f16caa : Intrinsics for AVX2 unpack instructions.
cbe627b : More AVX2 intrinsics for shift, psign, some shuffles, and psadbw.
ff91d24 : Fix several issues related to specializations and explicit instantiations.
17ba267 : fix for PR11634
430cf51 : Give C11's __STDC_VERSION__ the final value.
ffbe9b9 : Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small.
d217465 : C1X is now C11, add -std=c11 and -std=gnu11 as aliases for the c1x arguments.
28a324a : Add AVX2 multiply intrinsics.
8fdb6de : Let CompilerInvocation initialization indicate failure
9241057 : Pass context and access to Parser::ParseExplicitInstantiation() for good parser error recovery and for not crashing.
712ef87 : objective-c: Use class definition AST in several situations when building related objc ASTs which require a class definition AST. These were uncovered when testing objc rewriter.
224bfee : Remove spurious, but now legal, typename
585ec93 : When building a module with an umbrella header, warn about any headers found within that umbrella directory that were not actually included by the umbrella header. They should either be referenced in the module map or included by the umbrella header.
682060c : Colorize and condense CFG pretty-printing.
5cb94a7 : Add -Wdangling-else.
1770e0d : remove unneeded config.h includes
bf1739c : Make a note for an optimization that I'd like to implement, when the ASTs for local externs are sound
c3cfd2a : Serialize the AST reader's mapping from canonical declarations to the set of (previously-canonical) declaration IDs to the module file, so that future AST reader instances that load the module know which declarations are merged. This is important in the fairly tricky case where a declaration of an entity, e.g.,
e89fd1b : Add missing triple to darwin clang driver test.
b0c6c33 : Fix build under -Wswitch by adding support for FK_ListConstructorOverloadFailed to initialization sequence dumping.
cce54aa : If we end up merging an Objective-C class with an existing Objective-C class that comes from a different module file, make sure that we load all of the pending declarations for the original declaration.
567003e : Last part of support for generating dwarf for assembly source files. This gets the clang driver to enable this when assembling a .s file. rdar://9275556
cf15cef : Overloading for initializer list construction.
62f13c9 : Fix a parser bug that prevented it from correctly parsing explicit construct expressoins of the form T{args}.
10f04a6 : List-initialization via constructor part 1. Still needs: pretty-printing, overloading, initializer_list.
231f793 : Add AVX2 intrinsics for max, min, sign extend, and zero extend.
4617e28 : Delete stray semicolon.
b7dcddf : Fix typos in analyzer diagnostics pointed out by Matt Beaumont-Gay and Robert Purves.
04a94bc : In Lexer::getCharAndSizeSlow[NoWarn] if we come up against
e6a24e8 : Add support for bitcasts to vector type in Evaluate.
6180245 : PR11614: Mark defaulted special constructors as constexpr if their implicit definition would satisfy the constexpr requirements.
0f75323 : When deserializing an Objective-C class, check whether we have another declaration of that same class that either came from some other module or occurred in the translation unit loading the module. In this case, we need to merge the two redeclaration chains immediately so that all such declarations have the same canonical declaration in the resulting AST (even though they don't in the module files we've imported).
15ce164 : Enhance AnalysisDeclContext::getReferencedBlockVars() to understand PseudoObjExprs. It turns out that the information collected by this method is a super set of the captured variables in BlockDecl.
974c5f9 : PR11637: implement special-case constant evaluation for char arrays initialized by string literals.
280cf14 : Fix regression in LiveVariables when reasoning about variables captured by blocks.
dedb362 : Fix a silly mistake in this test that somehow slipped into my last commit.
58c65fc : Fix a failure (which led to a crash) in constant emission code with vector compound literals.
f132dca : In Lexer::getCharAndSizeSlow[NoWarn] make sure we don't go over the end of the buffer when the end of the buffer is immediately after an escaped newline.
97bbab2 : objc, objc rewriter. Fixes couple of bugs one because of recent refactoring and one in the rewriter.
3b7a48f : Improve CFG pretty-printing for CXXConstructExprs.
aa5d533 : Cast enumerators from different anonymous enums to unsigned, to appease gcc
893d414 : Improve CFG pretty-printing of CastExprs.
acca411 : [libclang] In visitPreprocessedEntitiesInRange we are interested in a file region so translate the range to file locations.
cee5ec9 : Fix bugs in SourceManager::computeMacroArgsCache() and add a unit test for it.
d7711ec : For SourceManager::isBeforeInTranslationUnit(), have it consider macro arg expanded token locations as coming before the closing ')' of a function macro expansion.
87dd4f7 : Implement a trivial, obvious optimization for deserialization of redeclaration chains: only ever have the reader search for redeclarations of the first (canonical) declaration, since we only ever record redeclaration ranges for the that declaration. Searching for redeclarations of non-canonical declarations will never find anything, so it's a complete waste of time.
4a4f25a : Add a few more AVX2 intrinsics and fix the type strings on a couple SSE intrinsics.
318e460 : Add AVX2 horizontal add/sub intrinsics.
7098cbd : constexpr: diagnostic improvements for invalid lvalue-to-rvalue conversions in constant expressions.
9bddf43 : Bump suitable alignment on darwin ppc 32/64 and x86-32 to 16 bytes. I don't actually know about the other OSes on X86-32 besides Linux...
1d238ea : C++11 half of r147023: In C++11, additionally eagerly instantiate: - constexpr function template instantiations - variables of reference type - constexpr variables
14b9436 : Attempt to fix test on 32-bit hosts.
6bd9719 : Fix a case where Expr::isConstantInitializer would return true for an expression we can't support. In a slightly amusing twist, the case in question was already in the clang regression tests marked as a valid construct. <rdar://problem/10020074>
3e9ea0b : C++ constant expression handling: eagerly instantiate static const integral data members of class templates so that their values can be used in ICEs. This required reverting r105465, to get such instantiated members to be included in serialized ASTs.
28441e6 : objc QOI: Don't't warn about mismatch between attributes on method declaration and definition if former is in a system header. // rdar://10580333
a44854a : PR11297: Provide a better diagnostic for code which contains a reasonable-looking but ill-formed for-range statement of the form:
2cbe791 : [analyzer] Do not invalidate arguments when the parameter's type is a pointer to const. (radar://10595327)
b5ea9db : objc/c++: Issue diagnostic when free-standing ivar is accessed in class method instead of crash. // rdar://10593227
1d4c113 : When we make a previously-deserialized module definition visible, notify the AST deserialization listener so that the AST writer knows that it can write the macro definition.
6ae3257 : Fix inversion of static analyzer path diagnostics for path conditions.
c7feca0 : Fix a crash on invalid,
d7f02c6 : Let the KNR promotion warning be disabled.
2ccd89c : When performing name lookup for a redeclaration, ignore module visibility restrictions. This ensures that all declarations of the same entity end up in the same redeclaration chain, even if some of those declarations aren't visible. While this may seem unfortunate to some---why can't two C modules have different functions named 'f'?---it's an acknowedgment that a module does not introduce a new "namespace" of names.
e7aa27a : When performing layout for an Objective-C class, make sure to dig out the definition of that class. Fixes PR11613 / <rdar://problem/10604077>.
4c07c5d : Add AVX2 intrinsics for pavg, pblend, and pcmp instructions. Also remove unneeded builtins for SSE pcmp. Change SSE pcmpeqq and pcmpgtq to not use builtins and just use vector == and >.
3ff53b3 : Update the CMake build for r146959's new files.
9082cdd : Relax type checking for a few Neon intrinsics. <rdar://problem/10538555>
2fbf373 : Fix off-by-one error in an assert condition. No functionality change, but better error detection.
b6f8d28 : Revert r146766, and add a testcase for which it introduced a wrong-code bug.
99ba9e3 : Unweaken vtables as per
f6702a3 : Unlike in C++03, a constant-expression is not an unevaluated operand in C++11. Split out a new ExpressionEvaluationContext flag for this case, and don't treat it as unevaluated in C++11. This fixes some crash-on-invalids where we would allow references to class members in potentially-evaluated constant expressions in static member functions, and also fixes half of PR10177.
9490ab4 : Fix tentative parsing so it knows how to handle an ambiguous for-range-declaration. PR11601.
9c7a925 : Remove some extraneous carriage returns from these files. One of the Windows subversion clients isn't setup to default to eol:native again...
d9d12e0 : Refine error diagnostic for using bridged casts when not using ARC.
305dc3e : Detect when mapping a #include/#import over to a submodule ends up hitting a submodule that was never actually created, e.g., because that header wasn't parsed. In such cases, complain (because the module's umbrella headers don't cover everything) and fall back to including the header.
6446c3e : Mark the calls to the _setjmp function as returns twice. <rdar://problem/10492556>
d71f442 : Switch a few callers of MakeAddrLValue places over to MakeNaturalAlignAddrLValue.
e2eb0e9 : objc-arc: bridge casts in non-arc mode are now error. // rdar://10597832
bc6abe9 : Evaluation support for ExprWithCleanups. We won't evaluate any expression which actually requires non-trivial cleanups, so no cleanups need to be performed.
af2c7a1 : Improve r146813 (for PR11595) to give an appropriate diagnostic.
1f6b395 : loads also handled of course.
4cac9e1 : Fix PR5279 - don't sliently drop alignment information on stores of types that have alignment less than the natural alignment of the type when it comes from a typedef.
4f1aefc : filecheckize.
e5d0f4c : rename test.
a126651 : Eliminate the first->last redeclaration map from the AST file format. It's no longer being used, now that we have a new implementation of redeclaration chains.
00852e4 : objc-arc: bridge casts in non-objc-arc mode are ignord. But, warn too. // rdar://10597832
21cf08b : Remove ASTReader's PendingForwardRefs, which is now handled by the (more general) fix-up of definition data pointers.
aad21d7 : Attempt to fix test in Release builds.
2d1e21a : Fix typo 'typdefs', from Nikola Smiljanic
fc529f7 : Once we have fully deserialized a redeclaration chain for something 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.
f63b0a5 : Re-implement (de-)serialization of redeclaration chains for 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.
79ac2da : Add a triple to the test.
adafc2e : The submodule offset map can introduce "empty" remapping entries for 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.
ecb1938 : Optimize serialized representation of redeclarable declarations for 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).
68d7bb9 : Make sure this test works in C++, too
bcf6b98 : Extend the fix for PR9614 to handle inline asm in the outer decl and the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14).
0f45682 : Combine common (de-)serialization logic for typedefs and type aliases into operations on TypedefNameDecl. No functionality change.
735ceaa : Add AVX2 intrinsics for and, andn, or, and xor.
098eaff : SourceManager: use getBufferSize()
2c2a385 : fix a broken link
9c2ffd8 : More AVX2 intrinsic support including saturating add/sub and palignr.
099e7f6 : constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' variable is initialized by a non-constant expression, and pass in the variable being declared so that earlier-initialized fields' values can be used.
925be54 : Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table.
b44b966 : test/Analysis: fix error message
85c60db : Silence gcc warnings.
3a89e37 : examples: flesh out PFN readme
2116b14 : PR11604: don't allow floating-literal-to-integer casts in ICEs if the (truncated) 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.
a1be278 : Completely re-implement (de-)serialization of declaration 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.
79cbbdc : Split the Windows toolchain definition into its own file. This is especially nice as the Windows toolchain needs the windows header files, and has lots of platform specific hooks in it.
657849c : Fix an abiguous-else warning from GCC. I have no idea why Clang doesn't have this warning.
b05dcdd : Teach the link-step test to verify that we don't pass bad --hash-style flags on MIPS paltforms.
22d1414 : Update CMake dependencies.
2b03bb0 : Add -mavx2 and -mno-avx2 command line support. Also add core-avx2 processor type.
a07037f : Record the downstreaming work in
ad64684 : Frontend/VerifyDiagnosticConsumer.cpp: Fix an expression that had side-effect.
f2fcf1b : [PCH] Remove extraneous line in the test that was mistakenly copied.
9170783 : [PCH] Don't deserialize bodies of interesting decls while iterating over them because more interesting decls can be added during body deserialization.
2a76410 : Refactor SerializeDiagnosticsPrinter to using DiagnosticRenderer. This gives us comparative diagnostics to TextDiagnosticPrinter.
2898d4f : Refactor 'TextDiagnostic' to have a parent class 'DiagnosticRenderer' which handles the policy of how diagnostics are lowered/rendered, while TextDiagnostic handles the actual pretty-printing.
373cb78 : [PCH] Fix bug where we failed to update an identifier for a single token macro expansion.
7116833 : [PCH] In ASTReader::FinishedDeserializing fully load the interesting decls, including deserializing their bodies, so that any other declarations that get referenced in the body will be fully deserialized by the time we pass them to the consumer.
672b323 : Add a sanity check in the Redeclarable::redecl_iterator to avoid infinite loop when we formed an invalid redeclaration chain due to a bug.
0db9f4d : In Parser::SkipUntil do not stop at '@' unconditionally.
a24195a : After late parsing an objc method, make sure there are no leftover cached tokens, because the memory associated with them is going to get released. We also don't want them to affect later parsing. (We do the same for C++ inline methods.)
f59ff8c : Add a missing check before trying to evaluate a temporary. PR11595.
d7dd775 : Fix _mm_permute_ps and _mm256_permute_ps AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450
c17f88e : Revert r146797, which was a partial revert of r146791; It was correct in the first place. The permutevar_* (note the *var*) intrinsics use ymm/mem.
1e4faf5 : Fix _mm256_extractf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450
1978087 : Partial revert of r146791; vpermilps/vpermilpd instructions accepts ymm/mem/imm8.
fc038e9 : 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.
85b9e8c : Add a triple to this test to hopefully get it passing on i386-freebsd.
5238474 : [analyzer] Fixup for r146793. Add tests for atol and atoll.
9ffbe24 : [analyzer] Add support for taint flowing through a function (atoi).
777d706 : [analyzer] Minor: Simplify & assert.
b8786c4 : Fix _mm256_round_pd, _mm256_round_ps, _mm_permute_pd and _mm256_permute_pd AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450
973bbb6 : When in a limited debug information situation if we can find the original declaration for the type then go ahead and use that, it's still smaller than creating an all new derived type.
435e106 : Start down the path of getting clang to internally agree on structs versus classes.
8a93d27 : Fix an inconsistency in the syntactic form of InitListExpr in case of initialization that involves a ConstructorConversion
a3ca4d6 : Don't allow #include (and its friends #import, #include_next and #__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.
37f953f : Add missing header change
fd002a7 : Make sure we're always setting the previous declaration of an ObjCInterfaceDecl
7ec59c7 : Add the value of "suitably aligned" from the C++11 standard to Basic/TargetInfo. This is equal to alignof(std::max_align_t) on the platform and equal to the alignment provided by malloc. (Platform owners please double-check your platform's value.)
9952070 : Fix 80-column violation and whitespace. No functionality change.
d9ce41e : Add missing flush call. This is an attempt to fix a broken Windows buildbot.
1e7fc3d : Reduce recursion limit on this test further to try to make the msys bot green.
b95ddf1 : Fix vinsertf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10590282
c5cda11 : Fix vperm2f128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10576962
80d39bf : Add a warning flag for ext_embedded_directive. gcc considers this undefined behaviour to be an error, so it's useful to be able to make it an error in clang too.
25b009a : PR11594: Don't blindly build a UnaryOperator UO_Minus on an expression which might not be an rvalue when checking array accesses. Instead, pass through a flag indicating the array index is negated.
08d6e03 : C++11 constexpr: Add note stacks containing backtraces if constant evaluation 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.
d3d8548 : [analyzer] Better stdin support.
0e818a4 : Fixup to the relaxed diagnostic verification option r146633.
b29b92a : Update tests to match r146744.
8d2dbbf : If there is a definition of an ObjCInterfaceDecl, make it the Decl returned from the corresponding ObjCInterfaceType
91ec789 : Support decltype in pseudo destructors and dependent destructor calls.
6b65d4a : objc: after issuing the warning on direct use of __attribute__((NSObject)) on properties, prevent consequential error diagnostics. // rdar://10591336
93e534a : Fix LOCAL_MODULE for tblgen rules.
9b879db : Apply changes to migrate to clang upstream r146715.
0af5501 : Fix chaining of ObjCInterfaceDecl redeclarations
bd79119 : Sema::RequireCompleteType currently attempts to instantiate a class from its template pattern before it consults the ExternalASTSource. LLDB in particular will sometimes provide patterns that need to be completed first.
99ee085 : In SourceManager::~SourceManager do a sanity check to make sure we don't try to destruct a null ContentCache.
7c1f1f1 : When generating debug info for an ObjCInterfaceDecl, try to dig out the definition.
05c272f : Move ObjCInterfaceDecl's "EndLoc" into DefinitionData, since it only applies to an actual definition. Plus, clarify the purpose of this field and give the accessor a different name, since getLocEnd() is supposed to be the same as getSourceRange().getEnd().
bcb3b98 : [analyzer] Address Jordy's comments for r145985.
d63348c : When name lookup finds a module-private Objective-C class declaration, check whether any previous declarations of the class were visible.
7723fec : Keep track of all declarations of an Objective-C class (both forward declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?"
0188872 : Refactor and simplify AddInitializerToDecl.
d4b66b9 : clarify that clang version number macros are marketing version #'s, not something useful.
26fec63 : Extend ObjCInterfaceDecl::DefinitionData to contain a pointer to the definition, and implement ObjCInterfaceDecl::getDefinition() efficiently based on that.
36370f5 : Update tests to match r146665.
53df7a1 : Introduce the core infrastructure needed to model a complete redeclaration chain for Objective-C classes, including: - Using the first declaration as the canonical declaration. - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and the definition knows that it is the definition. - Serialization support for when a definition gets added to a declaration that comes from an AST file.
7ab8ef9 : "Accidentally" fixed a bug with overloading of functions with Objective-C objects as parameters in r146659. Add a test for it.
dec1cc4 : Two null Decl*'s don't refer to the same declaration, because they don't refer to anything. Amusingly, we were relying on this in one place. Thanks to Chandler for noticing the weirdness in declaresSameEntity.
1617947 : Provide a default constructor for ObjCInterfaceDecl::DefinitionData that value-initializes all of its members for which default-initialization does not suffice. This should clean up the failures for compilers that do not implement C++ DR543:
31b9a98 : Fix test/Sema/format-strings-scanf.c
d02deeb : Support the 'a' length modifier in scanf format strings as a C90 extension.
db7a800 : [libclang] Give up on using write(); hopefully unbreaks mingw build.
53ba956 : Revert r146646 that was a mistake, and make the intended change in the right file.
f5a684d : [libclang] Try to unbreak mingw build.
2e5c15b : Move the definition-specific data of ObjCInterfaceDecl into a separately-allocated DefinitionData structure, which we manage the same way as CXXRecordDecl::DefinitionData. This prepares the way for making ObjCInterfaceDecls redeclarable, to more accurately model forward declarations of Objective-C classes and eliminate the mutation of ObjCInterfaceDecl that causes us serious trouble in the AST reader.
fa39f5b : [libclang] Install a fatal error handler that will call abort() instead of exit() when there is a report_fatal_error() call.
4bf34d1 : <climits> has UINT_MAX, not <limits>.
676bb5a : Another fixit for r146633 (to make debian-fnt bot happy), try including limits instead.
c035e09 : Fixit for r146633. Make sure UINT_MAX is defined on all platforms.
b17ee5b : Enhance the -Wsign-compare handling to suppress the -Wsign-compare warning in the case of a shifted bitfield. PR11572.
2135ebb : Add support for matching one or more (aka regex +) diagnostic messages with -verify.
62d829a : gcov-style profiling support for OpenBSD. Patch by Jonathan Gray.
557a382 : [analyzer] Ensure that the order in which checker callbacks are called is deterministic.
f8aba8c : objc: do not auto synthesize properties declared in protocols; with a warning. // rdar://10567333
5e3a8be : In debugger support mode, if we have a top-level message send expression with an unknown result type, assume that the result type is 'id'. Fixes <rdar://problem/10400663>.
2fe9b7f : Modify how the -verify flag works. Currently, the verification string and diagnostic message are compared. If either is a substring of the other, then no error is given. This gives rise to an unexpected case:
60ef308 : Replace all comparisons between ObjCInterfaceDecl pointers with calls to declaresSameEntity(), as a baby step toward tracking forward declarations of Objective-C classes precisely. Part of <rdar://problem/10583531>.
643d3ce : [libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo so that we can access the attributes of an entity for a reference.
90fd67a : [libclang] Suppress indexing references for occurrences of the interface in a superclass and the protocols in a protocol list.
eaa9511 : Replace Decl::isSameEntityAs with a free function declaresSameEntity, which can cope with NULL pointer values
daaefc5 : Produce more detailed diagnostics when static_assert condition is not an ICE.
0a36512 : Halve the constexpr recursion depth in this test in an attempt to make the freebsd bots happy. In the longer term, we should have a mechanism for moving constexpr recursion off the call stack, to support the default limit of 512 suggested by the standard.
a2a1789 : Fix typos.
c896ad0 : Introduce Decl::isSameEntityAs(), to help compare declarations using their canonical Decl nodes. Not used yet, but it will be.
d3d0853 : Don't consider an overloaded operator& when the expression is actually going to be a pointer-to-member constant. Fixes <rdar://problem/10544564>.
6af27ec : Don't use the frame pointer on linux x86 and x86_64 if optimizing. This matches gcc's behavior.
9929523 : [analyzer] Disable verification step on the failing test.
4805f15 : Allow empty argument lists in thread safety attributes
76178ed : Move & comment the 'decltype in declarator-id' as suggested by Doug Gregor.
86277c5 : [analyzer] Re-enable the test which was failing on one of the bots.
0d57ca1 : Fix obvious error in _mm_test_all_zeros. PR11565. Patch by Mathias Gaunard!
af76472 : Eliminate the vistigial ObjCClassDecl::ObjCClassRef, and inline its members into ObjCClassDecl, saving ourselves one pointer per forward declaration.
5536891 : When name lookup comes across a declaration that is in a module that is not visible, look for any previous declarations of that entity that might be visible.
80fb7dd : r146430 lost some compile-time performance on MultiSource/Benchmarks/MiBench/security-rijndael; this gets most of it back.
dfba027 : Enable stack protectors by default for iOS. <rdar://problem/8836680>
53f8217 : Switch test over to using -verify instead of using grep. PR11552.
f512560 : [analyzer] Revert the taint test, which is failing on one of the bots for time being.
efd6989 : [analyzer] Treat stdin as a source of taint.
28fd98d : [analyzer] Minor refactor to addTaint.
1009ac7 : [analyzer] Mark output of fscanf and fopen as tainted.
e55a22b : [analyzer] Mark getenv output as tainted.
9f6d068 : Per discussion on the list, remove BitcodeVerify pass to reimplement as a free function.
a6dc7ef : Make the diagnostic message more consistant. Update the type comparison to handle non-pointer types. This is for the extra info printed when function types are compared.
7209646 : objc: diagnose duplicate declaration of methods in classes. // rdar://10535349
c10a4c8 : [libclang] Indexing API: Provide the protocols list for objc categories as well.
e422e45 : [libclang] Indexing API: Fix indexing of missed references.
c2be04e : [libclang] Indexing API: Fix suppressing of references in macros and suppress @class forward references.
7cb2101 : Tweak ARC diagnostic categories and rename 'Automatic Reference Counting Issue' to 'ARC Parse Issue' and 'ARC Issue' to 'ARC Semantic Issue'. Patch by Jean-Daniel Dupas.
fea966a : Added an assertion about overflow in sizeof evaluation. This does not solve the underlying structural issue that is waiting for a proper solution.
df512bf : Disallow decltype in qualified declarator-ids.
c1c5f27 : Add checks and diagnostics for many of the cases which C++11 considers to not be constant expressions.
9081c04 : Testcase for LLVM commit r146475.
70d085a : s/%clang-cc1/%clang_cc1/ for conformity.
3cee31e : Set umbrella directory correctly when we infer a framework module
db103cc : Fix "control may reach end of non-void function" warning.
9d24a8b : Implement the Microsoft __if_exists/if_not_exists extension in initializer-list. Necessary to parse Microsoft ATL code.
2e17322 : [asan] update asan docs
bab9f4a : Tweak submodule ID handling in the AST writer
ba96ffc : objc-arc: better diagnostic when block is declared inside a struct/union.
fa2b3dd : Make CGRecordLayoutBuilder correctly switch over to a packed class when a class has a base whose alignment will break the class layout. <rdar://problem/10551376>.
ff78927 : Add frontend flags to enable bitcode verifier pass.
8ef8f43 : Suppress -Warray-bounds in certain cases involving macros from system headers.
364a59e : Fixes a bug in calculation of field offsets of ms_struct fields by just following what comment says. // rdar://10513599
9631939 : Hexagon backend support
60f24e7 : Further tweaking of diagnostic text for casts performing reinterpret_cast conversions in constant expressions.
3b29bb9 : When we have an umbrella directory in a module map, recursively walk the subdirectories to find headers in submodules.
4cd9b8f : Clean up diagnostic wording for disallowed casts in C++11 constant expressions.
d83d2e7 : Don't mark include guard macros as implicitly private. This isn't actually a terribly good heuristic, and the world is too horrible for it to work.
c08e618 : Fix signature of vsscanf in Builtins.def
d95a8ab0 : Fix signature of sscanf in Builtins.def
c216a01 : Implement C++11 constant expression cast restrictions.
439ddaa : Make fscanf, vscanf, etc. be recognized as scanf-like functions.
d509342 : Fix some not-yet-used diagnostic code in a template, which gcc spotted and clang did not!
dd1f29b : Prepare constant expression infrastructure for the generation of richer diagnostics. No functionality change.
50058ec : Update Clang to emit the new form of llvm.cttz and llvm.ctlz intrinsics, setting the is_zero_undef flag appropriately to true as that matches the semantics of these GCC builtins.
4db8c44 : Fix/test decltype dtor calls with invalid base expression.
e3d250e : [analyzer] CStringChecker should not rely on the analyzer generating UndefOrUnknown value when it cannot reason about the expression.
9f32a92 : Reuse forAddr to create ignored AggValueSlots.
6d6a83c : [analyzer]Fixup r146336.
24d052c : [analyzer] Introduce IntSymExpr, where the integer is on the lhs.
6fcd932 : Check that arguments to a scanf call match the format specifier, and offer fixits when there is a mismatch.
e7edf30 : test/Sema/attr-availability.c: Add explicit -triple x86_64-apple-darwin9, for now.
16ed0e6 : [libclang] Add defensive checks to make sure we don't try to dereference a null pointer after getCursorDecl() is called. rdar://10298421.
a4288c4 : In ContentCache::replaceBuffer, add sanity check to make sure that we do not free a buffer and then continue using it. rdar://10359140.
9aab9c4 : Make sure that we infer __strong, etc. when we instantiate variables under ARC. Fixes <rdar://problem/10530209>.
ee19f43 : Add a fast path to the constant evaluator for integer literals. This speeds up compilation of some translation units of SPEC's 445.gobmk by ~4%, and does not seem to cause a measurable slowdown in other cases.
d575254 : Add a sanity check in SourceManager::getColumnNumber, make sure we don't try to access beyond the buffer.
006e42f : Add ability to supply additional message to availability macros, // rdar://10095131
d937c21 : Use the right CHECK prefix so that we actually do this checking. Miraculously, this hasn't broken
92be2a5 : When we manage to re-use an expression during tree transformation (= template instantiation), and that expression might produce a temporary, invoke MaybeBindToTemporary. Otherwise, we forget to destroy objects, release objects, etc. Fixes <rdar://problem/10531073>.
001f628 : Driver: Handle -f{no-}honor-infinities, -f{no-}honor-nans, and -ffinite-math-only. - No test case yet, I don't know how to construct a situation where this matters.
2c3c767 : Fix up doxyments (\arg vs \p).
40563cd : Make array new on a pointer to data member type work correctly. PR11523.
9eed49c : Mechanically convert static_assert_fold to static_assert, now we implement the C++11 ICE rules.
f48fdb0 : C++11 constant expressions: Don't use CheckICE in C++11; instead, determine whether an expression is a (core) constant expression as a side-effect of evaluation. This takes us from accepting far too few expressions as ICEs to accepting slightly too many -- fixes for the remaining cases are coming next.
0373fcc : Add clang_getDiagnosticSetFromTU() to libclang. Fixes <rdar://problem/10553081>.
52a9b5a : Sort exports list.
2def773 : Add notes for suppressing and (if it's a zero-arg function returning bool) fixing the function-to-bool conversion warning.
6dce88d : objc-arc: diagnose synthesis of a 'weak unavailable' property. // rdar://10535245
44d95b5 : Provide a separate warning for weak vtables in explicit template instantiations. There's no (current) way to fix such templates to emit strong symbols/vtables, but perhaps users want to know about the cost being incurred anyway.
efda0e8 : When performing subframework header lookup, don't search for ".framework/" in the path name, because it could be ".framework\" on Windows. This whole function needs to be rewritten with PathV2.
99a922b : Use llvm::sys::fs::equivalent rather than comparing inodes, because comparing inodes doesn't actually work on Windows.
6308218 : Remove unnecessary braces from my previous commit.
f4f0c60 : Make printf warnings refer to wint_t and wchar_t by name in addition to underlying type.
b8ec3e3 : Move definition of ConversionSpecifier::toString() to FormatString.cpp
117348c : fix format specifier fixit for printf("%ld", "foo");
4b45c11 : Fix a blatant typo or cut/paste-o reported by users of this header.
4ec4089 : Teach isConstantInitializer that numeric literals are constants, rather than having it evaluate them. No change in functionality, but a speed up of about 5% on some translation units in SPEC 445.gobmk.
d4e6e7e : Fix the --hash-style option when the target is MIPS as it is incompatible with the MIPS ABI.
8a0f155 : Document the updated behaviour of __builtin_constant_p introduced in r146236.
432a455 : [analyzer] Fix inconsistency on when SValBuilder assumes that 2 types are equivalent.
4278683 : In ExprEvaluatorBase::VisitOpaqueValueExpr() add a sanity check to avoid infinite recursion due to bad OpaqueValueExpr.
e052d46 : Replace the implementation of __builtin_constant_p (which was based on the GCC documentation) with one based on what GCC's __builtin_constant_p is actually intended to do (discovered by asking a friendly GCC developer).
6a1db48 : Implement the notion of umbrella directories, which implicity cover all of the headers below that particular directory. Use umbrella directories as a clean way to deal with (1) directories/frameworks that don't have an umbrella header, but don't want to enumerate all of their headers, and (2) PrivateHeaders, which we never want to enumerate and want to keep separate from the main umbrella header.
71088d1 : Move ChainedIncludesSource into the Frontend library. This never really belonged in the Serialization library, it's setting up a compilation, not just deserializing.
8bd25b4 : Clean up the comments for this file now that its contents are totally different from what the comments indicated. Also drop a no longer used include that also violates the layering between Serialization and Frontend.
cb381ea : Move a free function from the Frontend library into the Lex library as part of HeaderSearch. This function just normalizes filenames for use inside of a synthetic include directive, but it is used in both the Frontend and Serialization libraries so it needs a common home.
5a477db : deprecated enum should not warn when used initializing another deprecated enumerator. // rdar://10535640
c699400 : Save category name loc in ObjCCategoryImplDecl, patch by Jason Haslam!
4451746 : [libclang] Make sure we don't try to handle a CXCursor_NoDeclFound passed to clang_findReferencesInFile.
4897787 : [arcmt] Un-XFAIL a test.
66aff4a : Teach the Makefile build about the new diagnostic file from r146207. Amazingly this is all that's required.
9b7568d : Use default visibility in the the symbols declared in unwind.h. This matches the behavior of gcc's unwind.h.
a2398d7 : Separate the serialization library's diagnostics from the frontend's diagnostics. Conflating them was highly confusing and makes it harder to establish a firm layering separation between these two libraries.
6d402dc : Misc Minix-specific changes to clang:
cc1f918 : Don't get the exception obj from the slot more than once.
5fc7def : [analyzer] If memory region is tainted mark data as tainted. + random comments
1e4f68c : Fix an edge case in IRGen for conditionals. PR11509.
39993dd : add tree test for suse on ppc64 (r146142)
1fa3c06 : This patch extends thread safety analysis with support for the scoped_lockable attribute.
2cad9e3 : Added missing testcase from r145849. Thanks to Dave Blaikie for catching this.
77d029f : Implement umbrella directories for modules, which are similar to umbrella headers in the sense that all of the headers within that directory (and eventually its subdirectories) are considered to be part of the module with that umbrella directory. However, unlike umbrella headers, which are expected to include all of the headers within their subdirectories, Clang will automatically include all of the headers it finds in the named subdirectory.
d5c3fa2 : More refactoring of objective-C rewriter.
489ad43 : Tweak the syntax of umbrella headers, so that "umbrella" is treated as a modifier for a header declarartion, e.g.,
10694ce : Within the module representation, generalize the notion of an umbrella header to also support umbrella directories. The umbrella directory for an umbrella header is the directory in which the umbrella header resides.
5e3f922 : Keep track of import dependencies between submodules within the module that's currently being built. This is important for supporting transitive dependencies ("export *" in the module map) completely.
53a75c0 : Decltype in non-pseudo (& non-dependent) dtor calls.
52b1ed3 : Convert paths to native format before constructing a directory_iterator for them.
e3ca33a : Only do typo correction for implicit function decls when they are treated as errors.
90ec96f : Fix: allow @protocol forward declarations inside @implementation-s.
f4e8a12 : Unbreak MSVC build.
e1fca50 : Remove unused parameter from the LateParsedTemplatedFunction constructor.
dc30967 : Add an experimental MallocSizeofChecker, which reports inconsistencies between the casted type of the return value of a malloc/calloc/realloc call and the operand of any sizeof expressions contained within its argument(s).
2e55df4 : Allow clang to find gcc libs on suse ppc64
d85c1e9 : Add a minimal unwind.h that knows how to forward to the system one in systems that have it in /usr/include (only OS X Lion so far).
b577757 : Use the real end of the decltype expression.
e368a64 : [libclang] When doing clang_findReferencesInFile, make sure we don't crash if we come up against a null Decl.
4ce83eb : Minor cleanup. Avoid redundant getTriple() calls.
bb7f542 : [libclang] Remove IndexingContext's getScopedContext(), it's not useful now that client containers can be set via function calls.
8cd0d25 : Driver/Linux: Fix the ASAN library path to match current compiler-rt integration.
c24767c : Driver: Add a --rtlib={compiler-rt,libgcc} argument which I plan to use to allow dual support for compiler-rt on Linux, during bringup.
23af6d5 : Implement inference for the "Private" submodule corresponding to private headers in a framework.
4813442c : Make sure we pick up when loading a file.
b1febb6 : [libclang] Indexing API: provide both the semantic and the lexical container.
b526a87 : [libclang] Fix indexing of C++ bases in a C++ class.
838d3c2 : [libclang] Introduce CXIdxEntityLanguage that indicates the language of an indexed entity.
b39c5b4 : [analyzer] Cleanup: use the variable.
7df67e6 : runtime/Linux: Include the profile and ASAN libs on x86.
b78229c : [analyzer] More www; document ProgramState->dump().
22d4fb9 : [analyzer] Update the checker writer manual with explanation of SVals and the link to checker callback documentation.
84fa05e : Remove unused-but-set variable.
a792aff : Make printf warnings refer to intmax_t et al. by name in addition to underlying type.
29f2787 : Make changes to SDiagsWriter to make it work in combination with the ARC migrator:
68478b0 : [libclang] Index C++ namespaces.
1c636df : Fix multilib library paths on ppc64 Linux. Patch by Michael Kostylev. PR11472.
078f859 : www: Update getting started to encourage people to check out compielr-rt.
2e23fd5 : Initialize these values, fixing the build in cases where stack realignment actually occurs.
587986e : Implement basic support for private headers in frameworks. In essence, when we load a module map ( from a directory, also load a private module map ( for that directory, if present. That private module map can inject a new submodule that captures private headers.
13eee19 : Tweak serialized diagnostics to support errors with no categories. Fixes <rdar://problem/10538300>.
26e80cd : Make sure we correctly zero-initialize unions containing a pointer to data member as the first field. PR11487.
dcf06fa : [analyzer] Propagate taint through MemRegions. SVal can be not only a symbol, but a MemRegion. Add support for such cases.
f64114b : If we can't write the temporary module map file when compiling a module, at least have the decency to complain about it.
aa9c350 : When folding the size of a global scope VLA to a constant, require the array bound to not have side effects(!). Add constant-folding support for expressions of void type, to ensure that we can still fold ((void)0, 1) as an array bound.
b76a97e : objc: issue deprecated/unavailable diagnostic when methods with these attributes are sent to receivers of 'id' type too. // rdar://10459930
0e35b4e : DeadStoresChecker: when whitelisting dead initializations with constants, look for a foldable constant rather than an IR-level constant. This is still far too liberal, but is a step in the right direction.
a91efb1 : [analyzer] Add comments related to symbol_iterator
1d1d515 : [analyzer] Refactor: Move symbol_iterator from SVal to SymExpr, use it for finding dependent symbols for taint.
aace9ef : [analyzer] Propagate taint through NonLoc to NonLoc casts.
e5ee70d : [analyzer] Remove an unnecessary check.
e912029 : Add a FIXME to provide a sensible error message here
d62ca37 : Move vector bitcast handling in constant expressions from the expression evaluator into constant initializer handling / IRGen. The practical consequence of this is that the bitcast now lives in the constant's definition, rather than in its uses.
1e821e9 : Use absolute paths for temporary module map files
84b7964 : [libclang] API enhancements by Joe Groff!
e487f42 : Rename Objective-C-only tests to .m
e6fb987 : Remove misleading error message
ac252a3 : When inferring a module map for a framework, infer subframework modules for each of its subframeworks.
b80a386 : Remove unused member to appease valgrind.
7b5f101 : [asan] Mac: do not link dynamic libs with the asan-rt, use -undefined dynamic_lookup for dynamic libs. Style fixes. Patch by
ef85b56 : Allow inferred submodules for any (sub)module that has an umbrella header
0983392 : When suggesting a module import for a #include or #import, suggest the most specific (sub)module based on the actual file we find, rather than always importing the top-level module. This means that #include'ing <Foo/Blah.h> should give us the submodule Foo.Blah.
d620a84 : Implement modules support for subframeworks (aka embedded frameworks). A submodule can now be labeled as a "framework", and header search will look into the appropriate Headers/PrivateHeaders subdirectories for named headers.
8075ce6 : When building the main file to parse given a module map, don't skip explicit submodules or umbrella headers from submodules. Instead, build the entire module at once, and let the name-hiding mechanisms hide the contents of explicit submodules at load time.
dd023bc : Headers: wmmintrin.h only needs xmmintrin.h. - Fixes <rdar://problem/10261246> clang -maes option is not sufficient to include <wmmintrin.h>
9f74f4f : Minor tweak to prepare for submodules with umbrella headers. No actual functionality change yet.
82e11cd : Install cpuid.h when building with cmake too.
122de3e : Suggest typo corrections for implicit function declarations.
d64251f : Extend warnings for missing '@end'. Fixes PR2709.
26b45d8 : Switch a cast to a dyn_cast and check the pointer before using. Fixes a crash in the following code:
55e983c : Fix test for unrelated changes.
4e785c9 : Stack realignment is a tristate. Add -mno-stackrealign to turn off all stack realignment, even with locals with alignment exceeding the ABI guarantee.
68805fe : Minor comment update.
b92e5d0 : Fix an extremely stupid bug causing terrible miscompilations of &= on pseudo-objects.
e209e50 : Implement inferred submodules support, which (when requested) implicitly generates submodules corresponding to the headers that fall within a module.
19efa3e : Make sure we perform lvalue-to-rvalue conversions for enum initializers. PR11484.
ec23678 : objc: put out more coherent warning when method definition attributes don't match its declaration. // rdar://10529259.
e9d11db : Add -mstack-alignment=X and fix -mstackrealign handling now that the backend options are gone.
02f8396 : More refactoring of objc rewriter.
1e12368 : Parse inferred submodules in module maps, track their contents in Module, and (de-)serialize this information. Semantics of inferred submodules to follow.
bd7d828 : Make EmitAggregateCopy take an alignment argument. Make EmitFinalDestCopy pass in the correct alignment when known.
da5f2d2 : [libclang] When indexing a field in a C++ class, return an entity of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503.
02f34c5 : [analyzer] Rely on LLVM Dominators in Clang dominator computation.
eca4e6e : [analyzer] Mark ConstraintManager::canReasonAbout as protected.
084842d : [analyzer] Simplify the condition.
4473755 : [analyzer] Simplify the expected-warning statement.
e14ca9f : Add a warning for implicit conversion from function literals (and static methods) to bool. E.g.
0dd7a25 : Make isWeakDecl available as a method on ValueDecl.
dd8079c : More objc rewriter refactoring.
bea728b : [analyzer] Add a missing taint tester warning.
5344baa : [analyzer] Unify SymbolVal and SymExprVal under a single SymbolVal class.
76462f0 : [analyzer] Remove all uses of ConstraintManager::canResonAbout() from ExprEngine.
3cdf584 : [analyzer] First step toward removing ConstraintManager::canReasonAbout() from the ExprEngine.
1a00eef : [analyzer] Minor improvements on RangeConstraint pretty-printing.
f62ceec : [analyzer] Change RetainCountChecker to use symbol dump method instead of relying on SymbolID.
d016785 : [analyzer] Add ability to do a simple ProgramState dump() without requiring CFG.
a50b7ab : [analyzer] Add a debug checker to test for tainted data.
5845717 : Some early refactoring of objective-c rewriter.
8179aa7 : [asan] don't require libstdc++ for asan on linux. Mac fix will go separately
c9577f3 : we got badgered into supporting multi-alternative constraints.
209977c : Inferred framework modules automatically export anything they import (i.e., 'export *'), to better match the semantics of headers.
f4ac17e : Fix printing of wildcard exports.
0adaa88 : Implement support for wildcard exports in modules, allowing a module to re-export anything that it imports. This opt-in feature makes a module behave more like a header, because it can be used to re-export the transitive closure of a (sub)module's dependencies.
4bc8738d : Actually add a useful bit to the comment pre-FIXME
5598868 : When writing a module file, keep track of the set of (sub)modules that it imports, establishing dependencies at the (sub)module granularity. This is not a user-visible change (yet).
5460ff3 : include/clang*/Makefile: Tweak installation to work with CLANG_SRCDIR.
42d6d0c : Support decltype in nested-name-specifiers.
649657e : Move block return type inference diagnostic to a common place where Function or array lvalue conversions happens.
14795c8 : Fix mangling substitutions for address-space-qualified class types. Patch from Dmitri Rubinstein!
5e9392b : Implement support for the __is_final type trait, to determine whether a class is marked 'final', from Alberto Ganesh Barbati! Fixes PR11462.
0586520 : If block literal return type is not specified, return type of the block is inferred from return types. All the return statements have to agree about the type. // rdar://10466373
4d604d6 : In Microsoft mode, don't perform typo correction in a template member function dependent context because it interferes with the "lookup into dependent bases of class templates" feature.
1cdb70b : Implement overload resolution for reference-typed parameters supplied with initializer lists.
6da2c71 : Switch LValue so that it exposes alignment in CharUnits. (No functional change.)
8bc2782 : [PCH] Make sure that the SourceExpr of a OpaqueValueExpr is always initialized when deserialized, fixing random crashes in libclang.
d977e6b : [libclang] Fix infinite loop when doing visitation of an OpaqueValueExpr.
dcbb2fb : [libclang] Allow indexing/get-cursor/etc. for the exception variable in a C++ catch.
51f5120 : Add a utility to get a RValue for a given LValue for an aggregate; switch a few places over to it.
d7722d9 : Switch the Alignment argument on AggValueSlot over to CharUnits, per John's review comment.
c5e0f9b : Module files representing actual modules don't need to know the set of modules they import, since that information isn't actually used. Drop it from the AST file
f6137e4 : Implement support for precompiled headers, preambles, and serialized "main" files that import modules. When loading any of these kinds of AST files, we make the modules that were imported visible into the translation unit that loaded the PCH file or preamble.
f394078 : Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon.
e664977 : Keep track of all of the import declarations that are parsed or implicitly generated in a translation unit. Modules will need this information to identify the actual imports that occurred.
93ebfa6 : When we treat an #include or #import as a module import, create an implicit ImportDecl in the translation unit to record the presence of the import.
15de72c : Introduce a module import declaration, so that we properly represent, e.g.,
687b5df : Revert r145697 and dependent patch r145702. It added a dependency from lib/Analysis to lib/Sema which is cyclical.
3aaeccc : Update for change to LLVM TargetMachine API in r145714.
8c366c4 : Add missing test header
6236a29 : Only perform checking of the predefines buffer when loading a precompiled header. Previously, we were trying to gather predefines buffers from all kinds of AST files (which doesn't make sense) and were performing some validation when AST files were loaded as main files.
377cc6e : Make r145697 actually work.
10ce932 : Make sure that name lookup in C checks whether a name is hidden.
5fdc1b9 : Make conversion specifier warning refer to typedef if possible.
07165b9 : When making a module visible, also make any of its exported modules visible, allowing one to create modules that import (and then re-export) other modules.
af13bfc : Implement (de-)serialization of the set of exported modules in a module map.
a015cab : Notify the AST writer (via ASTDeserializationListener) when a (sub)module is read from an AST file. This makes sure that the AST writer knows how to map all modules to their global IDs.
1329264 : Implement name hiding for macro definitions within modules, such that only the macro definitions from visible (sub)modules will actually be visible. This provides the same behavior for macros that r145640 provided for declarations.
bff22ac : Fix bitfield handling for record layout with #pragma pack. <rdar://problem/10494810> and PR9560.
ff98652 : runtime/Linux: Initial support for tying compiler-rt build into Clang build on Linux. - Currently just builds a full library, and only on x86, and only for the target arch.
c5f9a01 : Add support for AVX registers to clang inline asm. Add a small testcase and update the Sema testcase with a register that we won't hit for a while I hope.
93bfd79 : Clean up some oddly gratuitous vertical whitespace.
867a379 : Rename function.
90db260 : Implementing parsing and resolution of module export declarations within module maps, which will (eventually) be used to re-export a module from another module. There are still some pieces missing, however.
320fa4b : Fix test regression introduced by r145656. When seeing a string literal that isn't accepted by 'asm', skip to the enclosing ')'.
7f42228 : Diagnose use of wide string literal in 'asm' instead of crashing. Fixes <rdar://problem/10465079>.
4bb6686 : Fix wrong-code bug when a const automatic variable of struct type has both a mutable member and a constant initializer. We'd previously promoted such variables to global constants, resulting in nasal demons if the mutable member was modified.
b876993 : [asan] update docs to allow, but discourage, -O0
ee1ad99 : When we're passing a vector with an illegal type through memory on x86-64, use byval so we're sure the backend does the right thing. Fixes va_arg with illegal vectors and an obscure ABI mismatch with __m64 vectors.
94b54ea : Driver/Darwin: Add ASAN runtime library link support.
ecc2c09 : Implement name hiding for declarations deserialized from a non-visible module. When that module becomes visible, so do those declarations.
403bc3f : Fix -forwardingTargetForSelector: (GNUstep runtime) which was broken for the old dispatch mechanism when I introduced the new one.
61ea4fe : Add support for AMD's bulldozer.
5e35693 : Introduce the notion of name visibility into modules. For a given (sub)module, all of the names may be hidden, just the macro names may be exposed (for example, after the preprocessor has seen the import of the module but the parser has not), or all of the names may be exposed. Importing a module makes its names, and the names in any of its non-explicit submodules, visible to name lookup (transitively).
ee5a21f : [analyzer] Make KeychainAPI checker less aggressive. radar://10508828
a38c473 : When typo-correction an Objective-C superclass name, don't typo-correct to ourselves.
50118da : Add Microsoft mangling of constructors and destructors. Patch by Dmitry!
2aba711 : Change the Microsoft __interface keyword to be an alias for struct (not class) since members are public by default.
60a4481 : Fix typo.
b805c8f : [analyzer] Refactor checkers to use helper function for getting callee Decl and name.
a078ecf : When analyzing a C++ method (without a specific caller), assume 'this' is non-null. Fixes <rdar://problem/10508787>.
3ed7903 : Don't use a varargs convention for calls unprototyped functions where one of the arguments is an AVX vector.
996e6e5 : [libclang] Create a diagnostic set to pass at the end of indexing.
185dbd7 : Infer the submodule ID for a given declaration based on the location of that declaration, and encode the submodule ID in each declaration stored in an AST file.
f1d1ca5 : When sending a message to a receiver that has "unknown any" type, force the unknown any type to "id" so that the message send can be completed without requiring a case. Fixes <rdar://problem/10506646>.
f8d34ed : ParmVarDecls have no linkage. Previously we would report that parameters in type signatures have external linkage.
26ced12 : Switch the ID numbers used for submodule IDs in the AST reader over to a standard global/local scheme, so that submodule definitions will eventually be able to refer to submodules in other top-level modules. We'll need this functionality soonish.
968a0ee : Specially whitelist the selector 'addOperationWithBlock:' for the retain-cycle checking in -Warc-retain-cycles. This commonly is hit by users using NSOperationQueue. Fixes <rdar://problem/10465721>.
75df4ee : Further tweak -Wurneachable-code and templates by allowing the warning to run on explicit template specializations (which represent actual functions somebody wrote).
901dd66 : Fix MSVC class layout for empty classes. Patch by Dmitry Sokolov.
8374eda : Another GCC fix
58196dc : Revert most of r145372 for now. Lookahead beyond the ';' in a function declaration tickles a bug in the way we handle visibility pragmas.
863eb53 : Unbreak build with GCC. Clang is too lame to diagnose this particular ill-formedness
1a4761e : Promote ModuleMap::Module to a namespace-scope class in the Basic library, since modules cut across all of the libraries. Rename serialization::Module to serialization::ModuleFile to side-step the annoying naming conflict. Prune a bunch of ModuleMap.h includes that are no longer needed (most files only needed the Module type).
8d39c3d : [PCH] In ASTReader::FinishedDeserializing, after we do PassInterestingDeclsToConsumer we may end up having added more pending stuff to do, so go in a loop until everything is cleared out.
436bd50 : Test case for fix committed in r145441.
e5dd2ea : make asan work at -O0, clang part. Patch by
381c066 : Per an offline conversation with John McCall, have StmtPrinter actually print out the source expression for OpaqueValueExpr.
5dfee06 : Don't run -Wunreachable-code on template instantiations. Different instantiations may produce different unreachable code results, and it is very difficult for us to prove that ALL instantiations of a template have specific unreachable code. If we come up with a better solution, then we can revisit this, but this approach will at least greatly reduce the noise of this warning for code that makes use of templates.
e25633f : Don't collide loop variable names (to appease GCC)
4b7cac5 : Note that we'll need to handle __include_macros specially in the module loader
c85900f : Get the -march argument based on the target MIPS architecture or cpu and pass it to GNU assembler. In addition, change function getMipsArchFromCPU() so that it can be reused in ConstructJob().
90735f7 : Update CMake build.
8cfbe6a : Move the module auto-import logic after the logic that allows a callback client to suggest an alternative search path and after we complain when the included file can't be found. The former can't be tested in isolation, the latter doesn't actually matter (because we won't make a module suggestion if no header is available). However, the flow is better this way.
edee969 : Trivial indentation fix for the code I just committed
e3a8256 : Introduce an opt-in warning indicating when the compiler is treating an #include/#import as a module import.
392ed2b : Implement (de-)serialization of the description of a module and its submodules. This information will eventually be used for name hiding when dealing with submodules. For now, we only use it to ensure that the module "key" returned when loading a module will always be a module (rather than occasionally being a FileEntry).
d699ade : [analyzer] Add checker callback documentation.
c55edcf : Use raw_ostream::indent.
7f5fd8e : Switch the module map printer over to raw_ostream::write_escaped. Thanks, Benjamin!
6eb47da : Add preprocessor-only test for submodule imports
01e19be : Fix the instantiation of pseudo-object expressions. This is a really bad way to go about this, but I'm not sure there's a better choice without substantial changes to TreeTransform --- most notably, preserving implicit semantic nodes instead of discarding and rebuilding them.
a8cc6ce : When writing a module file, pass the module through to the AST writer. No functionality change.
b514c79 : Teach the preprocessor how to handle module import declarations that involve submodules (e.g., importing std.vector), rather than always importing the top-level module.
49009ec : When loading a module that involves submodules (e.g., std.vector), check whether the named submodules themselves are actually valid, and drill down to the named submodule (although we don't do anything with it yet). Perform typo correction on the submodule names when possible.
dc8dab6 : Add bigger method type encodings to protocol objects. <rdar://problem/10492418>
dff466c : when -faddress-sanitizer is present, add required flags to the linker command (linux-only)
3d3589d : Switch the module-loading interfaces and parser from a simple top-level module name to a module path (e.g., std.vector). We're still missing a number of pieces for this actually to do something.
d5a3b78 : Make sure that forward declarations are marked as such in the debug info for the structure type.
5c2a1f7 : [libclang] Do the ConcurrencyCheck at the beginning of clang_findReferencesInFile.
592d26e : Change processor names. Patch by Simon Atanasyan.
c8d7f58 : Revert r145244. It causes us to create broken ASTs with missing type information for some cast expressions.
381711c : Suppress -Warray-bounds for classes (not just structs) where the last field is a 1-length character array.
6649014 : Eliminate the -emit-module option, which emitted a module by parsing a source file (e.g., a header). Immediately steal this useful option name for building modules from a module map file.
36ef702 : Test isa<FunctionDecl> to exclude objective-C methods. This ensures the following cast will never fail.
213d1be : Escape strings when printing module maps, for silly operating systems that use \ as a separator.
18ee547 : Switch on-demand module building over to use module maps, always. When we infer the module map, we'll just print the module map to a temporary file and generate the module using that.
214323b : Relax RegionStore to allow loads from CodeTextRegions. Apparently you can actually write code that does this. This seems worthy of a checker, but the StoreManager should handle the memory abstraction without crashing. Fixes PR 11450.
cfbc5b5 : Merge branch 'yo-dawg-i-herd-u-like-arrays'
2cbe84d : Place "use @dynamic or provide a method implementation" warnings under a -W flag.
f9e357d : Teach the module import mechanism how to rebuild modules expressed via module map, rather than assuming that there is an umbrella header. This allows us to automatically build umbrella-less modules.
933e7a6 : Start refactoring to use module maps when rebuilding a module on-the-fly. No functionality change.
9870401 : Initialize NumWarningsInPreamble in ASTUnit's constructor, for safety.
804c3bf : Expose the printing of module maps as part of the ModuleMap::Module interface. No functionality change.
7a71524 : The cheap version of getName() is sufficient here.
3267e11 : Preserve constness.
85224ae : Silence GCC warnings, RefCountedBase is meant to be default-initialized here.
6e1fd33 : Add fix-it to remove 'typedef' from function template definitions. Such a token was probably meant to be 'typename', which we will have already suggested if it is appropriate.
2fea224 : Fix leaking of LexedMethod objects created for caching objc method definitions tokens for late parsing.
7383550 : [libclang] Fix leak in clang_indexSourceFile_Impl
573ea96 : [Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.
b8cb21c : [libclang] Make the test portable.
874d253 : PR10101: Recover better from a common copy-paste error: if a function declaration at namespace scope is followed by a semicolon and an open-brace (or in C++, a 'try', ':' or '='), then the error is probably a function definition with a spurious ';', rather than a mysterious '{'.
b49e728 : [libclang] Make clang_findReferencesInFile also work on macros (find all expansions/definition of a macro in a file).
375f7c4 : Add Clang release notes for OpenCL C support.
5cc989e : Fix URL typo.
9b2eb7b : objc: warn if NSObject attribute appears other than in a typedef. // rdar://10453342
952538d : Fix serialized diagnostics to handle FixIts that only remove text. Fixes <rdar://problem/10473903>.
ee77d3d : Fix a spelling error pointed out by Sebastien, and tidy up the formatting here a bit... mostly to my preferred bikeshed-blue.
f9e2e18 : Remove the last of my notes. I don't think these really need to be in the release notes despite their awesomeness. If we had a thorough discussion of the performance of Clang in 2.9 vs. 3.0, the first would be more relevant, but we don't. The serialization stuff hopefully isn't terribly visible to end users.
45901b3 : Last major chunk of features. This covers a couple of language extensions and one infrastructure feature addition that has a direct impact on other projects which use Clang.
52e375e : And sink the GNU runtime bit into this section as a stub.
4d58212 : Flesh out the Objective-C section a bit. This may well need some love from the Objective-C experts, but the basic stuff is there now.
a9e269e : The _setjmp builtin library function should have the "returns twice" attribute. This prevents the stack slot allocator from coming along and using a stack which it thinks is available but isn't. <rdar://problem/10492556>
a74ec5c : Add a couple more GCC versions to C++ search paths for MinGW. Patch by Ruben Van Boxem.
a5c502c : CFI is mentioned on the LLVM releases as the clang bits are relatively small.
7972c88 : A couple driver fixes for PPC Linux. Patches by Michael Kostylev. PR11444/PR11445.
0c2198a : Update release notes with 2 features now supported in -fms-extensions mode. I think that's enough for my release notes.
4793138 : Release notes: add link to ISO C++ 2011 standard from the C++11 section.
551988f : Update release notes with information on MSVC mode.
ce27567 : Correct the code generation for function arguments of vec3 types on x86_64 when they are greater than 128 bits. This was incorrectly coercing things like long3 into a double2. Add test case.
ad5459a : Release notes: fix up formatting of diagnostic example.
a4d36a6 : When attempting to load a module that is not in the module cache, return the module itself (in the module map) rather than returning the umbrella header used to build the module. While doing this, make sure that we're inferring modules for frameworks to build that module.
185e930 : Extract a Windows section in the release notes. Hopefully this is more accurate than my original notes were based on IRC conversations. Windows folks, please edit as needed to make this closer to the truth if I've still got it wrong.
9c35304 : Create a stub for Nick to hack on, nuking another of my rough notes.
2f37685 : Pull the uninitialized values rewrite into the diagnostics section, and add a bit to that section about the many bug-finding warnings that Clang has grown since 2.9 as this is one of the more visible new additions.
3030b74 : Remove some features that don't really seem major enough or widely used enough to merit space in the release notes.
62d730f : Add a release notes section for C1X language features supported by clang 3.0.
9a16712 : Pull out the libclang section and try to clean it up some. This one feels a bit spartan currently.
ed8bef4 : [libclang] Protect against the declaration's SourceRange being invalid before passing to RangeCompare.
21480b7 : We now have text (or comment stubs for others) for these...
58f2cbc : Expand and clean up the diagnostics section.
7a31d7b : fix html markup
f3dee20 : Fix some possible gcc-4.2 may be used uninitialized warnings.
a0df07d : Create a more organized (but still commented out as not very useful) stub for OpenCL work. I can't really dig enough out of the commit log messages other than to tell that a lot of work went into this in the 2.9 -> 3.0 timeframe. I'll let the folks touching it decide if it merits a spot in the release notes and provide the appropriate details if so.
4e96944 : Add missing equals.
59abf06 : Create a 3.1 notes section in a comment so that the next batch are a bit easier. Move the CUDA bits and the C1X/C++11 atomics stuff there. We haven't exposed a __has_feature for the atomic builtins, so none of this is available yet...
bfa5525 : Peter says this shouldn't make it to the relnotes, it's too immature at this stage.
b882a1d : Flesh out and pretty-up the driver section. This could probably use some more love w.r.t. platforms other than Linux?
bc02a04 : Add a brief mention of the warning flag name updates associated with the C++11 standard.
f16d725 : Tidy up, wrap lines, and use <code> tags more consistently.
a5a6d1d : Cleanup the Release Notes for the static analyzer:
ce98c9b : First version of AddressSanitizer docs; documentation for __has_feature(address_sanitizer)
3881c69 : [analyzer] Add more simple taint tests.
426a16d : [analyzer] Minor cleanup of SValBuilder: Comments + code reuse.
6d387ae : Fix comment.
f485388 : When synthesizing an implicitly-defined copy or move constructor, or when computing the exception specification of a copy or move constructor, ignore non-static data member initializers. Fixes PR11418 / <rdar://problem/10478642>.
855746b : Add a release notes section on new C++11 language features, and flesh it out.
70f30c5 : Remove code made redundant by my previous patch.
39b4fc8 : pinpoint name/location of deprecated/unavailable enumerator whose enum has been made deprecated/unavailable in the warning. // rdar://10201690
c6f2af3 : Add a proper blurb for the PPCallbacks features.
a621065 : This doesn't really seem worthy of a relnote... Shout if you disagree!
7d727b7 : Fill in a section for the instantiation -> expansion rename. Not great, but better.
c4dbffa : Add proper text for the Diagnostic API changes.
d3c147f : objc: turn warning for property type mismatch in primary and its continuation class into error. // rdar://10142679
a1e3e8c : Add a release note for Objective-C related result types
7c304c4 : Note that code completion now works better for in-class member functions
a976641 : When checking a call to a builtin atomic operation, be sure to consider the _<width> variants as well, which we'll see if we're performing the type checking in a template instantiation where the call expression itself was originally not type-dependent. Fixes PR11411.
7a1f148 : And that completes my sweep through commits for things that might be worth noting in the release notes. These remain raw notes. I'll be re-writing them into nice prose first thing tomorrow, with help from others. A couple of notes for any reading the commits:
7717ce4 : Finished with August's commits, and actually added a clearly missing section on libclang.
5d46a50 : July's notes..
56f5d36 : Removed useless ImplicitCast nodes in explicit cstyle and static casts
b6a1d9d : July was a bit quiet to... except for ARC. ;]
bba72a8 : June was a quiet month... I can't imagine why... ;]
1af4022 : Notes through another month... a *really* busy month, but mostly bug fixing.
a3950cc : Add the first month's commit notes.
3e627ae : Install c-index-test and clang-c/Index.h as internal files. rdar://10217046
c00c0c3 : Begin sketching out the Clang release notes. The plan is to link to these more detailed notes from the primary LLVM release notes for Clang. This gives us a nice place to flesh out in plenty of detail the major changes that have happened in Clang land since 2.9.
6079676 : test/lit.cfg: Enhance getRegisteredTargets() to retrieve +Asserts.
6f3ce97 : [libclang] Indexing API: If the client requested to get a CXTranslationUnit after indexing, honor all the TU options.
991bf49 : [libclang] Indexing API: Capture diagnostics during indexing.
5c00fc3 : Another silly workaround for MSVC.
6da4274 : [arcmt] Integrate GC __weak into property attributes even when we don't have the implementation.
567f02f : Sigh, another workaround for MSVC.
6d7d16d : [arcmt] Don't add __weak if there is already a GC __weak and make sure to clear __weak from a readonly property.
3fb91f6 : Work around a gcc4.2 bug.
bceb755 : In Sema::MaybeBindToTemporary, create a CXXBindTemporaryExpr for an array of objects with non-trivial destructors. PR11365.
8681160 : When destroying temporaries, instead of a custom cleanup use the generic pushDestroy function.
53ac3d8 : Make our handling of MMX x SSE closer to what gcc does:
2871020 : Add inreg attributes to reference arguments.
13dc8f9 : Reference initialization with initializer lists.
1376ba9 : Error on non x86 architectures.
7f16d70 : Fix file name in comments.
19b6e7b : Bookkeeping wrt downstreaming changes to fix miscompiles.
a10678d : Use libcxx makefile's do-installhdrs target. <rdar://problem/10397739>
b816276 : Add the minimum implementation of cpuid.h. This works on "modern" intel cpus and on clang, which seams to handled "=b" correctly even when ebx is the PIC register.
f7a73a0 : Test commit
50b2af4 : Add build rules for MIPS.
4c51548 : Fixed lexical declaration context when instantiating a friend / out-of-line class template member.
4c7ce36 : Set __OPTIMIZE_SIZE__ on -Os and -Oz. This matches gcc's behaviour on both OS X and linux.
2db4f4e : Apply changes to migrate to clang upstream r145117. (Nov 25th 2011)
c8ff915 : In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside a friend function definition at class scope.
0ff6495 : Fix typo (becuase->because), PR11427
a5aa96d : Wordsmith the -Warray-bounds diagnostic text a bit
6efd4c5 : Add feature to diagnostics that will provide more information on function pointer mismatch. Cases covered are: initialization, assignment, and function arguments. Additional text will give the extra information about the nature of the mismatch: different classes for member functions, wrong number of parameters, different parameter type, different return type, and function qualifier mismatch.
bcf8df8 : [PCH] Check for isTopLevelDeclInObjCContainer when picking abbreviations.
c14a03d : [libclang] Fix operations (token annotation, getting cursor, etc.) with a file region inside an objc container that "contains" other file-level declarations.
e93433d : Remove an assertion that is not valid if we cancel parsing.
37f4057 : [libclang] Indexing API: Fix issues, mostly C++ related.
a6d81f9 : AAPCS compliance - 32-bit wchar_t should be unsigned for both aapcs and aapcs-linux.
1a3246a : Don't check alignment, it's irrelevant to this test.
7401cf5 : Use static storage duration for file-scope compound literals, even when they appear in non-constant initializers in C++.
6300f5b : Remove assert from hot code path and add a clarifying comment.
1e85565 : Provide better source info for template specializations with non-type arguments.
3f6f4e6 : Lexer: Don't throw away the hard work SSE did to find a slash.
2957e6f : [libclang] Indexing API: Support C++ symbols.
b619688 : implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer
3fa45bb : Un-XFAIL this test on Darwin, it reportedly passes now.
bdb1018 : Add stub section to the user manual for C++ language features, and document -ftemplate-depth= and -fconstexpr-depth= in it.
c18c423 : Add driver arguments -ftemplate-depth=N and -fconstexpr-depth=N, with the same semantics and defaults as the corresponding g++ arguments. The historical g++ argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions no longer document that option.
1052c1d : Change the linker emulation name for FreeBSD/PPC32.
c3c8f22 : CodeGen: Simplify code.
1b91ab4 : Delete the depfile if we could not open a header file. We cannot generate any reasonable depfile if a header is missing.
5d4d980 : Teach the driver about failure result files, which are compilation output files that are valid regardless of whether the compilation succeeded or failed (but not if we crash). Add depfiles to the failure result file list.
82c3460 : Create the clang++ symlink as a POST_BUILD custom command on clang.
5c247db : CodeGen: allow __asm renaming on static local variables.
1c2e933 : Allow preprocessor callbacks to recover from a "file not found" error, from Jason Haslam!