Title: Clang  
Author: Aaron Ballman Oct 22, 2014
Last Changed by: David Svoboda Oct 14, 2024
Tiny Link: (useful for email) https://wiki.sei.cmu.edu/confluence/x/9Xo-BQ
Export As: Word · PDF  
Incoming Links
SEI CERT C++ Coding Standard (30)
    Page: ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler
    Page: OOP53-CPP. Write constructor member initializers in the canonical order
    Page: DCL52-CPP. Never qualify a reference type with const or volatile
    Page: DCL51-CPP. Do not declare or define a reserved identifier
    Page: EXP59-CPP. Use offsetof() on valid types and members
    Page: DCL59-CPP. Do not define an unnamed namespace in a header file
    Page: EXP52-CPP. Do not rely on side effects in unevaluated operands
    Page: MSC53-CPP. Do not return from a function declared [[noreturn]]
    Page: ERR60-CPP. Exception objects must be nothrow copy constructible
    Page: EXP53-CPP. Do not read uninitialized memory
    Page: OOP50-CPP. Do not invoke virtual functions from constructors or destructors
    Page: ERR52-CPP. Do not use setjmp() or longjmp()
    Page: ERR58-CPP. Handle all exceptions thrown before main() begins executing
    Page: MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers
    Page: EXP50-CPP. Do not depend on the order of evaluation for side effects
    Page: EXP51-CPP. Do not delete an array through a pointer of the incorrect type
    Page: ERR61-CPP. Catch exceptions by lvalue reference
    Page: ERR62-CPP. Detect errors when converting a string to a number
    Page: EXP58-CPP. Pass an object of the correct type to va_start
    Page: MEM51-CPP. Properly deallocate dynamically allocated resources
    Page: OOP52-CPP. Do not delete a polymorphic object without a virtual destructor
    Page: MEM50-CPP. Do not access freed memory
    Page: MSC52-CPP. Value-returning functions must return a value from all exit paths
    Page: EXP57-CPP. Do not cast or delete pointers to incomplete classes
    Page: EXP54-CPP. Do not access an object outside of its lifetime
    Page: DCL53-CPP. Do not write syntactically ambiguous declarations
    Page: DCL50-CPP. Do not define a C-style variadic function
    Page: DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
    Page: EXP60-CPP. Do not pass a nonstandard-layout type object across execution boundaries
    Page: ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived
SEI CERT C Coding Standard (1)
    Page: EXP47-C. Do not call va_arg with an argument of the incorrect type
Hierarchy
Parent Page
    Page: CC. Analyzers
Labels
Global Labels (1)
Outgoing Links
External Links (31)
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
SEI CERT C++ Coding Standard (1)     Page: Clang_V