Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Pavel

  1. Yes this is an error and it has been already reported for 1.6 release. The workaround is not to use 'else' if this is end of a function like: ... if (i == 0) // this doesn't { return 1; } return 0; /* Buffer not available, return false */ } This error has been fixed and fix will be available in 1.7 release. Regards, Pavel
  2. Fixed. Fix will be available in 1.7 release. Regards, Pavel
  3. I tried to reproduce the problem using your code from the first post (though I had to reverse function order) but everything works fine here. String is being copied as expected. Regards, Pavel
  4. This bug has been fixed. Took a while to sort it out but now compiler fully supports static locals. Fix will be available in BoostC 1.7 release (or update). Regards, Pavel
  5. Actually manual may be not completly correct here. While there is no technical limit for the number of array dimensions in compiler COFF file format may have limit on it. Regards, Pavel
  6. This probably will never happen. The reason is that for PIC16 a contiguous array in several banks can't exist. There will be hardware mapped register in between and this will make code that delas with array indexing several times longer and complex. Regards, Pavel
  7. This array is from global scope and optimizing out variables from there is a bit trickier than from functions. This work is in our todo list. Regards, Pavel
  8. This is not an error. It is stated in BoostC help that an array must fit in register bank. Regards, Pavel
  9. For */% operation compiler uses special functions from libc library. These functions are declared in boostc.h that in turn is included into system.h Regards, Pavel
  10. Fixed. Fix will be available in 1.7 release (or update). Regards, Pavel
  11. This one has been fixed. Fix will be available in 1.7 release (or update). Regards, Pavel
  12. This is not a bug. You need to include system.h Without this header code that uses */% operations won't compile. Regards, Pavel
  13. Yes this error was already reported in this forum. A workaround is to write code like: char badReturn(int good, int evil) { if (good < evil) { return 666; } return 1; } Regards, Pavel
  14. Maybe this happened because I moved your topic from general to bug report forum and at the same time deleted same topic from bug report forum. So far forum worked ok for me. Regards, Pavel
  15. Yep seems to be a bug. Thanks for reporting. Regards, Pavel
  16. Thanks for the explanations. We'll try to add this feature into the next BoostC update. Regards, Pavel
  17. Tha latest SourceBoost 5.7 release reads the list of supported targets from map.txt file that is in the config directory. Now adding support for a new targed for BoostC toolsuit is a matter of adding a configuration file (.TDF) for such target and adding it to map.txt (of course target must be either 14 or 16 bit core). Regards, Pavel
  18. Oops this one was forgotten. Though it has a very simple workaround. Instead of: char bin_to_bcd_high (char bin) { if (bin > 199) return 2; else if (bin > 99) return 1; else return 0; #ifdef _BOOSTC return 0; // todo: boostc bug reported, remove when fixed #endif } use: char bin_to_bcd_high (char bin) { if (bin > 199) return 2; else if (bin > 99) return 1; return 0; } Regards, Pavel
  19. We need to investigate this issue. Currently BoostC expects a label as argument of the call instruction. What is located on address used in "call 3ffh"? How other compilers deal with such calibrating? Regards, Pavel
  20. The IDE does not expire. The assembler or picc-lite toolsuits do not expire either. So if you work with assembly under SourceBoost IDE you don't need to worry about ant trial periods or limitations. There just aren't any Wow this sounds very cool. Do you use C2C or BoostC? If you are willing to share this project we'll be happy to publish it on the comiler web site. Regards, Pavel
  21. That's because 16F84 doesn't have _LVP_OFF defined. You need to change the config word to match your target. Regards, Pavel PS: BoostC 1.5 is already an old release. Please upgrade to SourceBoost 5.7 that includes BoostC 1.6
  22. You probably are trying to call same function from both main and interrupt threads. Such code won't link and linker will report an error. Otherwise if such function is interrupted it's data can be changed and upon return to main thread the function will behave unpredictable. Another point is that using delay from inside interrupt suggests bad application architecture. Interrupts are supposed to be as small and fast as possible. Regards, Pavel
  23. We are happy to announce new SourceBoost 5.7 and BoostC 1.6 releases. This is the first BoostC release when compiler is getting mature. Several our beta users reported success using BoostC in big projects. All BoostC bugs reported by our users are fixed in this release. Thanks to everybody who sent us feedback about the compiler. We also fixed a few small problems in the ide and a bug in C2C++ compiler. We recommend for everybody to update your older SourceBoost IDE and BoostC released for this one. Regards, Pavel
  24. Thanks for all these suggestions. We won't be able to add this feature into the upcoming release (SourceBoost 5.7 & BoostC 1.6) and will try to roll it in into the next release or update. Regards, Pavel
  25. You get errors because __config is not an assembly instruction. Use pragma DATA to set configuration word. Regards, Pavel
  • Create New...