Thread: So, I'm trying out Google's C++ test library...

  1. #61
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    By controversial, I mean controversial. There has been a generalized debate around this feature, which is indicative of a controversial feature. There are proposals for its removal from the standard and some maintainers have rejected its inclusion (glibc rejection of slibc implementation), or criticized it, including the Austin Group. Users seem to also have given a lackluster welcome to it.

    I'm not sure what the status on the next draft. But likely there are proposals being prepared or already put forth for its obsolescence, in particular considering its dismaying adoption (it appears only Watcom has a near complete implementation).
    Last edited by Mario F.; 11-22-2016 at 03:32 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  2. #62
    Registered User
    Join Date
    May 2010
    Posts
    4,632
    Okay, I hope in the future that they also consider doing something about all the "optional" features. To me these "optional" features are fragmenting the language. Things like the the "safe" interface and VLA should either be required or removed from the standard, IMO.

    Jim

  3. #63
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by jimblumberg View Post
    To me these "optional" features are fragmenting the language. Things like the the "safe" interface and VLA should either be required or removed from the standard, IMO.
    No fragmentation is going to come about because of optional features. Compiler writers are smarter than you give them credit for. A compiler that doesn't support optional features, will likely not be terribly concerned about being to spec, anyway (think embedded and Microsoft).

  4. #64
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Actually, msvc has tons of awesome optional features. Like taking the address of rvalues, for example.

  5. #65
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Quote Originally Posted by MutantJohn View Post
    Actually, msvc has tons of awesome optional features. Like taking the address of rvalues, for example.
    That are nonstandard, will likely be obsolete in a few versions, and make maintaining your code a PITA. Microsoft is the same with its library functions and the Windows API. They remove or obsolete functions like it's going out of style. Glad I'm no longer working on a project that required me to figure out what value of _WIN32_WINNT was going to make it happy. Congrats, you've been caught hook, line, and sinker by M$'s attempt to lock you in.

  6. #66
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Oh, I was being 110% sarcastic. I think it's an actual standards violation to be able to the address of an rvalue. The compiler will complain about but only if you use the `/Za` flag or in future release of msvc, `/permissive` which is their `-pedantic` flag.

  7. #67
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Quote Originally Posted by MutantJohn View Post
    Oh, I was being 110% sarcastic. I think it's an actual standards violation to be able to the address of an rvalue. The compiler will complain about but only if you use the `/Za` flag or in future release of msvc, `/permissive` which is their `-pedantic` flag.
    Lol, good.

    Also, Lol @ M$ for deciding to use the phrase "/permissive-" for conformance, yet another dumb thing to make switching between MSVC and GCC more confusing (-fpermissive is entirely different).

  8. #68
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Now, we just need a way to take the address of a register variable.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  9. #69
    Registered User
    Join Date
    May 2010
    Posts
    4,632
    No fragmentation is going to come about because of optional features.
    No? Then why are the "safe" functions optional? Why was the VLA moved from mandatory to optional? It couldn't be because of disagreements between different compiler makers right?

    Jim

  10. #70
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by jimblumberg View Post
    No? Then why are the "safe" functions optional? Why was the VLA moved from mandatory to optional? It couldn't be because of disagreements between different compiler makers right?
    I'm afraid to even ask what's your opinion on implementation-defined behaviour.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  11. #71
    Registered User
    Join Date
    May 2010
    Posts
    4,632
    I'm afraid to even ask what's your opinion on implementation-defined behaviour.
    Why?

    IMO implementation defined behavior should be avoided whenever possible. This doesn't necessarily mean never use an implementation defined feature as long as you know you're using a feature that may not be available with some other compiler and you document the fact that you're using that feature and why.

    Jim

  12. #72
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Case closed.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  13. #73
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Quote Originally Posted by jimblumberg View Post
    Why?

    IMO implementation defined behavior should be avoided whenever possible. This doesn't necessarily mean never use an implementation defined feature as long as you know you're using a feature that may not be available with some other compiler and you document the fact that you're using that feature and why.

    Jim
    I think we're getting terms mixed up here, it sounds like you're referring to compiler-specific features, like GNU extensions etc. Every compiler has implementation-defined behavior -- every compiler team has to choose what to make the compiler do when it runs into undefined behavior, like fflush(stdin), right-shifting signed ints, etc.

  14. #74
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Quote Originally Posted by jimblumberg View Post
    No? Then why are the "safe" functions optional? Why was the VLA moved from mandatory to optional? It couldn't be because of disagreements between different compiler makers right?

    Jim
    I agree here, by making things optional it basically places them in the same class as compiler-specific features and therefore no one who wants to write code portably will ever use them.

    Also, VLAs are mandatory in Fortran...wonder why the C people didn't want to make it mandatory as well.

  15. #75
    Registered User
    Join Date
    May 2010
    Posts
    4,632
    VLAs are mandatory in Fortran...wonder why the C people didn't want to make it mandatory as well.
    VLA support was/is mandatory in C99 however it was moved to optional in C11 probably because one of the compilers refused to support the "feature" which is also why I believe the "safe interface" is optional instead of mandatory.

    Jim

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Google Written Test question...!
    By manasij7479 in forum General Discussions
    Replies: 15
    Last Post: 10-25-2013, 06:00 PM
  2. Reading Google Sketchup (.skp) or Google Earth (.kmz)
    By Zeeshan in forum Game Programming
    Replies: 9
    Last Post: 03-07-2008, 05:25 PM
  3. Test at http://www.artlogic.com/careers/test.html
    By zMan in forum C++ Programming
    Replies: 6
    Last Post: 07-15-2003, 06:11 AM

Tags for this Thread