1. fdc7990 When injecting shared_ptr<>s dependencies for an object, first inject (pointers to) all dependencies and then construct all the shared_ptr<>s at the end, before calling the constructor/provider. This helps the optimizer optimize out increments/decrements/checks of the shared_ptr<> reference count (this is useful at least for GCC 6; e.g. Clang 4 already optimized those out without this re-organization of the code). by Marco Poletti · 7 years ago
  2. 35805fa Disable MSVC's C4714 warning ("function marked as __forceinline not inlined"). by Marco Poletti · 7 years ago
  3. 98a444c Ignore MSVC's warning C4141 when building Fruit (marking a function/method with both 'inline' and '__forceinline' causes this warning in MSVC). by Marco Poletti · 7 years ago
  4. dfcdced If __attribute__((always_inline)) is not supported by the compiler, use MSVC's __forceinline if that's available and fallback to nothing if neither is supported. by Marco Poletti · 7 years ago
  5. 1e44d55 Fix a performance bug that was preventing binding compression from working. E.g. with the 100 classes benchmark under Clang 4.0, this fix reduces the per-request injection time by 27%. by Marco Poletti · 7 years ago
  6. 9f2423a Don't run Boost.DI benchs with Clang 3.6, it doesn't work. by Marco Poletti · 7 years ago
  7. c95dad6 Add some debug prints (executed only with FRUIT_EXTRA_DEBUG) to help debug compressed bindings. by Marco Poletti · 7 years ago
  8. d1b46ee Extract the lambdas used to create injected objects from create*BindingDataFor* methods, into static methods. For some reason, Clang (4.0 at least) would otherwise generate an __invoke method wrapping each lambda for no apparent reason. This change reduces (slightly) the executable size. by Marco Poletti · 7 years ago
  9. 9198ba0 Force inlining of some functions/methods that will only be called once, and use std::forward to forward arguments. This reduces the code size and helps the optimizer. The lack of inlining was causing an 8x slowdown of the per-request injection time with Clang and a 2.5x increase in the executable size. by Marco Poletti · 7 years ago
  10. 55c3ce6 Switch from unittest.skipUnless to pytest.mark.skipif. The former doesn't work anymore now that Fruit tests are using pytest. by Marco Poletti · 7 years ago
  11. 03352bb Disable the pytest cache when running tests under bazel, it causes errors (read-only file system) when running tests with sandboxing enabled. by Marco Poletti · 7 years ago
  12. 63e309e When running CI tests, run bazel test with the --test_output=errors flag, so that it reports errors in the log. by Marco Poletti · 7 years ago
  13. aba33ad Add support for list-valued benchmark dimensions in the format_bench_results.py script. by Marco Poletti · 7 years ago
  14. b5d8769 Change fruit_wiki_benchs_fruit.yml to run some benchmarks under more compilers. by Marco Poletti · 7 years ago
  15. 2abc4db Fix a bug in the run_benchmarks.py script that caused some dimensions not to be exported when running a fruit_executable_size benchmark. by Marco Poletti · 7 years ago
  16. 4c5d6d3 Change Travis CI tests to use Ubuntu 17.04 instead of 16.04 and Clang 4.0 instead of 3.9. by Marco Poletti · 7 years ago
  17. 0e7cb0e Add a Dockerfile for Ubuntu 17.04, for CI testing in Travis CI. by Marco Poletti · 7 years ago
  18. ecb092b Update the Dockerfiles used for CI testing on Linux, adding Clang 4.0 and python3-setuptools. by Marco Poletti · 7 years ago
  19. 6ee6dcb No longer test using Ubuntu 15.10, 16.04 has been out for a while now. by Marco Poletti · 7 years ago
  20. e826123 Various updates to the benchmarking code: by Marco Poletti · 7 years ago
  21. 8aa3a2c Improve the Fruit test names for complex parameterized tests. by Marco Poletti · 7 years ago
  22. 4fdf228 Address a Clang 4.0 warning (so that Fruit compiles without warnings with Clang 4.0). by Marco Poletti · 7 years ago
  23. cb5c60f Migrate Fruit's end-to-end tests from nose2 to pytest, improving parallelization. by Marco Poletti · 7 years ago
  24. be74572 Go ahead when we fail to clean up temporary files in tests. This should fix the flakiness of the CI tests on Windows. by Marco Poletti · 7 years ago
  25. 4661e5e Add some more Required<>-related tests. by Marco Poletti · 7 years ago
  26. 552790f Report an error if Required<...> is passed as a non-first argument to Component/NormalizedComponent. This is not supported, and it was hard to figure out the issue before (in some cases the Required<> type was just ignored). Also add relevant tests. by Marco Poletti · 7 years ago
  27. b1e00d9 Add a note in fruit::Injector's conversion operator documentation explaining that it can't be used for annotated injection. Fixes issue #23. by Marco Poletti · 7 years ago
  28. d5191c6 Increase the DH_COMPAT level used for building deb packages to 5 (from 4) and move it to a debian.compat file. by Marco Poletti · 7 years ago
  29. a6ec192 Specify CMAKE_BUILD_TYPE explicitly when building binary packages for Fruit. by Marco Poletti · 7 years ago
  30. c7cfd02 Allow building Fruit with -DCMAKE_BUILD_TYPE={RelWithDebInfo,MinSizeRel}. by poletti-marco · 7 years ago
  31. 3df0bae Fix 'make install', a path was incorrect. Also start testing 'make install' in Travis CI, to catch this kind of issue sooner the next time. by Marco Poletti · 7 years ago
  32. 4be6b00 Merge pull request #43 from arj/master by poletti-marco · 7 years ago
  33. f5c96b3 Fix main binary include directory. by Robert Jakob · 7 years ago
  34. 321d2d4 Fix the AppVeyor build matrix: an entry set neither BOOST_DIR nor FRUIT_USES_BOOST=False, causing a build failure. by Marco Poletti · 7 years ago
  35. 5057598 Clean up the AppVeyor build matrix. Also, add tests with -DBUILD_SHARED_LIBS=False. by Marco Poletti · 7 years ago
  36. dc9a191 Add support for building Fruit as a dynamic library (dll) with MSVC. by Marco Poletti · 7 years ago
  37. 2481eed Use the MSVC 2015 image for AppVeyor tests with MinGW, AppVeyor's MSVC 2017 system image doesn't have MinGW ATM. by Marco Poletti · 7 years ago
  38. 7168d34 Add more debug prints to the AppVeyor test script. by Marco Poletti · 7 years ago
  39. 91e9f72 Add more detail to the debug prints in postsubmit.bat. by Marco Poletti · 7 years ago
  40. 46a3d92 Add a CI badge for Windows. by Marco Poletti · 7 years ago
  41. 1451d77 Add a couple debugging prints to postsubmit.bat, to investigate build failures with MinGW on the MSVC 2017 AppVeyor image. by Marco Poletti · 7 years ago
  42. 56e84d4 Introduce a FRUIT_USES_BOOST CMake flag to allow building Fruit without Boost. by Marco Poletti · 7 years ago
  43. f8d1e29 Cleanup hashset/hashmap-related Fruit code. by Marco Poletti · 7 years ago
  44. 73940f0 Clean up the AppVeyor config/script now that it works for MinGW, and disable runs with MSVC 2017 for now since that system image doesn't have Boost. by Marco Poletti · 7 years ago
  45. 9a1a6c3 No longer specify explicitly the path to make/gcc/g++ to cmake, when testing in AppVeyor with MinGW. by Marco Poletti · 7 years ago
  46. 4b0c452 More changes to the AppVeyor config/script: by Marco Poletti · 7 years ago
  47. d56b6e6 More changes to the AppVeyor config/script: by Marco Poletti · 7 years ago
  48. f7c3434 postsubmit.bat: retire some no longer useful debug prints and introduce a few new ones. by Marco Poletti · 7 years ago
  49. 59b3a02 Some more changes to the AppVeyor config/script. by Marco Poletti · 7 years ago
  50. d1f189e Add even more debug prints to the AppVeyor scripts, switch from pip to pip3 and put the MinGW binary dir as the end of PATH instead of the beginning. by Marco Poletti · 7 years ago
  51. 4459535 Some changes to the AppVeyor config/script: by Marco Poletti · 7 years ago
  52. d6c59cd Don't expand variables that might contain parentheses in (...) blocks of the AppVeyor script. This confuses CMD.exe. by Marco Poletti · 7 years ago
  53. 1a41f1c Add even more debug prints to the AppVeyor script. Also, consider vcvarsall.bat's execution error non-fatal. by Marco Poletti · 7 years ago
  54. baa1889 Specify vcvarsall.bat's dir instead of the file directly in the AppVeyor config. by Marco Poletti · 7 years ago
  55. 8399370 Add MinGW's bin directory to PATH when testing Fruit with MinGW on AppVeyor. MinGW's GCC fails to start if MinGW is not in PATH. by Marco Poletti · 7 years ago
  56. 0f06c03 Quote variables in the AppVeyor script directly instead of the AppVeyor config, to avoid having quotes where there shouldn't be any (e.g. PATH). by Marco Poletti · 7 years ago
  57. bd26bb9 Fix escaping in the AppVeyor config file. by Marco Poletti · 7 years ago
  58. 70a5537 Set PATH to a fixed string in the AppVeyor script, to avoid undesired interference from directories in the default PATH. by Marco Poletti · 7 years ago
  59. db07dbf Fix a string comparison in the AppVeyor script, != is not an allowed operator in Windows batch files. by Marco Poletti · 7 years ago
  60. 6845cfd Various fixes to the AppVeyor config/script: by Marco Poletti · 7 years ago
  61. aeb58f2 Add some more debugging prints in the AppVeyor test script, to investigate an error when running CMake. by Marco Poletti · 7 years ago
  62. b22cb6d Execute postsubmit.bat via "cmd /c" instead of CALL in AppVeyor, to avoid terminating the parent script if postsubmit.bat fails. by Marco Poletti · 7 years ago
  63. 29550ee Set the VCVARSALL_SCRIPT variable to a non-existent script instead of an empty string, when testing Fruit on Windows/MinGW in AppVeyor. by Marco Poletti · 7 years ago
  64. c6b2e6e Mark constexpr methods as const, to silence a MSVC warning. by Marco Poletti · 7 years ago
  65. 0b31f7e Various improvements to the AppVeyor config/script: by Marco Poletti · 7 years ago
  66. 42a37e1 Try running postsubmit.bat with CALL instead of directly, to see if that works. by Marco Poletti · 7 years ago
  67. a5fcc71 Fix quoting in a setx command used when testing Fruit on Windows in AppVeyor. by Marco Poletti · 7 years ago
  68. 1c6b631 Merge branch 'master' of https://github.com/google/fruit by Marco Poletti · 7 years ago
  69. 8acf626 Change the PATH variable via setx instead of set when running CI tests on Windows. by Marco Poletti · 7 years ago
  70. f3cdac6 Test against Clang 4.0 instead of 3.9 on OS X, now that 4.0 is released. by Marco Poletti · 7 years ago
  71. ac9372d Add an appveyor.xml file for CI with AppVeyor (and a postsubmit.bat script). by Marco Poletti · 7 years ago
  72. 56492f7 Add some integer casts to prevent overflows on 64bit Windows. by Marco Poletti · 7 years ago
  73. 6412745 Fix another build error introduced by commit 905dc09. by Marco Poletti · 7 years ago
  74. 50e5afc Fix 2 build errors introduced by commit 905dc09. by Marco Poletti · 7 years ago
  75. 905dc09 Support building Fruit with MSVC. by Marco Poletti · 7 years ago
  76. 81c74e3 Revert a symlink change unadvertently added to the previous commit by Marco Poletti · 7 years ago
  77. dcc51a5 Fix quoting of variables in ifs in CMake files. by Marco Poletti · 7 years ago
  78. 7c74201 Support compiling Fruit (and running tests) under Windows, using MinGW's GCC. by Marco Poletti · 7 years ago
  79. bf7ec36 Reduce the uses of *x (with x a list) in python testing code. *x only works properly in recent python versions, it fails e.g. with the python3 shipped in Ubuntu 15.10. by Marco Poletti · 7 years ago
  80. 426859f Factor testing code specific to posix compilers in a PosixCompiler class. This is in preparation for MSVC support. by Marco Poletti · 7 years ago
  81. 9708748 Add a CONTRIBUTING.md file to provide useful information for Fruit contributors. by Marco Poletti · 7 years ago
  82. 3bff564 Update the Travis CI postsubmit scripts for OS X to use GCC/Clang from the homebrew core tap instead of homebrew/versions (they were moved). by Marco Poletti · 7 years ago
  83. ef78c1f Change OS X Travis CI tests to use Clang 3.7 instead of Clang 3.6 as lowest version. Clang 3.6 is no longer available. by Marco Poletti · 7 years ago
  84. bc5cdb5 Ignore Clang's constexpr-not-const warning, it's not a real issue and it was causing compile errors due to -Werror. by Marco Poletti · 7 years ago
  85. 8a8c76f Add an include to fix a compile error introduced by fa6a049 (that happened only in some compilation modes). by Marco Poletti · 7 years ago
  86. fa6a049 Don't call alignof(T) for abstract types. This is not supported in Visual Studio (and Fruit never needs this value for abstract types anyway). by Marco Poletti · 7 years ago
  87. 7562d52 Add some e2e tests for PartialComponent::install(). by Marco Poletti · 8 years ago
  88. f91cc9e Fix the test test_move_partial_component, it was failing when testing with Clang. by Marco Poletti · 8 years ago
  89. e0c4358 Add more e2e tests for Component/PartialComponent features. by Marco Poletti · 8 years ago
  90. 66918a4 Improve 'binding not found' errors for abstract classes and add a specific e2e test. by Marco Poletti · 8 years ago
  91. 56c39c6 No longer use travis_wait, since all presubmits now complete in <15 minutes. Removing this means that the log will appear in real time instead of being delayed to the end of the test execution. by Marco Poletti · 8 years ago
  92. 45d8022 Fix an escaping issue in some e2e tests that was causing test failures in OS X. by Marco Poletti · 8 years ago
  93. 63140f6 Report a more informative error message when an e2e test fails to compile a regex for an expected error. by Marco Poletti · 8 years ago
  94. 782eed3 (Attempt to) fix the executable path for Clang 3.9 on OS X, it's currently not found (when running tests in Travis CI). by Marco Poletti · 8 years ago
  95. bb54139 Disable Asan in GCC postsubmit tests on OS X. This also no longer works since mid-December due to a change in the Travis CI environment. by Marco Poletti · 8 years ago
  96. c3b083e Test against Clang 3.9 instead of Clang 3.8 in Travis CI. by Marco Poletti · 8 years ago
  97. e58a442 Disable Ubsan in OS X tests with GCC 6, it doesn't work anymore. Something must've changed in the Travis CI environment between 10 December and 22 December causing this combination to start failing (it's not due to a Fruit commit). by Marco Poletti · 8 years ago
  98. a5cb297 Use "true" instead of "/bin/true" as no-op command, so that it also works on OS X (where it's in /usr/bin). by Marco Poletti · 8 years ago
  99. 78a6729 Don't use PCHs in postsubmit tests with GCC 4.8. by Marco Poletti · 8 years ago
  100. 190c88a Refactor the postsubmit testing code to allow switching the use of PCHs on/off in each row of the build matrix. by Marco Poletti · 8 years ago